mediawiki-extensions-Gadgets/i18n/qqq.json
Timo Tijhof 9c5b7cef9e Improve localisation on Special:Gadgets, minor code cleanups
For each item, either display human-readable and translated text,
or display a technical non-translatable identifier as `<code>`,
with optional localised text in the title attribute.

* Re-format "rights" as a sentence instead of a bullet list. It was
  the only one using a bullet list, which made it feel a bit long.

* Re-format "actions" as `<code>` since they are not localised.

* Re-format "contentModels" as `<code>`, and add the localised display
  name in a title attribute, same as we do with "rights" already.
  ContentHandler::getLocalizedName() is also used already on
  Special:ChangeContentModel.

* Fix "contentModels" to set `needLineBreakAfter = true`, otherwise
  if a gadget also sets "supportsUrlLoad", then that sentence is
  appended to the previous line.

Update phrasing and sorting to be consistent everywhere, and adopt
native PHP types where possible.

In most cases, I made things alphabetical, with the exception of
Special:Gadgets user interface output, and Gadget class methods,
which both follow the order of most recently added feature last
(rights, skins, actions, namespaces, contentmodels, categories).

Highlights:

* Fix namespace IDs type. These can be strings when they are parsed
  from the gadget definition text, not always integers.

* Add explicit default for 'category'. In theory not needed because
  MediaWikiGadgetsDefinitionRepo has a `$section = '';` default, and
  MediaWikiGadgetsJsonRepo uses GadgetDefinitionContentHandler where
  `category: ''` is part of both the initial page content, as well
  as merged via getDefaultMetadata.

  This default benefits simpler test cases, and static analysis,
  since the Gadget class constructor does not (yet) require it.
  Without this, getCategory() could TypeError due to returning null.

Bug: T63007
Change-Id: I3b2c72a6424d520431d03761d23a5a222518ce3d
2024-03-25 15:37:40 -07:00

81 lines
9.2 KiB
JSON

{
"@metadata": {
"authors": [
"Amire80",
"EugeneZelenko",
"Jon Harald Søby",
"Kghbln",
"Liuxinyu970226",
"Lloffiwr",
"Mormegil",
"Nike",
"Pikne",
"Purodha",
"Robby",
"SPQRobin",
"Shirayuki",
"Siebrand",
"The Evil IP address",
"Umherirrender"
]
},
"gadgets-desc": "{{desc|name=Gadgets|url=https://www.mediawiki.org/wiki/Extension:Gadgets}}",
"prefs-gadgets": "In Gadgets extension. The name of a tab in [[Special:Preferences#mw-prefsection-gadgets|Special:Preferences]] where user set their preferences for the extension.\n\n{{Identical|Gadgets}}",
"prefs-description-gadgets": "Used in [[Special:Preferences]] for mobile to describe the Gadgets features section.",
"gadgets-prefstext": "In Gadgets extension. This is the explanation text displayed under the Gadgets tab in [[Special:Preferences#mw-prefsection-gadgets|Special:Preferences]].",
"gadgets-prefstext-safemode": "In Gadgets extension. Shown under the Gadgets tab in [[Special:Preferences#mw-prefsection-gadgets|Special:Preferences]] when safe mode is enabled (thus gadgets are disabled).",
"special-gadgets": "{{doc-special|Gadgets}}\n{{Identical|Gadgets}}",
"gadgetusage": "{{doc-special|Gadget usage statistics}}",
"gadgetusage-gadget": "Table column header on [[Special:GadgetUsage]]\n{{Identical|Gadget}}",
"gadgetusage-usercount": "Table column header on [[Special:GadgetUsage]]",
"gadgetusage-noresults": "Message shown to user when no gadgets found installed on the wiki. Used on [[Special:GadgetUsage]]",
"gadgetusage-intro": "Intro text on [[Special:GadgetUsage]] Parameter:\n* $1 - the number of days to consider for defining a user as active",
"gadgetusage-intro-noactive": "Intro text on [[Special:GadgetUsage]]",
"gadgetusage-activeusers": "Table column header for active users using a gadget",
"gadgetusage-default": "Message to indicate the gadget is default and actual stats are not available\n{{Identical|Default}}",
"gadgets-definition": "{{notranslate}}",
"gadgets-title": "{{Identical|Gadgets}}",
"gadgets-pagetext": "Used as intro text in [[Special:Gadgets]].",
"gadgets-editdescription": "Link for editing the gadget description shown in Special:Preferences. Used on [[Special:Gadgets]].",
"gadgets-viewdescription": "Link for viewing the gadget description shown in Special:Preferences. Used on [[Special:Gadgets]] instead of {{msg-mw|Gadgets-editdescription}} when the user does not have permissions to edit.",
"gadgets-uses": "This is used as a verb in third-person singular. It appears in front of a script name. Example: \"''Uses: Gadget-UTCLiveClock.js''\"\n\nSee [[meta:Special:Gadgets|Gadgets page in meta.wikimedia.org]]\n{{Identical|Use}}",
"gadgets-required-rights": "Parameters:\n* $1 - a comma-separated list.\n* $2 - the number of items in list $1 for PLURAL use.",
"gadgets-required-skins": "Parameters:\n* $1 - a comma-separated list.\n* $2 - the number of items in list $1 for PLURAL use.",
"gadgets-required-actions": "{{doc-important|The difference here is between specifically one action and more than one action. In languages that use the singular form for numbers other than 1 (for example, for 21), use <nowiki>{{PLURAL:$2|1=}}</nowiki>.}}\nParameters:\n* $1 - a comma-separated list.\n* $2 - the number of items in list $1 for PLURAL use.",
"gadgets-required-namespaces": "{{doc-important|The difference here is between specifically one namespace and more than one namespace. In languages that use the singular form for numbers other than 1 (for example, for 21), use <nowiki>{{PLURAL:$2|1=}}</nowiki>.}}\nParameters:\n* $1 - a comma-separated list.\n* $2 - the number of items in list $1 for PLURAL use.",
"gadgets-required-categories": "{{doc-important|The difference here is between specifically one category and more than category. In languages that use the singular form for numbers other than 1 (for example, for 21), use <nowiki>{{PLURAL:$2|1=}}</nowiki>.}}\nParameters:\n* $1 - a comma-separated list.\n* $2 - the number of items in list $1 for PLURAL use.",
"gadgets-required-contentmodels": "{{doc-important|The difference here is between specifically one content model and more than one content model. In languages that use the singular form for numbers other than 1 (for example, for 21), use <nowiki>{{PLURAL:$2|1=}}</nowiki>.}}\nParameters:\n* $1 - a comma-separated list.\n* $2 - the number of items in list $1 for PLURAL use.",
"gadgets-default": "Used in [[Special:Gadgets]], if the gadget is enabled for everyone by the Wiki's default settings.",
"gadgets-legacy": "Used on [[Special:Gadgets]], if the gadget contains legacy scripts and doesn't use ResourceLoader yet.",
"gadgets-packaged": "Used on [[Special:Gadgets]], if the gadget is [https://www.mediawiki.org/wiki/ResourceLoader/Package_files packaged]. Parameters:\n* $1 - script file which is the entry point",
"gadgets-export": "Used on [[Special:Gadgets]]. This is a verb, not noun.\n{{Identical|Export}}",
"gadgets-export-title": "Used as page title. Example: [[Special:Gadgets/export/editbuttons]]",
"gadgets-not-found": "Used as error message. Parameters:\n* $1 - gadget name",
"gadgets-export-text": "Used as page description in [[Special:Gadgets]].\n\nRefers to {{msg-mw|Gadgets-export-download}}.\n\nSee example: [[Special:Gadgets/export/editbuttons]]\n\nFollowed by the \"Export\" form.\n\nParameters:\n* $1 - gadget name\n* $2 - gadget definition (code)",
"gadgets-export-download": "Use the verb for this message. Submit button.\n{{Identical|Download}}",
"gadgets-requires-es6": "Message shown on [[Special:Gadgets]] for gadgets that only run on browsers that support ES6 (ES6 is a version of the JavaScript programming language).",
"gadgets-validate-notset": "Error message shown if a required property is not set. Parameters:\n* $1 - name of the property, e.g. settings.rights .",
"gadgets-validate-wrongtype": "Error message shown if a property is set to the wrong type.\n* $1 is the name of the property, e.g. <code>settings.rights</code> or <code>module.messages[3]</code>.\n* $2 is the type that this property is expected to have\n* $3 is the type it actually had",
"gadgets-validate-json": "Warning message to indicate that JSON files cannot be used as they are only valid in package gadgets",
"gadgets-validate-es6default": "Warning message to indicate that gadget requiring ES6 cannot be default.",
"gadgets-validate-noentrypoint": "Warning message to indicate that package flag will be ignored as no script files are specified.",
"gadgets-validate-noscripts": "Warning message to indicate that scripts will be ignored as this is a styles gadget.",
"gadgets-validate-stylepeers": "Warning message to indicate that peers will be ignored as they are not allowed for styles gadgets.",
"gadgets-validate-scriptsnotallowed": "Warning message to indicate that scripts or data pages are not allowed for styles gadgets.",
"gadgets-validate-invalidjs": "Warning message to indicate that a script has invalid content model. Parameters:\n* $1 - page name, $2 - given content model",
"gadgets-validate-invalidcss": "Warning message to indicate that a stylesheet has invalid content model. Parameters:\n* $1 - page name, $2 - given content model",
"gadgets-validate-invalidjson": "Warning message to indicate that a data page has invalid content model. Parameters:\n* $1 - page name, $2 - given content model",
"gadgets-validate-nopeer": "Warning message to indicate that peer gadget does not exist. Parameters:\n* $1 - the peer gadget",
"gadgets-validate-invalidpeer": "Warning message to indicate that the peer gadget is not a styles-only gadget, so will be ignored. Parameters:\n* $1 - the peer gadget",
"gadgets-validate-invalidactions": "Warning message to indicate that the actions are not recognised. Parameters:\n* $1 - comma-separated list of invalid actions\n* $2 - number of items in list $1",
"gadgets-validate-invalidcontentmodels": "Warning message to indicate that the content models are not recognised. Parameters:\n* $1 - comma-separated list of invalid content models\n* $2 - number of items in list $1",
"gadgets-validate-invalidnamespaces": "Warning message to indicate that the namespaces are not recognised. Parameters:\n* $1 - comma-separated list of invalid namespaces\n* $2 - number of items in list $1",
"gadgets-validate-invalidskins": "Warning message to indicate that the skins are not recognised. Parameters:\n* $1 - comma-separated list of invalid skins\n* $2 - number of items in list $1",
"gadgets-validate-invalidrights": "Warning message to indicate that the rights are not recognised. Parameters:\n* $1 - comma-separated list of invalid rights\n* $2 - number of items in list $1",
"gadgets-validate-invalidtitle": "Warning message to indicate that the page title is invalid. Parameters:\n* $1 - page name",
"gadgets-validate-unknownpages": "Warning message to indicate that a gadget contains pages without .js, .css or .json suffix, which are not recognised.",
"gadgets-validate-duplicate": "Warning message to indicate that the second gadget definition with the same name would be ignored. Parameters:\n* $1 -gadget name",
"gadgets-validate-nopage": "Warning message to indicate the script/style/json page does not exist. Parameters:\n* $1 - page name",
"gadgets-supports-urlload": "Used in [[Special:Gadgets]], if the gadget supports ?withgadget query parameter."
}