├── .github ├── FUNDING.yml └── workflows │ └── ci.yml ├── .gitignore ├── .gitmodules ├── COPYING ├── DefaultSettings.php ├── Makefile ├── README.md ├── RELEASE-NOTES.md ├── SemanticCite.php ├── codecov.yml ├── composer.json ├── docs ├── 00-configuration.md ├── 01-introduction.md ├── 02-property-mapping.md ├── 03-template-mapping.md ├── 04-scite.md ├── 05-referencelist.md ├── 06-references.md ├── 07-metadata-search.md ├── 08-faq.md ├── 09-notes.md ├── 10-template-examples.md ├── ISSUE_TEMPLATE.md ├── PULL_REQUEST_TEMPLATE.md ├── README.md ├── tmpl-sci-apa-citation-formatter-journal.mediawiki ├── tmpl-sci-apa-citation-formatter-web-publication.mediawiki ├── tmpl-sci-apa-citation-formatter.mediawiki ├── tmpl-sci-mla-citation-formatter-book.mediawiki ├── tmpl-sci-mla-citation-formatter-web-publication.mediawiki ├── tmpl-sci-mla-citation-formatter.mediawiki └── tmpl-sci-viaf-citation-formatter.mediawiki ├── extension.json ├── i18n ├── SemanticCite.alias.php ├── SemanticCite.magic.php ├── ar.json ├── ast.json ├── be-tarask.json ├── bn.json ├── br.json ├── ca.json ├── ce.json ├── cs.json ├── cy.json ├── da.json ├── de-formal.json ├── de.json ├── diq.json ├── el.json ├── en.json ├── es.json ├── eu.json ├── fa.json ├── fi.json ├── fr.json ├── gl.json ├── he.json ├── hi.json ├── hu.json ├── ia.json ├── id.json ├── ilo.json ├── io.json ├── it.json ├── ja.json ├── jv.json ├── ko.json ├── krc.json ├── ksh.json ├── lb.json ├── li.json ├── lt.json ├── mai.json ├── mg.json ├── mk.json ├── mr.json ├── nb.json ├── nl.json ├── oc.json ├── olo.json ├── pam.json ├── pl.json ├── ps.json ├── pt-br.json ├── pt.json ├── qqq.json ├── roa-tara.json ├── ru.json ├── sd.json ├── sl.json ├── sr-ec.json ├── sr-el.json ├── sv.json ├── tl.json ├── tr.json ├── uk.json ├── vi.json ├── zh-hans.json └── zh-hant.json ├── phpunit.xml.dist ├── res ├── scite.page.creator.js ├── scite.styles.css ├── scite.text.selector.js └── scite.tooltip.js ├── src ├── Bibtex │ ├── BibtexAuthorListParser.php │ ├── BibtexParser.php │ └── BibtexProcessor.php ├── CacheKeyProvider.php ├── CachedReferenceListOutputRenderer.php ├── CitationReferencePositionJournal.php ├── CitationResourceMatchFinder.php ├── CitationTextChangeUpdateJobDispatcher.php ├── CitationTextTemplateRenderer.php ├── DataValues │ ├── CitationReferenceValue.php │ ├── ResourceIdentifierFactory.php │ ├── ResourceIdentifierStringValue.php │ └── ResourceIdentifierStringValueParser.php ├── FilteredMetadata │ ├── BibliographicFilteredRecord.php │ ├── CrossRefResponseParser.php │ ├── HttpResponseParserFactory.php │ ├── NcbiPubMedResponseParser.php │ ├── OLResponseParser.php │ ├── OclcResponseParser.php │ └── ViafResponseParser.php ├── HookRegistry.php ├── MediaWikiContextInteractor.php ├── MediaWikiNsContentMapper.php ├── Options.php ├── ParserFunctionFactory.php ├── PreTextFormatter.php ├── PropertyRegistry.php ├── ReferenceBacklinksLookup.php ├── ReferenceListFactory.php ├── ReferenceListOutputRenderer.php ├── ReferenceListParserFunction.php ├── SciteParserFunction.php └── Specials │ ├── CitableMetadata │ ├── HtmlResponseParserRenderer.php │ └── PageBuilder.php │ └── SpecialFindCitableMetadata.php └── tests ├── bootstrap.php ├── phpunit ├── Integration │ ├── FilteredMetadata │ │ ├── Fixtures │ │ │ ├── 10.1007-2F978-0-387-76978-3.expected │ │ │ ├── 10.1007-2F978-0-387-76978-3.json │ │ │ ├── OCLC41266045.expected │ │ │ ├── OCLC41266045.json │ │ │ ├── OCLC74330434.expected │ │ │ ├── OCLC74330434.json │ │ │ ├── OL2206423M.expected │ │ │ ├── OL2206423M.json │ │ │ ├── PMC2776723.expected │ │ │ ├── PMC2776723.json │ │ │ ├── PMC2776723.xml │ │ │ ├── VIAF253484422.expected │ │ │ └── VIAF253484422.xml │ │ └── SciteTransclusionForCannedResponseParserTest.php │ └── JSONScript │ │ ├── SemanticCiteJsonTestCaseScriptRunnerTest.php │ │ └── TestCases │ │ ├── scite-01-simple-intext-reference.json │ │ ├── scite-02-multiple-intext-references.json │ │ ├── scite-03-use-property-definition.json │ │ ├── scite-04-use-template-definition.json │ │ ├── scite-05-different-referencelist-position.json │ │ ├── scite-06-different-caption-format.json │ │ ├── scite-07-referencelist-custom-options.json │ │ ├── scite-08-ul-referencelist-with-key.json │ │ ├── scite-09-nonbound-referencelist.json │ │ ├── scite-10-reference-with-sortkey.json │ │ ├── scite-11-noreferencelist-magic-word.json │ │ ├── scite-12-fixed-property-annotation.json │ │ ├── scite-13-bibtex-record-mapping.json │ │ └── scite-14-fixed-property-query.json ├── Structure │ └── I18nJsonFileIntegrityTest.php └── Unit │ ├── Bibtex │ ├── BibtexAuthorListParserTest.php │ ├── BibtexParserTest.php │ └── BibtexProcessorTest.php │ ├── CacheKeyProviderTest.php │ ├── CachedReferenceListOutputRendererTest.php │ ├── CitationReferencePositionJournalTest.php │ ├── CitationResourceMatchFinderTest.php │ ├── CitationTextChangeUpdateJobDispatcherTest.php │ ├── CitationTextTemplateRendererTest.php │ ├── DataValues │ ├── CitationReferenceValueTest.php │ ├── ResourceIdentifierFactoryTest.php │ ├── ResourceIdentifierStringValueParserTest.php │ └── ResourceIdentifierStringValueTest.php │ ├── FilteredMetadata │ ├── BibliographicFilteredRecordTest.php │ ├── CrossRefResponseParserTest.php │ ├── HttpResponseParserFactoryTest.php │ ├── NcbiPubMedResponseParserTest.php │ ├── OLResponseParserTest.php │ ├── OclcResponseParserTest.php │ └── ViafResponseParserTest.php │ ├── HookRegistryTest.php │ ├── MediaWikiContextInteractorTest.php │ ├── MediaWikiNsContentMapperTest.php │ ├── OptionsTest.php │ ├── ParserFunctionFactoryTest.php │ ├── PreTextFormatterTest.php │ ├── PropertyRegistryTest.php │ ├── ReferenceBacklinksLookupTest.php │ ├── ReferenceListFactoryTest.php │ ├── ReferenceListOutputRendererTest.php │ ├── ReferenceListParserFunctionTest.php │ ├── SciteParserFunctionTest.php │ └── Specials │ ├── CitableMetadata │ ├── HtmlResponseParserRendererTest.php │ └── PageBuilderTest.php │ └── SpecialFindCitableMetadataTest.php └── travis ├── install-mediawiki.sh ├── install-semantic-cite.sh ├── run-tests.sh └── upload-coverage-report.sh /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: [ master ] 8 | workflow_dispatch: 9 | 10 | jobs: 11 | 12 | test: 13 | 14 | runs-on: ubuntu-20.04 15 | continue-on-error: ${{ matrix.experimental }} 16 | 17 | strategy: 18 | matrix: 19 | include: 20 | - mediawiki_version: '1.39' 21 | smw_version: dev-master 22 | php_version: 8.1 23 | database_type: mysql 24 | database_image: "mariadb:11.2" 25 | coverage: false 26 | experimental: false 27 | - mediawiki_version: '1.39' 28 | smw_version: dev-master 29 | php_version: 8.1 30 | database_type: mysql 31 | database_image: "mariadb:11.2" 32 | coverage: false 33 | experimental: false 34 | - mediawiki_version: '1.40' 35 | smw_version: dev-master 36 | php_version: 8.1 37 | database_type: mysql 38 | database_image: "mariadb:11.2" 39 | coverage: true 40 | experimental: false 41 | - mediawiki_version: '1.41' 42 | smw_version: dev-master 43 | php_version: 8.1 44 | database_type: mysql 45 | database_image: "mariadb:11.2" 46 | coverage: false 47 | experimental: false 48 | - mediawiki_version: '1.42' 49 | smw_version: dev-master 50 | php_version: 8.1 51 | database_type: mysql 52 | database_image: "mariadb:11.2" 53 | coverage: false 54 | experimental: false 55 | - mediawiki_version: '1.43' 56 | smw_version: dev-master 57 | php_version: 8.1 58 | database_type: mysql 59 | database_image: "mariadb:11.2" 60 | coverage: false 61 | experimental: false 62 | 63 | env: 64 | MW_VERSION: ${{ matrix.mediawiki_version }} 65 | SMW_VERSION: ${{ matrix.smw_version }} 66 | PHP_VERSION: ${{ matrix.php_version }} 67 | DB_TYPE: ${{ matrix.database_type }} 68 | DB_IMAGE: ${{ matrix.database_image }} 69 | 70 | 71 | steps: 72 | - name: Checkout 73 | uses: actions/checkout@v4 74 | with: 75 | submodules: recursive 76 | 77 | - name: Update submodules 78 | run: git submodule update --init --remote 79 | 80 | - name: Run tests 81 | run: make ci 82 | if: matrix.coverage == false 83 | 84 | - name: Run tests with coverage 85 | run: make ci-coverage 86 | if: matrix.coverage == true 87 | 88 | - name: Upload code coverage 89 | uses: codecov/codecov-action@v4 90 | with: 91 | token: ${{ secrets.CODECOV_TOKEN }} 92 | files: coverage/php/coverage.xml 93 | if: matrix.coverage == true 94 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *.kate-swp 3 | 4 | vendor/ 5 | extensions/ 6 | 7 | composer.phar 8 | composer.lock 9 | 10 | !.* 11 | .idea/ 12 | .phpunit.result.cache 13 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "build"] 2 | path = build 3 | url = https://github.com/gesinn-it-pub/docker-compose-ci.git 4 | -------------------------------------------------------------------------------- /DefaultSettings.php: -------------------------------------------------------------------------------- 1 | =7.4", 30 | "composer/installers": ">=1.0.1", 31 | "onoi/cache": "~1.2", 32 | "mediawiki/http-request": "~2.0|~1.1", 33 | "onoi/remi":"~0.2" 34 | }, 35 | "autoload": { 36 | "files" : [ 37 | "SemanticCite.php" 38 | ], 39 | "psr-4": { 40 | "SCI\\": "src/" 41 | } 42 | }, 43 | "config": { 44 | "process-timeout": 0, 45 | "allow-plugins": { 46 | "composer/installers": true 47 | } 48 | }, 49 | "scripts":{ 50 | "test-coverage": [ 51 | "@phpunit-coverage" 52 | ], 53 | "phpunit": "php ../../tests/phpunit/phpunit.php -c phpunit.xml.dist", 54 | "phpunit-coverage": "php ${MW_INSTALL_PATH:-../..}/tests/phpunit/phpunit.php -c phpunit.xml.dist --testdox --coverage-text --coverage-html coverage/php --coverage-clover coverage/php/coverage.xml", 55 | "post-test-coverage": [ 56 | "sed -i 's|/var/www/html/extensions/SemanticCite/||g' coverage/php/coverage.xml", 57 | "find coverage/php -type f -name '*.html' -exec sed -i 's|/var/www/html/extensions/||g' {} +" 58 | ], 59 | "test": "php ../../tests/phpunit/phpunit.php -c phpunit.xml.dist" 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /docs/00-configuration.md: -------------------------------------------------------------------------------- 1 | ## General settings 2 | 3 | - `$GLOBALS['scigCitationReferenceCaptionFormat']` specifies the display format for a citation 4 | reference to be displayed either as a number (`SCI_CITEREF_NUM`) or by its key (`SCI_CITEREF_KEY`) 5 | - `$GLOBALS['scigShowTooltipForCitationReference']` maintains an array for which format the tooltip 6 | can be shown (`false` or an empty array will disable the tooltip) 7 | - `$GLOBALS['scigTooltipRequestCacheTTLInSeconds']` to allow to store tooltip query results from 8 | the backend to the local browser cache in order to avoid repeated requests for already queried 9 | references. Setting this parameter to false will disable the cache. Items that are cached will show 10 | a `[+]` as indicator. 11 | - `$GLOBALS['scigReferenceListCacheType']` to disable caching for the reference list, use setting 12 | [`CACHE_NONE`][mw-cachetype] otherwise the cache is being renewed an each new revision or when 13 | the page is purged 14 | - `$GLOBALS['scigEnabledStrictParserValidation']` whether a strict validation of input data for 15 | the `{{#scite:}}` parser should be carried out or not 16 | - `$GLOBALS['scigEnabledCitationTextChangeUpdateJob']` whether an update job should be dispatched 17 | for changed citation text entities or not 18 | 19 | ### Reference list 20 | 21 | - `$GLOBALS['scigNumberOfReferenceListColumns']` specifies the number of columns to be shown 22 | on the reference list 23 | - `$GLOBALS['scigReferenceListType']` either formatted using `ul` or `ol` 24 | - `$GLOBALS['scigBrowseLinkToCitationResource']` whether to show a browse link to the citation 25 | resource or not 26 | 27 | ### Metadata search 28 | 29 | - `$GLOBALS['scigMetadataResponseCacheType']` specifies the type of the cache expected to be used 30 | - `$GLOBALS['scigMetadataResponseCacheLifetime']` specifies the time duration responses are cached from a 31 | metadata service provider 32 | - `$GLOBALS['wgGroupPermissions']['user']['sci-metasearch'] = true;` to restricted access to users 33 | 34 | ## Configuration 35 | 36 | - [Property mapping](https://github.com/SemanticMediaWiki/SemanticCite/blob/master/docs/02-property-mapping.md) 37 | - [Template mapping](https://github.com/SemanticMediaWiki/SemanticCite/blob/master/docs/03-template-mapping.md) 38 | 39 | [mw-cachetype]: http://www.mediawiki.org/wiki/Manual:$wgMainCacheType 40 | -------------------------------------------------------------------------------- /docs/01-introduction.md: -------------------------------------------------------------------------------- 1 | # Getting started 2 | 3 | - Define property and text formatting rules 4 | - Create a resource with `#scite` 5 | - Create an in-text citation using `[[Citation reference::...]]` (= `[[CiteRef::...]]`) 6 | 7 | ## Create a citation resource 8 | 9 | A simple citation resource can be created using `#scite` and the 10 | `|citation text=...` parameter without the need for any extra customization (or 11 | property mapping). 12 | 13 | ``` 14 | {{#scite:Einstein 1956 15 | |type=book 16 | |citation text=Einstein, Albert. Investigations on the Theory of the Brownian Movement. Courier Corporation, 1956. 17 | }} 18 | ``` 19 | 20 | ## Create an in-text reference 21 | 22 | To create a in-text reference, a user only is required to add an annotation (e.g. `[[CiteRef::Einstein 1956]]`) 23 | to the selected text position and after the document is saved, a reference link 24 | together with a reference list will appear on the page that includes the 25 | `Citation reference` annotation. 26 | 27 | ## What about structured data? 28 | 29 | For more information about how to map local [properties](02-property-mapping.md) and 30 | how to use other features of the `#scite` parser, have a look at this [help](04-scite.md) 31 | document. 32 | 33 | ## What about citation styles? 34 | 35 | `#scite` allows to support different citation styles making use of the existing 36 | [template](03-template-mapping.md) infrastructure to generate a customized text output. 37 | -------------------------------------------------------------------------------- /docs/02-property-mapping.md: -------------------------------------------------------------------------------- 1 | ## Property mapping 2 | 3 | Not all resource identifiers in `{{#scite:}}` (e.g `|pages=...` etc. ) are relevant for semantic recognition 4 | therefore `MediaWiki:Sci-property-definition` describes the mapping between identifiers 5 | and properties specific to a wiki (no mapping, means no annotations). 6 | 7 |
8 | type|Has reference type 9 | author|Has author 10 | publisher|Has publisher 11 |12 | 13 | ``` 14 | {{#scite:Foo 15 | ... 16 | |type=Faz 17 | |author=Bar 18 | |publisher=Foobar 19 | |pages=123 20 | |volume=10 21 | ... 22 | }} 23 | ``` 24 | For example, with the mapping above the following annotations `[[Has reference type::Faz]]`, `[[Has author::Bar]]`, and 25 | `[[Has publisher::Foobar]]` will be made available. The `pages` and `volume` identifier are not mapped to a 26 | property therefore are not available as semantic annotation. 27 | 28 | ## Predefined properties 29 | 30 | Semantic Cite provides several predefined properties including: 31 | 32 | - `OLID` to identify OpenLibrary records 33 | - `VIAF` to describe a Virtual International Authority File 34 | - `OCLC` as an identifier for a WorldCat catalog entity 35 | - `PMID` and `PMCID` to represent a PubMed identifier 36 | - `DOI` as Digital Object Identifier 37 | - `Citation resource`, `Citation reference`, `Citation key`, and `Citation text` 38 | 39 | ### External vocabulary assignment 40 | 41 | If for some of the predefined properties an external RDF [vocabulary assignment][smw-import] is required then 42 | simple statements (e.g. `[[Imported from::bibo:doi]]`) can be added to a selected property. 43 | 44 | `MediaWiki:Smw_import_bibo` to specify: 45 | 46 | ``` 47 | http://purl.org/ontology/bibo/|[http://bibliontology.com/ Bibliographic Ontology] 48 | title|Type:Text 49 | doi|Type:Text 50 | pmid|Type:Text 51 | ``` 52 | 53 | [smw-import]: https://semantic-mediawiki.org/wiki/Help:Import_vocabulary -------------------------------------------------------------------------------- /docs/03-template-mapping.md: -------------------------------------------------------------------------------- 1 | ## Template mapping and citation text rendering 2 | 3 | The generation of a citation text is determined by rules and include: 4 | 5 | ### Type assignment 6 | 7 | `MediaWiki:Sci-template-definition` describes and maps citation resource types to specific 8 | templates with a template containing the rules of how identifiers are expected to be formatted 9 | and positioned to generate a citation text. 10 | 11 |
12 | online|SciteOnlineResourceFormatter 13 | journal|SciteAPAJournalResourceFormatter 14 | book|SciteMPABookResourceFormatter 15 | someothertype|SciteFormatterForAnotherType 16 |17 | 18 | ### Template parameter 19 | 20 | A citation resource can override the template type assignment by invoking 21 | the `|template=...` parameter directly. 22 | 23 | ``` 24 | {{#scite:Segon & Booth 2011 25 | |type=online 26 | ... 27 | |journal=Journal of Business Systems, Governance and Ethics 28 | |available=20 October 2014 29 | |template=SciteUseDifferentOnlineResourceFormatter 30 | }} 31 | ``` 32 | ### Citation text parameter 33 | 34 | Using the `|citation text=...` parameter allows to circumvent 35 | any template rendering by storing the input text "as-is". 36 | 37 | ``` 38 | {{#scite: 39 | |type=book 40 | |reference=Barone and Gianfranco, 1982 41 | |citation text=Barone, Antonio, and Gianfranco Paterno. Physics and applications of the Josephson effect. Vol. 1. New York: Wiley, 1982. 42 | }} 43 | ``` 44 | 45 | The mapping is made flexible enough to support citation styles or types that 46 | do not fit the standard guidelines or use citations for more than just 47 | bibliographic references. 48 | -------------------------------------------------------------------------------- /docs/05-referencelist.md: -------------------------------------------------------------------------------- 1 | ## #referencelist parser 2 | 3 | In general a reference list is auto-maintained (except for the NS_FILE namespace) 4 | and added to the bottom of a page if a citation reference is being detected. In 5 | case a user whishes to place a list differently, `#referencelist` can be used to 6 | mark the position as to where the list is expected to appear. 7 | 8 | Citation resources that use the same key are displayed on the reference list and 9 | linked to each other if `$GLOBALS['scigBrowseLinkToCitationResource']` is enabled. 10 | For example, ` ↑ | ↑` is indicating that two resources use the same citation 11 | key with `↑` linking to each of the resources. 12 | 13 | ### Options 14 | 15 | The `#referencelist` parser does accept several options that allows to modify the output 16 | of an individual list. 17 | 18 | ``` 19 | {{#referencelist: 20 | |listtype=ul 21 | |browselinks=false // ("true", "1", "on" and "yes") or ( "false", "0", "off", and "no") 22 | |columns=3 23 | |header=Notes 24 | }} 25 | ``` 26 | ### Table of contents 27 | 28 | To display an entry in the table of contents section (which by default is hidden) 29 | the parameter `|toc=yes` is required. 30 | 31 | ``` 32 | {{#referencelist: 33 | |listtype=ol 34 | |browselinks=no 35 | |columns=1 36 | |toc=yes 37 | }} 38 | ``` 39 | ### Unbound reference list 40 | 41 | To generate an unbound reference list (for notes or additional literature references) 42 | using the `|references=` parameter is required because such list uses the information 43 | provided by this parameter and is not bound to any of the `Citation reference` annotations 44 | made on the source page. 45 | 46 | ``` 47 | {{#referencelist: 48 | |listtype=ul 49 | |browselinks=yes 50 | |columns=1 51 | |header=Notes 52 | |references=PMC2483364;Einstein et al. 1935|+sep=; 53 | }} 54 | ``` 55 | 56 | If an unbound list is added an additional `#referencelist` is required to position the 57 | standard list in context of the unbound list. 58 | 59 | ## Hide the reference list 60 | 61 | The magic word `__NOREFERENCELIST__` can be used to suppress a reference list from showing 62 | on an individual page. 63 | -------------------------------------------------------------------------------- /docs/06-references.md: -------------------------------------------------------------------------------- 1 | ## In-text citation 2 | 3 | A resource can easily be cited using the `Citation reference` (or its alias `CiteRef`) 4 | property. For example, a simple in-text annotation is created by `Lorem ipsum [[CiteRef::Byrne 2008]] ...` to appear as 5 | `Lorem ipsum``[1]`` ...`. 6 | 7 | ### References and citation keys 8 | 9 | - The parentheses style of a citation reference can be modified using the `scite.styles.css` 10 | style sheet. 11 | - If a page number reference is required then one can use the longform syntax 12 | `[[CiteRef::Foo and Bar, 1970|Foo and Bar, 1970:42]]` for `SCI_CITEREF_KEY` to highlight 13 | the page 42 while the shortform `[[CiteRef::Foo and Bar, 1970|:42]]` is suggested for 14 | `SCI_CITEREF_NUM` in order to appear as `...``[1]:42` 15 | - To avoid cluttering a source text with citation resources it is suggested to divide 16 | text and resource definitions by storing `{{#scite:}}` resources on a related a subpage 17 | and use the `[[CiteRef:: ...]]` annotation on the source page for inclusion. 18 | 19 | ## Backlinks (Where is the resource used?) 20 | 21 | A citation resource displayed by `Special:Browse` will not only list all available 22 | structured data but also indicate subjects that have a reference to the key annotated 23 | by the `Citation reference` property. -------------------------------------------------------------------------------- /docs/07-metadata-search.md: -------------------------------------------------------------------------------- 1 | # Metadata search 2 | 3 |  4 | 5 | `Special:FindCitableMetadata` provides access to selected metadata provider to map 6 | external data to the internal `#scite` format. Supported providers are: 7 | 8 | - PubMed (PMID, PMCID) 9 | - CrossRef (DOI) 10 | - OpenLibrary 11 | - OCLC (WorldCat) 12 | - VIAF 13 | 14 | This [video](https://www.youtube.com/watch?v=d2dNFTUUUjs) shows the usage variety 15 | of the metadata search. 16 | 17 | ## Direct search 18 | 19 | A link `Special:FindCitableMetadata` + `/doi/10.1126/science.1152662` or `/pubmed/18487186` 20 | with a type and ID parameter allows to execute a search immediately. 21 | 22 | ## Search 23 | 24 | After a successful search, a generated `#scite` form is provided which can either 25 | be copied manually (see the `Search text` button) or with the help of the auto creation 26 | feature (use the `Create` button) can add an individual article directly from the 27 | special page. 28 | 29 | The data received from a service provider are compacted to fit the `#scite` format but the 30 | parameter `&format=raw` can be used to display the unprocessed data retrieved from a provider. 31 | 32 | If a citation resource already exists for one of the selected identifiers then a link 33 | to this resource is provided. 34 | 35 | ### Citation resource auto creation 36 | 37 | `Special:FindCitableMetadata` allows to create a dedicated article containing the mapped 38 | `#scite` with content from the search and a page title that is generated from: 39 | 40 | - `CR:` (is the fixed identifier indicating a citation resource article) 41 | - UID prefix ( `PMC`, `PMID`, `OCLC` etc.) and 42 | - UID itself 43 | 44 | For example, a search for `18487186` on the PubMed database is expected to create the article 45 | `CR:PMID:18487186` containing the filtered `#scite` content matched during the 46 | search if the user was to engage in a `Create` action. 47 | 48 | ### CR: namespace 49 | 50 | It is possible to customize `CR:` and be recognized as [separate namespace][mw-cns] so 51 | that it is distinguishable from other content. 52 | 53 | ```php 54 | // Define custom CR namespace 55 | define( "NS_CR", 3000 ); 56 | define( "NS_CR_TALK", 3001 ); 57 | $GLOBALS['wgExtraNamespaces'][NS_CR] = "CR"; 58 | $GLOBALS['wgExtraNamespaces'][NS_CR_TALK] = "CR_talk"; 59 | 60 | // Enable annotation for the CR namespace when used as custom NS 61 | $GLOBALS['smwgNamespacesWithSemanticLinks'][NS_CR] = true; 62 | ``` 63 | 64 | If this step is done after resources have already been created `rebuildData.php` needs to be 65 | executed to ensure that annotations are reconnected to the newly assigned namespace number. 66 | 67 | ## Related settings 68 | 69 | To avoid repeated data downloads from a service provider, requests are cached that contain the 70 | same signature with an expiry specified by `$GLOBALS['scigMetadataResponseCacheLifetime']`. 71 | 72 | By default, the access to the search is restricted to users with the `sci-metasearch` right. 73 | 74 | [mw-cns]: https://www.mediawiki.org/wiki/Manual:Using_custom_namespaces 75 | -------------------------------------------------------------------------------- /docs/08-faq.md: -------------------------------------------------------------------------------- 1 | ## Questions 2 | 3 | > Can I store a `Citation resource` on a page different from where the actual reference is made? 4 | 5 | Yes. A `Citation resource` can be stored on any page and is accessible from any page 6 | through the `Citation key` declared by the resource. 7 | 8 | > Can I add the same reference multiple times to a (or different) text source? 9 | 10 | Yes. Using the same `[[CiteRef:: ...]]` reference at the position that needs citing 11 | is all that is required. 12 | 13 | > Is it possible to use a resource defined by `` (Cite) with #scite? 14 | 15 | No. Due to a different technical approach resources declared by `` can not be used 16 | by (or in) Semantic Cite. 17 | 18 | ## FAQ 19 | 20 | ### How to handle different authors 21 | 22 | There are various ways of making different authors available to the semantic search 23 | and as ordered output. 24 | 25 | For example using a parameter `authors` that is matched to a property `Has author` 26 | (to contain all authors in clear form) while an `author` parameter (not matched to any 27 | property) is used as identifier so that the template formatter can generate the expected 28 | ordered output from `{{{author|}}}` without having to apply a complex parsing process. 29 | 30 | ``` 31 | {{#scite:Watson and Crick, 1953 32 | ... 33 | |author=James D. Watson;Francis HC Crick|+sep=; 34 | |authors=Watson, James D., and Francis HC Crick 35 | ... 36 | }} 37 | ``` -------------------------------------------------------------------------------- /docs/09-notes.md: -------------------------------------------------------------------------------- 1 | # Technical notes 2 | 3 |  4 | 5 | ## Properties 6 | 7 | - Property `Citation key` is a string value that identifies a citation resource 8 | - Property `Citation reference` (or its alias `CiteRef`) is representing the citation key when used as in-text 9 | annotation and contains special rules for display and text placement 10 | - Property `Citation resource` describes an individual entity that is uniquely identified 11 | by a key. It represents the sum of all information collectively stored as subobject. 12 | - Property `Citation text` contains the citation output generated from a template or free text assignment 13 | - Pre-deployed properties are scheduled to create separate property tables that can be found under `smw_ftp_sci*` 14 | - Properties for external representation include `DOI`, `PMCID`, `PMID`, `VIAF`, 15 | `OCLC`, and `OLID` as a `ResourceIdentifierStringValue` (a string value that is transformed into an 16 | appropriate output URL representation when displayed) 17 | 18 | ## Citation reference 19 | 20 | The `CitationReferenceValue` object together with the `CitationReferencePositionJournal` are building 21 | the basis in counting and identifying the position of each `[[CiteRef::]]` annotation in a text source. 22 | 23 | ## #scite parser 24 | 25 | `#scite` parser is self-sustained and does not make use of any of the `Cite` provided functionality. 26 | 27 | ## #referencelist parser 28 | 29 | The `CachedReferenceListOutputRenderer` is responsible for caching the generated list that 30 | is retrieved from `ReferenceListOutputRenderer` together with an appropriate text position (which 31 | if the `{{#referencelist:}}` parser is used can be different from the default bottom position). 32 | 33 | `ReferenceListOutputRenderer` uses the position information from `CitationReferencePositionJournal` 34 | that was collected from each `Citation reference` annotation within a page and generatesa list of 35 | references matched with information from the `CitationResourceMatchFinder` (citation text etc.). 36 | 37 | `{{#referencelist:}}` adds a simple placeholder (this is required as all parser functions run before 38 | the `OutputPage` hooks) to mark the position of the list where it is expected to appear. This 39 | placeholder is later replaced by `CachedReferenceListOutputRenderer::addReferenceListToCorrectTextPosition`. 40 | 41 | ## Metadata search / provider 42 | 43 | Metadata selection and REST response parsing are provided by the `onoi/remi` library. -------------------------------------------------------------------------------- /docs/10-template-examples.md: -------------------------------------------------------------------------------- 1 | The listed examples are provided as starting point which may or may not be appropriate 2 | or complete in one or the other use case. Examples can contain conditionals therefore 3 | it is expected that a user has installed the [ParserFunctions][ext:pf] extension. 4 | 5 | - The naming of a template is of no real importance with the only restriction that 6 | type-template assignments and names should correlate with each other 7 | - Template parameter names correspond to the names used in the `#scite` parser 8 | function which are independent of property assignments (`MediaWiki:Sci-property-definition`) 9 | 10 | ## MediaWiki:Sci-template-definition 11 | 12 | `MediaWiki:Sci-template-definition` page may contain the following type-template 13 | assignments ([see also](03-template-mapping.md)). 14 | 15 | ``` 16 | article|Sci-mla-citation-formatter 17 | journal|Sci-mla-citation-formatter 18 | journal article|Sci-mla-citation-formatter 19 | inproceedings|Sci-mla-citation-formatter 20 | book|Sci-mla-citation-formatter 21 | personal|Sci-viaf-citation-formatter 22 | internet|Sci-mla-citation-formatter-web-publication 23 | research-article|Sci-mla-citation-formatter-web-publication 24 | ``` 25 | 26 | ### Examples 27 | 28 | - [Template:Sci-mla-citation-formatter](tmpl-sci-mla-citation-formatter.mediawiki) 29 | - [Template:Sci-mla-citation-formatter-book (incomplete)](tmpl-sci-mla-citation-formatter.mediawiki) 30 | - [Template:Sci-mla-citation-formatter-web-publication](tmpl-sci-mla-citation-formatter-web-publication.mediawiki) 31 | - [Template:Sci-apa-citation-formatter (incomplete)](tmpl-sci-apa-citation-formatter.mediawiki) 32 | - [Template:Sci-apa-citation-formatter-journal (incomplete)](tmpl-sci-apa-citation-formatter-journal.mediawiki) 33 | - [Template:Sci-apa-citation-formatter-web-publication (incomplete)](tmpl-sci-apa-citation-formatter-web-publication.mediawiki) 34 | - [Template:Sci-viaf-citation-formatter](tmpl-sci-viaf-citation-formatter.mediawiki) 35 | 36 | 37 | [ext:pf]: https://www.mediawiki.org/wiki/Extension:ParserFunctions 38 | -------------------------------------------------------------------------------- /docs/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### Setup and configuration 2 | 3 | - SMW version: 4 | - SCI version: 5 | - MW version: 6 | - DB (MySQL etc. and version): 7 | 8 | ### Issue 9 | 10 | Produces a [stack trace](https://www.semantic-mediawiki.org/wiki/Help:Identifying_bugs) and outputs: 11 | 12 | ``` 13 | ``` 14 | 15 | Steps to reproduce the observation (recommendation is to use the [sandbox](https://sandbox.semantic-mediawiki.org)): 16 | -------------------------------------------------------------------------------- /docs/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | This PR is made in reference to: # 2 | 3 | This PR addresses or contains: 4 | - ... 5 | - ... 6 | - ... 7 | 8 | This PR includes: 9 | - [ ] Tests (unit/integration) 10 | - [ ] CI build passed 11 | 12 | Fixes # 13 | -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | ## Configuration 2 | 3 | - [00 configuration](00-configuration.md) 4 | 5 | ## Manual 6 | 7 | - [01 introduction](01-introduction.md) 8 | - [02 property mapping](02-property-mapping.md) 9 | - [03 template mapping](03-template-mapping.md) 10 | - [04 #scite parser](04-scite.md) 11 | - [05 #referencelist parser](05-referencelist.md) 12 | - [06 references and in-text citation](06-references.md) 13 | - [07 metadata search](07-metadata-search.md) 14 | - [08 faq](08-faq.md) 15 | - [09 technical notes](09-notes.md) 16 | 17 | ## Examples 18 | 19 | - [10 template examples](10-template-examples.md) 20 | -------------------------------------------------------------------------------- /docs/tmpl-sci-apa-citation-formatter-journal.mediawiki: -------------------------------------------------------------------------------- 1 |
#scite
erforderlichen Format zuzuordnen."
8 | }
9 |
--------------------------------------------------------------------------------
/i18n/diq.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Kumkumuk",
5 | "Mirzali"
6 | ]
7 | },
8 | "sci-referencelist-header": "Çımeyi",
9 | "sci-property-alias-citation-key": "Kılitê istasyoni",
10 | "sci-property-alias-citation-reference": "Referansê istasyoni",
11 | "sci-property-alias-citation-text": "Metnê istasyoni",
12 | "sci-property-alias-citation-resource": "Çımey istasyoni",
13 | "findmetadatabyid": "Metadata bıvin",
14 | "sci-specials-header-results": "Listey neticeyan",
15 | "sci-specials-select-options": "Hereketan weçine",
16 | "sci-specials-no-results": "Qet neticey nêvineyay",
17 | "sci-metadata-search-form": "ID",
18 | "sci-metadata-search-action-highlight": "Metın weçine",
19 | "sci-metadata-search-action-create": "Vıraze",
20 | "sci-metadata-search-header-log": "Qeyd",
21 | "sci-metadata-search-header-result": "Netice",
22 | "sci-metadata-search-form-submit": "Cı geyre",
23 | "sci-metadata-search-select-label": "Babet:"
24 | }
25 |
--------------------------------------------------------------------------------
/i18n/el.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "NikosLikomitros",
5 | "Nikosgranturismogt",
6 | "Veronikialexopulos"
7 | ]
8 | },
9 | "sci-referencelist-header": "Παραπομπές",
10 | "sci-property-alias-citation-key": "Κλειδί παραπομπής",
11 | "sci-property-alias-citation-reference": "Αναφορά παραπομπής",
12 | "sci-specials-header-results": "Λίστα αποτελεσμάτων",
13 | "sci-specials-select-options": "Επιλογή επιλογών",
14 | "sci-specials-no-results": "Δεν υπάρχουν διαθέσιμα αποτελέσματα.",
15 | "sci-metadata-search-form": "Ανά αναγνωριστικό",
16 | "sci-metadata-search-action-highlight": "Επιλογή κειμένου",
17 | "sci-metadata-search-action-create": "Δημιουργία",
18 | "sci-metadata-search-header-log": "Μητρώο",
19 | "sci-metadata-search-header-result": "Αποτέλεσμα",
20 | "sci-metadata-search-form-submit": "Αναζήτηση",
21 | "sci-metadata-search-select-label": "Τύπος:",
22 | "smw-pa-property-predefined__sci_cite": "Η «$1» είναι προκαθορισμένη ιδιοκτησία παρωχημένη από την επέκταση [https://www.semantic-mediawiki.org/wiki/Extension:Semantic_Cite Semantic Cite], η οποία περιγράφει όλα τα στοιχεία μίας παραπομπής και είναι αποθηκευμένη ως υποαντικείμενο.",
23 | "smw-pa-property-predefined__sci_olid": "Η «$1» είναι προκαθορισμένη ιδιοκτησία παρωχημένη από την προέκταση [https://www.semantic-mediawiki.org/wiki/Extension:Semantic_Cite Semantic Cite], η οποία εξακριβώνει την ταυτότητα των αρχείων OpenLibrary."
24 | }
25 |
--------------------------------------------------------------------------------
/i18n/fa.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Alifakoor",
5 | "Alirezaaa",
6 | "Beginneruser",
7 | "Ebrahim",
8 | "Ebraminio",
9 | "Mahdy Saffar",
10 | "Ommmmid",
11 | "Reza1615"
12 | ]
13 | },
14 | "sci-referencelist-header": "صفحهها",
15 | "sci-scite-parser-no-reference": "#scite
منبعی را مشخص نکرد.",
16 | "sci-scite-parser-no-type": "#scite
نتوانست منبعی از نوع \"$1\" بیابد.",
17 | "sci-scite-parser-no-citation-text": "#scite
نتوانست یک متن یادکرد برای منبع \"$1\" بسازد، چرا که به نوع \"$2\" [[MediaWiki:Sci-template-definition|الگویی]] اختصاص داده نشده است.",
18 | "sci-datavalue-empty-reference": "منبع ذکر شده نمیتواند خالی باشد.",
19 | "sci-datavalue-invalid-id-value": "\"$1\" برای نوع $2 مقداری نامعتبر است.",
20 | "sci-property-alias-citation-key": "کلید مدرک",
21 | "sci-property-alias-citation-reference": "منبع ارجاع",
22 | "sci-property-alias-citation-text": "متن ارجاع",
23 | "sci-property-alias-citation-resource": "منبع مدرک",
24 | "findmetadatabyid": "جستجوی فراداده",
25 | "findcitablemetadata": "جستجوی فرادادهٔ قابل ارجاع",
26 | "right-sci-metadatasearch": "دسترسی جستجوی فراداده",
27 | "action-sci-metadatasearch": "جستجوی فرادادهای یادکرد معناشناختی",
28 | "sci-specials-header-results": "فهرست نتایج",
29 | "sci-specials-select-options": "انتخاب گزینهها",
30 | "sci-specials-no-results": "هیچ نتیجهای یافت نشد.",
31 | "listcitationreferencebacklinks": "فهرست پیونددهندههای منبع مدرک",
32 | "sci-metadata-search-form": "با شناسه",
33 | "sci-metadata-search-action-highlight": "انتخاب متن",
34 | "sci-metadata-search-action-create": "ایجاد",
35 | "sci-metadata-search-header-log": "سیاهه",
36 | "sci-metadata-search-header-result": "نتیجه",
37 | "sci-metadata-search-form-submit": "جستجو کن",
38 | "sci-metadata-search-select-label": "نوع:",
39 | "sci-metadata-search-read-only": "پایگاهداده فقط در حالت خواندن در دسترس است و مانع از ساخت خودکار صفحه میشود.",
40 | "sci-metadata-search-has-match": "شناسه با منابعی که دارای همان شناسه و شامل $1 هستند مطابقت پیدا کرده است.",
41 | "sci-metadata-search-cached": "پاسخ جستجو از حافظۀ نهان واکشی شد.",
42 | "sci-metadata-search-intro-ol": "[[Property:OLID|OLID]] شابک جهت تطابق با یک رکورد OpenLibrary",
43 | "onoi-remi-request-error": "درخواست اچتیتیپی/رست، \"$1\" را برای \"$2\" بازگرداند.",
44 | "onoi-remi-response-empty": "پاسخی خالی برای \"$1\" بازگشت.",
45 | "onoi-remi-parser-no-id-match": "پارسر نتوانست $1 را مطابقت دهد"
46 | }
47 |
--------------------------------------------------------------------------------
/i18n/fi.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "01miki10",
5 | "Pyscowicz",
6 | "Samoasambia"
7 | ]
8 | },
9 | "sci-referencelist-header": "Viitteet",
10 | "sci-datavalue-invalid-id-value": "\"$1\" on virheellinen arvo tyypille $2.",
11 | "sci-property-alias-citation-text": "Lainausteksti",
12 | "findmetadatabyid": "Etsi metatiedot",
13 | "sci-specials-header-results": "Luettelo tuloksista",
14 | "sci-specials-select-options": "Valitse vaihtoehto",
15 | "sci-specials-no-results": "Ei tuloksia saatavilla.",
16 | "sci-metadata-search-action-highlight": "Valitse teksti",
17 | "sci-metadata-search-action-create": "Luo",
18 | "sci-metadata-search-header-log": "Loki",
19 | "sci-metadata-search-header-result": "Tulos",
20 | "sci-metadata-search-form-submit": "Hae",
21 | "sci-metadata-search-select-label": "Tyyppi:",
22 | "sci-metadata-search-read-only": "Tietokanta on vain luku -tilassa ja voi estää automaattisen sivujen luonnin."
23 | }
24 |
--------------------------------------------------------------------------------
/i18n/hi.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Sfic",
5 | "चक्रपाणी",
6 | "संजीव कुमार"
7 | ]
8 | },
9 | "sci-desc": "[https://www.semantic-mediawiki.org सेमांटिक मीडियाविकि] की सहायता से उद्धरण संसाधनों का प्रबन्धन",
10 | "sci-referencelist-header": "संदर्भ",
11 | "sci-scite-parser-no-reference": "#scite
ने कोई सन्दर्भ घोषित नहीं किया।",
12 | "sci-scite-parser-no-type": "#scite
, $1 के लिए सन्दर्भ प्रकार निर्धारित करने में अक्षम है।",
13 | "sci-datavalue-empty-reference": "उद्धरण सन्दर्भ का खाली रखना अपेक्षित नहीं है।",
14 | "sci-datavalue-invalid-id-value": "$2 प्रकार हेतु \"$1\" एक अमान्य मान है।",
15 | "sci-property-alias-citation-key": "उद्धरण चाबी",
16 | "sci-property-alias-citation-reference": "उद्धरण संदर्भ",
17 | "sci-property-alias-citation-text": "उद्धरण टेक्स्ट",
18 | "sci-property-alias-citation-resource": "उद्धरण स्रोत",
19 | "findmetadatabyid": "मेटाडाटा खोजें",
20 | "findcitablemetadata": "उद्धरण योग्य मेटाडेटा खोजें",
21 | "right-sci-metadatasearch": "मेटाडेटा खोज एक्सेस",
22 | "action-sci-metadatasearch": "सेमांटिक साइट मॅटा-डाटा खोज",
23 | "sci-specials-header-results": "परिणामों की सूची",
24 | "sci-specials-select-options": "विकल्प चुनें",
25 | "sci-specials-no-results": "कोई परिणाम उपलब्ध नहीं।",
26 | "listcitationreferencebacklinks": "उद्धरण संदर्भ बैकलिंक सूची",
27 | "sci-metadata-search-form": "आईडी अनुसार",
28 | "sci-metadata-search-action-highlight": "टेक्स्ट चुनें",
29 | "sci-metadata-search-action-create": "बनाएं",
30 | "sci-metadata-search-header-log": "लॉग",
31 | "sci-metadata-search-header-result": "परिणाम",
32 | "sci-metadata-search-form-submit": "खोजें",
33 | "sci-metadata-search-select-label": "प्रकार:",
34 | "sci-metadata-search-read-only": "डेटाबेस केवल पठन-योग्य विधा में है और स्वतः-पृष्ठ निर्माण को बाधित कर सकता है।",
35 | "sci-metadata-search-cached": "खोज उत्तर कैश में पाये गये।",
36 | "onoi-remi-parser-no-id-match": "पर्सर \"$1\" को मिलाने में सक्षम नहीं है।"
37 | }
38 |
--------------------------------------------------------------------------------
/i18n/hu.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Bencemac",
5 | "Urbalazs",
6 | "Wolf Rex"
7 | ]
8 | },
9 | "sci-referencelist-header": "Források",
10 | "sci-scite-parser-not-enabled-namespace": "A(z) #scite
nem használható azon névterekben, melyek nincsenek engedélyezve a Sematic MediaWiki számára",
11 | "sci-datavalue-invalid-id-value": "A(z) „$1” érvénytelen érték a(z) $2 típushoz",
12 | "sci-property-alias-citation-reference": "Idézet forrása",
13 | "sci-property-alias-citation-text": "Idézet szövege",
14 | "findmetadatabyid": "Metaadat keresése",
15 | "sci-specials-header-results": "Találatok listája",
16 | "sci-metadata-search-form": "Azonosító szerint",
17 | "sci-metadata-search-action-create": "Létrehozás",
18 | "sci-metadata-search-header-log": "Napló",
19 | "sci-metadata-search-header-result": "Eredmény",
20 | "sci-metadata-search-form-submit": "Keresés",
21 | "sci-metadata-search-select-label": "Típus:"
22 | }
23 |
--------------------------------------------------------------------------------
/i18n/id.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Bagas Chrisara",
5 | "Kenrick95"
6 | ]
7 | },
8 | "sci-referencelist-header": "Referensi",
9 | "sci-property-alias-citation-key": "Kunci rujukan",
10 | "sci-property-alias-citation-reference": "Referensi rujukan",
11 | "sci-property-alias-citation-text": "Teks rujukan",
12 | "sci-property-alias-citation-resource": "Sumber rujukan",
13 | "findmetadatabyid": "Temukan metadata",
14 | "findcitablemetadata": "Temukan metadata yang dapat dirujuk",
15 | "right-sci-metadatasearch": "Pencarian akses metadata",
16 | "action-sci-metadatasearch": "pencarian metadata Semantic Cite",
17 | "sci-specials-header-results": "Daftar hasil",
18 | "sci-specials-select-options": "Pilih tindakan",
19 | "sci-specials-no-results": "Hasil tidak tersedia",
20 | "listcitationreferencebacklinks": "Daftar pranala balik referensi rujukan",
21 | "sci-metadata-search-form": "Melalui ID",
22 | "sci-metadata-search-action-highlight": "Pilih teks",
23 | "sci-metadata-search-action-create": "Buat",
24 | "sci-metadata-search-header-log": "Log",
25 | "sci-metadata-search-header-result": "Hasil",
26 | "sci-metadata-search-form-submit": "Cari",
27 | "sci-metadata-search-select-label": "Jenis:"
28 | }
29 |
--------------------------------------------------------------------------------
/i18n/ilo.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Lam-ang"
5 | ]
6 | },
7 | "sci-referencelist-header": "Dagiti nagibasaran",
8 | "sci-property-alias-citation-key": "Tekla ti dakamat",
9 | "sci-property-alias-citation-reference": "Nagibasaran ti dakamat",
10 | "sci-property-alias-citation-text": "Teksto ti dakamat",
11 | "sci-property-alias-citation-resource": "Rekurso ti dakamat",
12 | "findmetadatabyid": "Biruken ti metadata",
13 | "findcitablemetadata": "Biruken ti madakamat a metadata",
14 | "right-sci-metadatasearch": "Sumrekan ti panagbiruk iti metadata",
15 | "action-sci-metadatasearch": "ti panagbiruk iti metadata a Semantic Cite",
16 | "sci-specials-header-results": "Listaan dagiti resulta",
17 | "sci-specials-select-options": "Agpili kadagiti pagpilian",
18 | "sci-specials-no-results": "Awan dagiti magun-od a resulta.",
19 | "sci-metadata-search-form": "Babaen ti ID",
20 | "sci-metadata-search-action-highlight": "Pilien ti teksto",
21 | "sci-metadata-search-action-create": "Agpartuat",
22 | "sci-metadata-search-header-log": "Listaan",
23 | "sci-metadata-search-header-result": "Resulta",
24 | "sci-metadata-search-form-submit": "Agbiruk",
25 | "sci-metadata-search-select-label": "Kita:"
26 | }
27 |
--------------------------------------------------------------------------------
/i18n/io.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Joao Xavier"
5 | ]
6 | },
7 | "sci-referencelist-header": "Referi",
8 | "sci-scite-parser-not-enabled-namespace": "#scite
Ne povis uzesar che ''namespace'' qua ne esas permisata segun MediaWiki-semantiko",
9 | "sci-property-alias-citation-text": "Citajo",
10 | "sci-property-alias-citation-resource": "Fonto di la citajo",
11 | "findmetadatabyid": "Renkontrar 'metadata'",
12 | "sci-specials-header-results": "Listo di rezulti",
13 | "sci-metadata-search-form": "Segun ID",
14 | "sci-metadata-search-action-highlight": "Selektez texto",
15 | "sci-metadata-search-action-create": "Krear",
16 | "sci-metadata-search-header-log": "Log (sendar selektita texto al JavaScript-fenestro)",
17 | "sci-metadata-search-header-result": "Rezulto",
18 | "sci-metadata-search-form-submit": "Serchez",
19 | "sci-metadata-search-select-label": "Tipo:"
20 | }
21 |
--------------------------------------------------------------------------------
/i18n/it.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Beta16",
5 | "Macofe",
6 | "Selven",
7 | "Urielejh"
8 | ]
9 | },
10 | "sci-referencelist-header": "Riferimenti",
11 | "sci-property-alias-citation-text": "Testo della citazione",
12 | "sci-specials-header-results": "Elenco dei risultati",
13 | "sci-specials-select-options": "Seleziona le opzioni",
14 | "sci-specials-no-results": "Nessun risultato disponibile.",
15 | "sci-metadata-search-form": "Per ID",
16 | "sci-metadata-search-action-highlight": "Seleziona testo",
17 | "sci-metadata-search-action-create": "Crea",
18 | "sci-metadata-search-header-log": "Registro",
19 | "sci-metadata-search-header-result": "Risultato",
20 | "sci-metadata-search-form-submit": "Ricerca",
21 | "sci-metadata-search-select-label": "Tipo:"
22 | }
23 |
--------------------------------------------------------------------------------
/i18n/ja.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Shirayuki",
5 | "Sujiniku",
6 | "Suyama",
7 | "Yusuke1109",
8 | "mwjames",
9 | "おはぐろ蜻蛉"
10 | ]
11 | },
12 | "sci-referencelist-header": "情報源",
13 | "sci-scite-parser-not-enabled-namespace": "Semantic MediaWiki のために有効化されていない名前空間では、#scite
は使用できません",
14 | "sci-scite-parser-no-reference": "#scite
は参照を宣言していません。",
15 | "sci-datavalue-empty-reference": "引用の参照は、空白でないことが予想されます。",
16 | "sci-property-alias-citation-key": "引用キー",
17 | "sci-property-alias-citation-reference": "引用",
18 | "sci-property-alias-citation-text": "引用書目",
19 | "sci-property-alias-citation-resource": "引用リソース",
20 | "findmetadatabyid": "メタデータの発見",
21 | "action-sci-metadatasearch": "Semantic Cite メタデータ検索",
22 | "sci-specials-header-results": "結果の一覧",
23 | "sci-specials-select-options": "オプションを選択",
24 | "sci-specials-no-results": "該当結果はありません。",
25 | "sci-metadata-search-form": "IDで",
26 | "sci-metadata-search-action-highlight": "テキストを選択",
27 | "sci-metadata-search-action-create": "作成",
28 | "sci-metadata-search-header-log": "ログ",
29 | "sci-metadata-search-header-result": "結果",
30 | "sci-metadata-search-form-submit": "検索",
31 | "sci-metadata-search-select-label": "種類:",
32 | "sci-metadata-search-read-only": "データベースは読み取り専用モードであり、自動ページ作成を妨げることがあります。",
33 | "sci-metadata-search-cached": "この検索結果はキャッシュから読み込まれました。",
34 | "sci-metadata-search-intro-doi": "CrossRef レポジトリ検索のための [[Property:DOI|DOI]]",
35 | "sci-metadata-search-intro-ol": "OpenLibrary record に一致する、 [[Property:OLID|OLID]] または ISBN 番号",
36 | "sci-metadata-search-intro-viaf": "Virtual International Authority File ための検索のための [[Property:VIAF|VIAF]] 番号",
37 | "onoi-remi-request-error": "REST/HTTP リクエストは \"$2\" のため、\"$1\" エラーで終了しました。",
38 | "onoi-remi-response-empty": "応答が、「$1」のための空白の結果をかえしました。",
39 | "onoi-remi-parser-no-id-match": "パーサは「$1」と一致することができませんでした。",
40 | "sci-tooltip-citation-lookup-failure": "「$1」のためのバックエンドからの適切な引数の取得に失敗しました。",
41 | "sci-tooltip-citation-lookup-failure-multiple": "複数の一致を持っている「$1」のための引用テキストの取得に失敗しました。"
42 | }
43 |
--------------------------------------------------------------------------------
/i18n/jv.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "NoiX180"
5 | ]
6 | },
7 | "sci-property-alias-citation-key": "Kunci sitiran",
8 | "sci-property-alias-citation-reference": "Rujukan sitiran",
9 | "sci-property-alias-citation-text": "Tèks sitiran",
10 | "findmetadatabyid": "Golèk métadata",
11 | "findcitablemetadata": "Golèk métadata kang bisa kasitir",
12 | "sci-specials-header-results": "Pratélan kasil",
13 | "sci-specials-select-options": "Pilih wikalpa",
14 | "sci-specials-no-results": "Ora ana kasil.",
15 | "sci-metadata-search-form": "Miturut ID",
16 | "sci-metadata-search-action-highlight": "Pilih tèks",
17 | "sci-metadata-search-action-create": "Gawé",
18 | "sci-metadata-search-header-log": "Log",
19 | "sci-metadata-search-header-result": "Kasil",
20 | "sci-metadata-search-form-submit": "Golèk",
21 | "sci-metadata-search-select-label": "Jinis:"
22 | }
23 |
--------------------------------------------------------------------------------
/i18n/ko.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Hwangjy9",
5 | "Nuevo Paso",
6 | "Ykhwong",
7 | "고솜"
8 | ]
9 | },
10 | "sci-desc": "[https://www.semantic-mediawiki.org Semantic MediaWiki]를 사용하여 출처를 관리하세요",
11 | "sci-referencelist-header": "각주",
12 | "sci-scite-parser-not-enabled-namespace": "#scite
는 시맨틱 미디어위키에서 사용 중이 아닌 이름공간에서 사용할 수 없습니다",
13 | "sci-scite-parser-no-reference": "#scite
는 참조를 선언하지 않았습니다.",
14 | "sci-scite-parser-no-type": "#scite
는 \"$1\"에 대한 참조 유형을 결정하지 못했습니다.",
15 | "sci-datavalue-empty-reference": "인용 참조는 비어있지 않는 것으로 예측됩니다.",
16 | "sci-datavalue-invalid-id-value": "\"$1\"은 $2 유형에 대한 유효하지 않은 값입니다.",
17 | "sci-property-alias-citation-key": "인용 키",
18 | "sci-property-alias-citation-reference": "인용 참조",
19 | "sci-property-alias-citation-text": "인용 텍스트",
20 | "sci-property-alias-citation-resource": "인용 리소스",
21 | "findmetadatabyid": "메타데이터 찾기",
22 | "findcitablemetadata": "인용 가능한 메타데이터 찾기",
23 | "right-sci-metadatasearch": "메타데이터 검색 접근",
24 | "action-sci-metadatasearch": "Semantic Cite 메타데이터 검색",
25 | "sci-specials-header-results": "결과 목록",
26 | "sci-specials-select-options": "검색 옵션",
27 | "sci-specials-no-results": "이용 가능한 결과가 없습니다.",
28 | "listcitationreferencebacklinks": "인용 참조 백링크 목록",
29 | "sci-metadata-search-form": "ID별",
30 | "sci-metadata-search-action-highlight": "텍스트 선택",
31 | "sci-metadata-search-action-create": "만들기",
32 | "sci-metadata-search-header-log": "로그",
33 | "sci-metadata-search-header-result": "결과",
34 | "sci-metadata-search-form-submit": "검색",
35 | "sci-metadata-search-select-label": "유형:",
36 | "sci-metadata-search-read-only": "데이터베이스가 읽기 전용 모드이므로 자동 문서 생성을 방해할 수 있습니다.",
37 | "sci-metadata-search-has-match": "ID가 동일 식별자를 포함하고 다음을 포함하는 인용 자원과 일치되었습니다: $1",
38 | "sci-metadata-search-cached": "검색 응답을 캐시에서 가져왔습니다.",
39 | "sci-metadata-search-intro": "검색 가능한 메타데이터를 #scite
형식에 매핑하려면 식별자를 입력하고 서비스 제공자를 선택해 주십시오. (인터넷 연결 필요)",
40 | "sci-metadata-search-intro-doi": "CrossRef 저장소를 검색하기 위한 [[Property:DOI|DOI]]",
41 | "sci-metadata-search-intro-pubmed": "PubMed Central용 [[Property:PMCID|PMCID]]과 PubMed 아카이브용 [[Property:PMID|PMID]]",
42 | "sci-metadata-search-intro-oclc": "월드캣 카탈로그의 [[Property:OCLC|OCLC]] 번호",
43 | "sci-metadata-search-intro-ol": "오픈라이브러리 레코드에 일치시키기 위한 [[Property:OLID|OLID]] 또는 ISBN 번호",
44 | "sci-metadata-search-intro-viaf": "가상 국제 전거 파일을 검색하기 위한 [[Property:VIAF|VIAF]] 번호",
45 | "onoi-remi-request-error": "\"$2\"에 대해 \"$1\"(으)로 REST/HTTP 요청을 반환했습니다.",
46 | "onoi-remi-response-empty": "\"$1\"에 대해 비어있는 결과로 응답을 반환했습니다.",
47 | "onoi-remi-parser-no-id-match": "파서가 \"$1\" 항목을 일치시키지 못했습니다.",
48 | "sci-tooltip-citation-lookup-failure": "\"$1\"의 백엔드로부터 적절한 인용을 검색하는데 실패했습니다.",
49 | "sci-tooltip-citation-lookup-failure-multiple": "여러 개의 일치가 있는 \"$1\"에 대한 인용 텍스트의 검색을 실패했습니다."
50 | }
51 |
--------------------------------------------------------------------------------
/i18n/ksh.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Purodha"
5 | ]
6 | },
7 | "findcitablemetadata": "Mettadate zom zom Zittehre fenge.",
8 | "sci-specials-header-results": "Leß met dämm, wdd erus kohm",
9 | "sci-specials-select-options": "Söhk jädd uß",
10 | "sci-specials-no-results": "Ed es nix doh, wadd eruß jekumme wöhr.",
11 | "sci-metadata-search-form": "Noh de Kännong"
12 | }
13 |
--------------------------------------------------------------------------------
/i18n/lb.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Robby"
5 | ]
6 | },
7 | "sci-referencelist-header": "Referenzen",
8 | "sci-property-alias-citation-reference": "Referenzéierung",
9 | "sci-property-alias-citation-text": "Text vum Zitat",
10 | "findmetadatabyid": "Metadate fannen",
11 | "sci-specials-header-results": "Lëscht vun de Resultater",
12 | "sci-specials-select-options": "Optiounen auswielen",
13 | "sci-specials-no-results": "Keng Resultater disponibel.",
14 | "sci-metadata-search-form": "No ID",
15 | "sci-metadata-search-action-highlight": "Text eraussichen",
16 | "sci-metadata-search-action-create": "Uleeën",
17 | "sci-metadata-search-header-log": "Logbuch",
18 | "sci-metadata-search-header-result": "Resultat",
19 | "sci-metadata-search-form-submit": "Sichen",
20 | "sci-metadata-search-select-label": "Typ:"
21 | }
22 |
--------------------------------------------------------------------------------
/i18n/lt.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Eitvys200",
5 | "Nokeoo",
6 | "Zygimantus"
7 | ]
8 | },
9 | "sci-referencelist-header": "Šaltiniai",
10 | "sci-scite-parser-no-reference": "#scite
nepateikė nuorodos.",
11 | "sci-scite-parser-no-type": "#scite
nepavyko nustatyti „$1“ nuorodos tipo.",
12 | "sci-datavalue-empty-reference": "Tikimasi, kad citatos nuoroda nebus tuščia.",
13 | "sci-datavalue-invalid-id-value": "„$1“ yra neteisinga $2 tipo vertė.",
14 | "sci-property-alias-citation-key": "Citatos id",
15 | "sci-property-alias-citation-reference": "Citatos išnaša",
16 | "sci-property-alias-citation-text": "Citatos tekstas",
17 | "sci-property-alias-citation-resource": "Citacijos išteklius",
18 | "findmetadatabyid": "Rasti metaduomenis",
19 | "findcitablemetadata": "Rasti cituotinus metaduomenis",
20 | "right-sci-metadatasearch": "Prieiga prie metaduomenų paieškos",
21 | "action-sci-metadatasearch": "Semantic Cite metaduomenų paieška",
22 | "sci-specials-header-results": "Rezultatų sąrašas",
23 | "sci-specials-select-options": "Pasirinkti nustatymus",
24 | "sci-specials-no-results": "Nėra prieinamų rezultatų.",
25 | "sci-metadata-search-form": "Pagal ID",
26 | "sci-metadata-search-action-highlight": "Pasirinkti tekstą",
27 | "sci-metadata-search-action-create": "Sukurti",
28 | "sci-metadata-search-header-log": "Žurnalas",
29 | "sci-metadata-search-header-result": "Rezultatas",
30 | "sci-metadata-search-form-submit": "Paieška",
31 | "sci-metadata-search-select-label": "Tipas:",
32 | "sci-metadata-search-read-only": "Duomenų bazė veikia tik skaitymo režimu ir gali trukdyti automatiškai sukurti puslapį."
33 | }
34 |
--------------------------------------------------------------------------------
/i18n/mai.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Haribanshi",
5 | "Tulsi Bhagat"
6 | ]
7 | },
8 | "sci-referencelist-header": "संदर्भ",
9 | "sci-property-alias-citation-key": "उद्धरण चाबी",
10 | "sci-property-alias-citation-reference": "उद्धरण संदर्भ",
11 | "sci-property-alias-citation-text": "उद्धरण टेक्स्ट",
12 | "sci-property-alias-citation-resource": "उद्धरण स्रोत",
13 | "findmetadatabyid": "मेटाडाटा खोजु",
14 | "findcitablemetadata": "उद्धरण योग्य मेटाडेटा खोजु",
15 | "right-sci-metadatasearch": "मेटाडेटा खोज एक्सेस",
16 | "action-sci-metadatasearch": "सेमांटिक साइट मॅटा-डाटा खोजु",
17 | "sci-specials-header-results": "परिणाम क सूची",
18 | "sci-specials-select-options": "क्रिया चयन करु",
19 | "sci-specials-no-results": "कोनाे परिणाम उपलब्ध नैअछि।",
20 | "sci-metadata-search-form": "आईडी अनुसार",
21 | "sci-metadata-search-action-highlight": "टेक्स्ट चुनु",
22 | "sci-metadata-search-action-create": "बनाबी",
23 | "sci-metadata-search-header-log": "लॉग",
24 | "sci-metadata-search-header-result": "परिणाम",
25 | "sci-metadata-search-form-submit": "ताकू",
26 | "sci-metadata-search-select-label": "प्रकार:"
27 | }
28 |
--------------------------------------------------------------------------------
/i18n/mg.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Jagwar"
5 | ]
6 | },
7 | "sci-referencelist-header": "Tsiahy",
8 | "sci-property-alias-citation-key": "Lakilenn'ny teny nindramina",
9 | "sci-property-alias-citation-reference": "Tsiahin'ny teny nindramina",
10 | "sci-property-alias-citation-text": "Votoatin'ny teny nindramina",
11 | "sci-property-alias-citation-resource": "Loharanon'ny teny nindramina",
12 | "findmetadatabyid": "Hikaroka metadata",
13 | "findcitablemetadata": "Hikaroka metadata azo indramina",
14 | "right-sci-metadatasearch": "Fijerena ny karoka anaty meta-angona",
15 | "sci-specials-header-results": "Lisitry ny valiny",
16 | "sci-specials-select-options": "Hisafidy",
17 | "sci-specials-no-results": "Tsy misy valiny.",
18 | "sci-metadata-search-form": "Araka ny mpamantatra",
19 | "sci-metadata-search-action-highlight": "Hisafidy teny",
20 | "sci-metadata-search-action-create": "Foronina",
21 | "sci-metadata-search-header-log": "Laogy",
22 | "sci-metadata-search-header-result": "Valiny",
23 | "sci-metadata-search-form-submit": "Hikaroka"
24 | }
25 |
--------------------------------------------------------------------------------
/i18n/mr.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "V.narsikar"
5 | ]
6 | },
7 | "sci-referencelist-header": "संदर्भ",
8 | "sci-specials-header-results": "निकालांची यादी",
9 | "sci-specials-select-options": "पर्याय निवडा",
10 | "sci-specials-no-results": "काहीच निकाल उपलब्ध नाहीत.",
11 | "sci-metadata-search-action-highlight": "मजकूर निवडा",
12 | "sci-metadata-search-action-create": "निर्मित करा",
13 | "sci-metadata-search-header-log": "नोंदी",
14 | "sci-metadata-search-header-result": "निकाल",
15 | "sci-metadata-search-form-submit": "शोधा"
16 | }
17 |
--------------------------------------------------------------------------------
/i18n/oc.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Cedric31"
5 | ]
6 | },
7 | "sci-referencelist-header": "Referéncias",
8 | "sci-property-alias-citation-key": "Clau de citacion",
9 | "sci-property-alias-citation-reference": "Referéncia de la citacion",
10 | "sci-property-alias-citation-text": "Tèxte de la citacion",
11 | "sci-property-alias-citation-resource": "Ressorsa de la citacion",
12 | "findmetadatabyid": "Trobar las metadonadas",
13 | "findcitablemetadata": "Trobar las metadonadas citablas",
14 | "right-sci-metadatasearch": "Accès a la recèrca de metadonadas",
15 | "action-sci-metadatasearch": "la recèrca de metadonadas de Cite Semantic",
16 | "sci-specials-header-results": "Lista de resultats",
17 | "sci-specials-select-options": "Seleccionar las opcions",
18 | "sci-specials-no-results": "Cap de resultat pas disponible.",
19 | "listcitationreferencebacklinks": "Lista dels ligams arrièr de referéncia de Citacion",
20 | "sci-metadata-search-form": "Per identificant",
21 | "sci-metadata-search-action-highlight": "Seleccionatz lo tèxte",
22 | "sci-metadata-search-action-create": "Crear",
23 | "sci-metadata-search-header-log": "Jornal",
24 | "sci-metadata-search-header-result": "Resultat",
25 | "sci-metadata-search-form-submit": "Cercar"
26 | }
27 |
--------------------------------------------------------------------------------
/i18n/olo.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Mashoi7"
5 | ]
6 | },
7 | "sci-property-alias-citation-key": "Citaciiavain",
8 | "sci-property-alias-citation-reference": "Citaciiviiteh",
9 | "sci-property-alias-citation-text": "Citaciitekstu",
10 | "sci-metadata-search-action-highlight": "Valliče tekstu",
11 | "sci-metadata-search-action-create": "Luaji",
12 | "sci-metadata-search-header-result": "Tulos",
13 | "sci-metadata-search-form-submit": "Eči"
14 | }
15 |
--------------------------------------------------------------------------------
/i18n/pam.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Leeheonjin"
5 | ]
6 | },
7 | "sci-specials-header-results": "Tala da reng resulta"
8 | }
9 |
--------------------------------------------------------------------------------
/i18n/pl.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Chrumps",
5 | "CiaPan",
6 | "InternerowyGołąb",
7 | "Rail",
8 | "Railfail536",
9 | "SemanticPioneer",
10 | "XnIcRaM"
11 | ]
12 | },
13 | "sci-desc": "Zarządzanie zasobami cytowania z pomocą [https://www.semantic-mediawiki.org Semantic MediaWiki]",
14 | "sci-referencelist-header": "Przypisy",
15 | "sci-scite-parser-not-enabled-namespace": "#scite
nie może być używany w przestrzeni nazw nie dostępnej dla Semantic MediaWiki",
16 | "sci-scite-parser-no-reference": "#scite
nie zadeklarował odniesienia.",
17 | "sci-datavalue-empty-reference": "Odnośnik do cytatu nie powinien być pusty.",
18 | "sci-datavalue-invalid-id-value": "„$1” jest nieprawidłową wartością dla typu $2.",
19 | "sci-property-alias-citation-key": "Klucz cytowania",
20 | "sci-property-alias-citation-reference": "Odnośnik cytowania",
21 | "sci-property-alias-citation-text": "Tekst cytowania",
22 | "sci-property-alias-citation-resource": "Źródło cytowania",
23 | "findmetadatabyid": "Znajdź metadane",
24 | "findcitablemetadata": "Znajdź możliwe do cytowania metadane",
25 | "right-sci-metadatasearch": "Dostęp do wyszukiwania metadanych",
26 | "sci-specials-header-results": "Lista wyników",
27 | "sci-specials-select-options": "Wybierz opcje",
28 | "sci-specials-no-results": "Brak dostępnych wyników.",
29 | "sci-metadata-search-form": "Według ID",
30 | "sci-metadata-search-action-highlight": "Zaznacz tekst",
31 | "sci-metadata-search-action-create": "Utwórz",
32 | "sci-metadata-search-header-log": "Rejestr",
33 | "sci-metadata-search-header-result": "Wynik",
34 | "sci-metadata-search-form-submit": "Szukaj",
35 | "sci-metadata-search-select-label": "Typ:",
36 | "sci-metadata-search-read-only": "Baza danych jest w trybie tylko do odczytu i może sprawiać trudność przy automatycznym tworzeniu stron",
37 | "sci-metadata-search-has-match": "ID został przypisany do cytatu źródeł które zawierają tak sam identyfikator oraz posiadają: $1.",
38 | "sci-metadata-search-cached": "Wynik wyszukiwania został pobrany z pamięci podręcznej.",
39 | "sci-metadata-search-intro-doi": "[[Property:DOI|DOI]] do wyszukiwania w repozytorium CrossRef",
40 | "sci-metadata-search-intro-oclc": "Numer [[Property:OCLC|OCLC]] w katalogu WorldCat",
41 | "onoi-remi-request-error": "Żądanie REST/HTTP zwróciło \"$1\" dla \"$2\".",
42 | "onoi-remi-response-empty": "Odpowiedź została zwrócona z pustym wynikiem dla „$1”.",
43 | "onoi-remi-parser-no-id-match": "Parser nie mógł dopasować „$1”."
44 | }
45 |
--------------------------------------------------------------------------------
/i18n/ps.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Af420",
5 | "Ahmed-Najib-Biabani-Ibrahimkhel",
6 | "Amjad Khan"
7 | ]
8 | },
9 | "sci-specials-header-results": "د پايلو لړليک",
10 | "sci-specials-select-options": "خوښنې ټاکل",
11 | "sci-metadata-search-action-create": "جوړول"
12 | }
13 |
--------------------------------------------------------------------------------
/i18n/roa-tara.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Joetaras"
5 | ]
6 | },
7 | "sci-referencelist-header": "Rifereminde",
8 | "sci-scite-parser-no-reference": "#scite
non ge dichiare 'nu referimende.",
9 | "sci-property-alias-citation-key": "Chiave d'a citazione",
10 | "sci-property-alias-citation-reference": "Referimende d'a citazione",
11 | "sci-property-alias-citation-text": "Teste d'a citazione",
12 | "sci-property-alias-citation-resource": "Resorse d'a citazione",
13 | "findmetadatabyid": "Iacchie 'u metadate",
14 | "findcitablemetadata": "Iacchie metadate citabbile",
15 | "action-sci-metadatasearch": "'A ricerche de metadate d'a Citazione Semandeche",
16 | "sci-specials-header-results": "Elenghe de le resultate",
17 | "sci-specials-select-options": "Scacchie le opziune",
18 | "sci-specials-no-results": "Nisciune resultate disponibbile.",
19 | "sci-metadata-search-form": "Pe ID",
20 | "sci-metadata-search-action-highlight": "Scacchie 'u teste",
21 | "sci-metadata-search-action-create": "Ccreje",
22 | "sci-metadata-search-header-log": "Archivije",
23 | "sci-metadata-search-header-result": "Resultate",
24 | "sci-metadata-search-form-submit": "Cirche",
25 | "sci-metadata-search-select-label": "Tipe:",
26 | "sci-metadata-search-intro-doi": "[[Property:DOI|DOI]] pe cercà l'archivije CrossRef"
27 | }
28 |
--------------------------------------------------------------------------------
/i18n/sd.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Mehtab ahmed"
5 | ]
6 | },
7 | "sci-referencelist-header": "حوالا",
8 | "sci-property-alias-citation-text": "حوالي جو متن",
9 | "sci-specials-header-results": "نتيجن جي فھرست",
10 | "sci-specials-select-options": "چارا چونڊيو",
11 | "sci-specials-no-results": "ڪي بہ نتيجا موجود ناھن.",
12 | "sci-metadata-search-action-highlight": "متن چونڊيو"
13 | }
14 |
--------------------------------------------------------------------------------
/i18n/sr-ec.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Aca",
5 | "Acamicamacaraca",
6 | "BadDog",
7 | "Obsuser",
8 | "Prevodim"
9 | ]
10 | },
11 | "sci-referencelist-header": "Референце",
12 | "sci-property-alias-citation-key": "Кључ референце",
13 | "sci-property-alias-citation-text": "Текст референце",
14 | "sci-property-alias-citation-resource": "Ресурс референце",
15 | "findmetadatabyid": "Пронађи метаподатке",
16 | "sci-specials-header-results": "Списак резултата",
17 | "sci-specials-select-options": "Одабери опцију",
18 | "sci-specials-no-results": "Нема доступних резултата.",
19 | "sci-metadata-search-form": "По ID",
20 | "sci-metadata-search-action-highlight": "Одабери текст",
21 | "sci-metadata-search-action-create": "Направи",
22 | "sci-metadata-search-header-log": "Дневник",
23 | "sci-metadata-search-header-result": "Резултат",
24 | "sci-metadata-search-form-submit": "Претражи",
25 | "sci-metadata-search-select-label": "Тип:"
26 | }
27 |
--------------------------------------------------------------------------------
/i18n/sr-el.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": []
4 | },
5 | "sci-referencelist-header": "Reference",
6 | "sci-property-alias-citation-key": "Ključ reference",
7 | "sci-property-alias-citation-text": "Tekst reference",
8 | "sci-property-alias-citation-resource": "Resurs reference",
9 | "findmetadatabyid": "Pronađi metapodatke",
10 | "sci-specials-header-results": "Spisak rezultata",
11 | "sci-specials-select-options": "Odaberi opciju",
12 | "sci-specials-no-results": "Nema dostupnih rezultata.",
13 | "sci-metadata-search-form": "Po ID",
14 | "sci-metadata-search-action-highlight": "Odaberi tekst",
15 | "sci-metadata-search-action-create": "Napravi",
16 | "sci-metadata-search-header-log": "Dnevnik",
17 | "sci-metadata-search-header-result": "Rezultat",
18 | "sci-metadata-search-form-submit": "Pretraži",
19 | "sci-metadata-search-select-label": "Tip:"
20 | }
21 |
--------------------------------------------------------------------------------
/i18n/tl.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Leeheonjin"
5 | ]
6 | },
7 | "sci-specials-header-results": "Talaan ng mga resulta",
8 | "sci-specials-select-options": "Pumili ng mga pagpipilian"
9 | }
10 |
--------------------------------------------------------------------------------
/i18n/vi.json:
--------------------------------------------------------------------------------
1 | {
2 | "@metadata": {
3 | "authors": [
4 | "Nguyên Lê"
5 | ]
6 | },
7 | "sci-specials-no-results": "Không có kết quả nào."
8 | }
9 |
--------------------------------------------------------------------------------
/phpunit.xml.dist:
--------------------------------------------------------------------------------
1 |
2 | {{#scite:" . self::LF . " |Bar" . self::LF . "}}" 68 | ]; 69 | 70 | $provider[] = [ 71 | [ 72 | 'Bar', 73 | '+sep=,', 74 | '@Foobar', 75 | 'Foo' 76 | ], 77 | "
{{#scite:" . self::LF . " |Bar|+sep=," . self::LF . " |Foo" . self::LF . "}}" 78 | ]; 79 | 80 | return $provider; 81 | } 82 | 83 | } 84 | -------------------------------------------------------------------------------- /tests/phpunit/Unit/PropertyRegistryTest.php: -------------------------------------------------------------------------------- 1 | assertInstanceOf( 22 | '\SCI\PropertyRegistry', 23 | new PropertyRegistry() 24 | ); 25 | } 26 | 27 | /** 28 | * @dataProvider propertyIdProvider 29 | */ 30 | public function testRegisterTo( $id, $label ) { 31 | 32 | $corePropertyRegistry = CorePropertyRegistry::getInstance(); 33 | 34 | $instance = new PropertyRegistry(); 35 | $instance->registerTo( $corePropertyRegistry ); 36 | 37 | $this->assertNotEmpty( 38 | $corePropertyRegistry->findPropertyLabelById ( $id ) 39 | ); 40 | 41 | $this->assertSame( 42 | $label, 43 | $corePropertyRegistry->findPropertyLabelById ( $id ) 44 | ); 45 | } 46 | 47 | public function propertyIdProvider() { 48 | 49 | $provider[] = [ 50 | PropertyRegistry::SCI_DOI, 51 | 'DOI' 52 | ]; 53 | 54 | $provider[] = [ 55 | PropertyRegistry::SCI_PMCID, 56 | 'PMCID' 57 | ]; 58 | 59 | $provider[] = [ 60 | PropertyRegistry::SCI_CITE_KEY, 61 | 'Citation key' 62 | ]; 63 | 64 | $provider[] = [ 65 | PropertyRegistry::SCI_CITE_REFERENCE, 66 | 'Citation reference' 67 | ]; 68 | 69 | $provider[] = [ 70 | PropertyRegistry::SCI_CITE_TEXT, 71 | 'Citation text' 72 | ]; 73 | 74 | $provider[] = [ 75 | PropertyRegistry::SCI_CITE, 76 | 'Citation resource' 77 | ]; 78 | 79 | return $provider; 80 | } 81 | 82 | } 83 | -------------------------------------------------------------------------------- /tests/phpunit/Unit/ReferenceListFactoryTest.php: -------------------------------------------------------------------------------- 1 | store = $this->getMockBuilder( '\SMW\Store' ) 26 | ->disableOriginalConstructor() 27 | ->getMockForAbstractClass(); 28 | 29 | $this->namespaceExaminer = $this->getMockBuilder( '\SMW\NamespaceExaminer' ) 30 | ->disableOriginalConstructor() 31 | ->getMock(); 32 | 33 | $this->citationReferencePositionJournal = $this->getMockBuilder( '\SCI\CitationReferencePositionJournal' ) 34 | ->disableOriginalConstructor() 35 | ->getMock(); 36 | } 37 | 38 | public function testCanConstruct() { 39 | 40 | $this->assertInstanceOf( 41 | '\SCI\ReferenceListFactory', 42 | new ReferenceListFactory( $this->store, $this->namespaceExaminer, $this->citationReferencePositionJournal ) 43 | ); 44 | } 45 | 46 | public function testCanConstructReferenceListOutputRenderer() { 47 | 48 | $instance = new ReferenceListFactory( 49 | $this->store, 50 | $this->namespaceExaminer, 51 | $this->citationReferencePositionJournal 52 | ); 53 | 54 | $this->assertInstanceOf( 55 | '\SCI\ReferenceListOutputRenderer', 56 | $instance->newReferenceListOutputRenderer() 57 | ); 58 | } 59 | 60 | public function testCanConstructCachedReferenceListOutputRenderer() { 61 | 62 | $mediaWikiContextInteractor = $this->getMockBuilder( '\SCI\MediaWikiContextInteractor' ) 63 | ->disableOriginalConstructor() 64 | ->getMock(); 65 | 66 | $cache = $this->getMockBuilder( '\Onoi\Cache\Cache' ) 67 | ->disableOriginalConstructor() 68 | ->getMock(); 69 | 70 | $cacheKeyProvider = $this->getMockBuilder( '\SCI\CacheKeyProvider' ) 71 | ->disableOriginalConstructor() 72 | ->getMock(); 73 | 74 | $instance = new ReferenceListFactory( 75 | $this->store, 76 | $this->namespaceExaminer, 77 | $this->citationReferencePositionJournal 78 | ); 79 | 80 | $options = new Options( [ 81 | 'numberOfReferenceListColumns' => null, 82 | 'referenceListType' => null, 83 | 'browseLinkToCitationResource' => null, 84 | 'citationReferenceCaptionFormat' => null, 85 | 'responsiveMonoColumnCharacterBoundLength' => 100 86 | ] ); 87 | 88 | $this->assertInstanceOf( 89 | '\SCI\CachedReferenceListOutputRenderer', 90 | $instance->newCachedReferenceListOutputRenderer( $mediaWikiContextInteractor, $cache, $cacheKeyProvider, $options ) 91 | ); 92 | } 93 | 94 | } 95 | -------------------------------------------------------------------------------- /tests/phpunit/Unit/ReferenceListOutputRendererTest.php: -------------------------------------------------------------------------------- 1 | citationResourceMatchFinder = $this->getMockBuilder( '\SCI\CitationResourceMatchFinder' ) 29 | ->disableOriginalConstructor() 30 | ->getMock(); 31 | 32 | $this->citationReferencePositionJournal = $this->getMockBuilder( '\SCI\CitationReferencePositionJournal' ) 33 | ->disableOriginalConstructor() 34 | ->getMock(); 35 | 36 | $this->htmlColumnListRenderer = $this->getMockBuilder( '\SMW\MediaWiki\Renderer\HtmlColumnListRenderer' ) 37 | ->disableOriginalConstructor() 38 | ->getMock(); 39 | } 40 | 41 | public function testCanConstruct() { 42 | 43 | $this->assertInstanceOf( 44 | '\SCI\ReferenceListOutputRenderer', 45 | new ReferenceListOutputRenderer( 46 | $this->citationResourceMatchFinder, 47 | $this->citationReferencePositionJournal, 48 | $this->htmlColumnListRenderer 49 | ) 50 | ); 51 | } 52 | 53 | public function testSetterGetterForExternalUse() { 54 | 55 | $instance = new ReferenceListOutputRenderer( 56 | $this->citationResourceMatchFinder, 57 | $this->citationReferencePositionJournal, 58 | $this->htmlColumnListRenderer 59 | ); 60 | 61 | $instance->setNumberOfReferenceListColumns( 4 ); 62 | 63 | $this->assertEquals( 64 | 4, 65 | $instance->getNumberOfReferenceListColumns() 66 | ); 67 | 68 | $instance->setReferenceListType( 'ol' ); 69 | 70 | $this->assertEquals( 71 | 'ol', 72 | $instance->getReferenceListType() 73 | ); 74 | 75 | $instance->setBrowseLinkToCitationResourceVisibility( true ); 76 | 77 | $this->assertEquals( 78 | true, 79 | $instance->getBrowseLinkToCitationResourceVisibility() 80 | ); 81 | } 82 | 83 | public function testRenderReferenceListForIncompleteJournal() { 84 | 85 | $this->citationReferencePositionJournal->expects( $this->once() ) 86 | ->method( 'getJournalBySubject' ) 87 | ->will( $this->returnValue( [ 88 | 'reference-pos' => [ 'abc' => [] ], 89 | 'reference-list' => [ 'abc' => 123 ] ] ) ); 90 | 91 | $this->citationResourceMatchFinder->expects( $this->once() ) 92 | ->method( 'findCitationTextFor' ) 93 | ->will( $this->returnValue( [ [], '' ] ) ); 94 | 95 | $instance = new ReferenceListOutputRenderer( 96 | $this->citationResourceMatchFinder, 97 | $this->citationReferencePositionJournal, 98 | $this->htmlColumnListRenderer 99 | ); 100 | 101 | $instance->setNumberOfReferenceListColumns( 0 ); 102 | $instance->setResponsiveMonoColumnCharacterBoundLength( 100 ); 103 | $instance->setBrowseLinkToCitationResourceVisibility( true ); 104 | 105 | $this->assertInternalType( 106 | 'string', 107 | $instance->doRenderReferenceListFor( DIWikiPage::newFromText( 'Foo' ) ) 108 | ); 109 | } 110 | 111 | } 112 | -------------------------------------------------------------------------------- /tests/phpunit/Unit/Specials/CitableMetadata/HtmlResponseParserRendererTest.php: -------------------------------------------------------------------------------- 1 | getMockBuilder( '\Onoi\Remi\ResponseParser' ) 21 | ->disableOriginalConstructor() 22 | ->getMockForAbstractClass(); 23 | 24 | $this->assertInstanceOf( 25 | '\SCI\Specials\CitableMetadata\HtmlResponseParserRenderer', 26 | new HtmlResponseParserRenderer( $responseParser ) 27 | ); 28 | } 29 | 30 | public function testGetRawResponse() { 31 | 32 | $responseParser = $this->getMockBuilder( '\Onoi\Remi\ResponseParser' ) 33 | ->disableOriginalConstructor() 34 | ->getMockForAbstractClass(); 35 | 36 | $responseParser->expects( $this->once() ) 37 | ->method( 'getRawResponse' ) 38 | ->with( $this->identicalTo( 42 ) ); 39 | 40 | $instance = new HtmlResponseParserRenderer( 41 | $responseParser 42 | ); 43 | 44 | $instance->getRawResponse( 42 ); 45 | } 46 | 47 | public function testRenderText() { 48 | 49 | $bibliographicFilteredRecord = $this->getMockBuilder( '\SCI\FilteredMetadata\BibliographicFilteredRecord' ) 50 | ->disableOriginalConstructor() 51 | ->getMock(); 52 | 53 | $responseParser = $this->getMockBuilder( '\Onoi\Remi\ResponseParser' ) 54 | ->disableOriginalConstructor() 55 | ->getMockForAbstractClass(); 56 | 57 | $responseParser->expects( $this->once() ) 58 | ->method( 'doFilterResponseFor' ) 59 | ->with( $this->identicalTo( 42 ) ); 60 | 61 | $responseParser->expects( $this->atLeastOnce() ) 62 | ->method( 'getMessages' ) 63 | ->will( $this->returnValue( [] ) ); 64 | 65 | $responseParser->expects( $this->atLeastOnce() ) 66 | ->method( 'getFilteredRecord' ) 67 | ->will( $this->returnValue( $bibliographicFilteredRecord ) ); 68 | 69 | $instance = new HtmlResponseParserRenderer( 70 | $responseParser 71 | ); 72 | 73 | $instance->renderTextFor( 42 ); 74 | } 75 | 76 | } 77 | -------------------------------------------------------------------------------- /tests/travis/install-mediawiki.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | cd .. 5 | 6 | ## Use sha (master@5cc1f1d) to download a particular commit to avoid breakages 7 | ## introduced by MediaWiki core 8 | if [[ "$MW" == *@* ]] 9 | then 10 | arrMw=(${MW//@/ }) 11 | MW=${arrMw[0]} 12 | SOURCE=${arrMw[1]} 13 | else 14 | MW=$MW 15 | SOURCE=$MW 16 | fi 17 | 18 | wget https://github.com/wikimedia/mediawiki/archive/$SOURCE.tar.gz -O $MW.tar.gz 19 | 20 | tar -zxf $MW.tar.gz 21 | mv mediawiki-* mw 22 | 23 | cd mw 24 | 25 | composer self-update 26 | composer install 27 | 28 | if [ "$DB" == "postgres" ] 29 | then 30 | # See #458 31 | sudo /etc/init.d/postgresql stop 32 | sudo /etc/init.d/postgresql start 33 | 34 | psql -c 'create database its_a_mw;' -U postgres 35 | php maintenance/install.php --dbtype $DB --dbuser postgres --dbname its_a_mw --pass AdminPassword TravisWiki admin --scriptpath /TravisWiki 36 | else 37 | mysql -e 'create database its_a_mw;' 38 | php maintenance/install.php --dbtype $DB --dbuser root --dbname its_a_mw --dbpath $(pwd) --pass AdminPassword TravisWiki admin --scriptpath /TravisWiki 39 | fi 40 | -------------------------------------------------------------------------------- /tests/travis/install-semantic-cite.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ex 3 | 4 | BASE_PATH=$(pwd) 5 | MW_INSTALL_PATH=$BASE_PATH/../mw 6 | 7 | # Run Composer installation from the MW root directory 8 | function installToMediaWikiRoot { 9 | echo -e "Running MW root composer install build on $TRAVIS_BRANCH \n" 10 | 11 | cd $MW_INSTALL_PATH 12 | 13 | if [ "$PHPUNIT" != "" ] 14 | then 15 | composer require 'phpunit/phpunit='$PHPUNIT --update-with-dependencies 16 | else 17 | composer require 'phpunit/phpunit=6.5.*' --update-with-dependencies 18 | fi 19 | 20 | if [ "$SCI" != "" ] 21 | then 22 | composer require 'mediawiki/semantic-scite='$SCI --update-with-dependencies 23 | else 24 | composer init --stability dev 25 | composer require mediawiki/semantic-cite "dev-master" --dev 26 | 27 | cd extensions 28 | cd SemanticCite 29 | 30 | if [ "$TRAVIS_PULL_REQUEST" != "false" ] 31 | then 32 | git fetch origin +refs/pull/"$TRAVIS_PULL_REQUEST"/merge: 33 | git checkout -qf FETCH_HEAD 34 | else 35 | git fetch origin "$TRAVIS_BRANCH" 36 | git checkout -qf FETCH_HEAD 37 | fi 38 | 39 | cd ../.. 40 | fi 41 | 42 | # Rebuild the class map for added classes during git fetch 43 | composer dump-autoload 44 | } 45 | 46 | function updateConfiguration { 47 | 48 | cd $MW_INSTALL_PATH 49 | 50 | echo 'error_reporting(E_ALL| E_STRICT);' >> LocalSettings.php 51 | echo 'ini_set("display_errors", 1);' >> LocalSettings.php 52 | echo '$wgShowExceptionDetails = true;' >> LocalSettings.php 53 | echo '$wgDevelopmentWarnings = true;' >> LocalSettings.php 54 | echo "putenv( 'MW_INSTALL_PATH=$(pwd)' );" >> LocalSettings.php 55 | 56 | echo 'define("SMW_PHPUNIT_PULL_VERSION_FROM_GITHUB", true);' >> LocalSettings.php 57 | 58 | # SMW#1732 59 | echo 'wfLoadExtension( "SemanticMediaWiki" );' >> LocalSettings.php 60 | echo 'wfLoadExtension( "SemanticCite" );' >> LocalSettings.php 61 | 62 | php maintenance/update.php --quick 63 | } 64 | 65 | installToMediaWikiRoot 66 | updateConfiguration 67 | -------------------------------------------------------------------------------- /tests/travis/run-tests.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | set -ex 3 | 4 | BASE_PATH=$(pwd) 5 | MW_INSTALL_PATH=$BASE_PATH/../mw 6 | 7 | cd $MW_INSTALL_PATH/extensions/SemanticCite 8 | 9 | if [ "$TYPE" == "coverage" ] 10 | then 11 | composer phpunit -- --coverage-clover $BASE_PATH/build/coverage.clover 12 | else 13 | composer phpunit 14 | fi 15 | -------------------------------------------------------------------------------- /tests/travis/upload-coverage-report.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | set -ex 3 | 4 | BASE_PATH=$(pwd) 5 | 6 | if [ "$TYPE" == "coverage" ] 7 | then 8 | wget https://scrutinizer-ci.com/ocular.phar 9 | php ocular.phar code-coverage:upload --format=php-clover $BASE_PATH/build/coverage.clover 10 | fi --------------------------------------------------------------------------------