Addons Lokaliseren

Addons lokaliseren is simpel.

Berichten toevoegen

Onder addons-l10n/en/, maak een bestand genaamd ADDONID.json, waar ADDONID het addon-ID is (de mapnaam). Schrijf hier je berichten die je wilt vertalen:

{
  "ADDONID/meow": "Meow",
  "ADDONID/cats": "{getal, plural, one {1 kat} other {# katten}}",
  "ADDONID/eat": "Ik wil {food} eten!",
  "ADDONID/salmon": "zalm",
  "ADDONID/sardine": "sardien"
}

Plaatsvervangers

Soms hebben berichten dingen nodig die dynamisch gegenereerd zijn. Bijvoorbeeld, het aantal katten, of een invoer. Om dit te doen, kun je plaatsvervangers gebruiken zoals {plaatsvervangerNaam}. Plaatsvervangernaam zou alleen letters moeten hebben (geen getallen).

Meervouden

Wat als de plaatsvervanger een getal is? We kunnen meervouden gebruiken zoals {plaatsvervangerNaam, plural, one {als er één ding is} other {als er # dingen zijn}}. Als de plaatsvervanger 1 is, zal het “als er één ding is” staan, anders zegt het “wanneer er (plaatsvervanger) dingen zijn”.

De vertalingen gebruiken

Verander de eerste regel van je userscript van iets zoals:

export default async function ({ addon, console }) {

naar:

export default async function ({ addon, console, msg }) {

De nieuwe msg is de functie die je gebruikt voor vertalingen. Bijvoorbeeld, tekst = "Miauw" kan nu tekst = msg("miauw") zijn. Het addon-ID en de slash is weggelaten.

Plaatsvervangers

Je kunt plaatsvervangende waardes geven:

cat = msg("katten", {number: 1}) // laat "1 kat" zien
cats = msg("katten", {number: 3}) // laat "3 katten" zien
hungry = msg("eat", {food: "kabeljauw"}) // laat "Ik wil kabeljauw eten!" zien

Je kunt berichten ook “nesten”:

hungry2 = msg("eat", {food: msg("zalm")}) // laat "Ik wil zalm eten!" zien

Veiligheid

Als je onbewerkte HTML schrijft, zou msg vervangen moeten worden met een veiligere versie van safeMsg.


Verbeter deze pagina.

Opmerkingen

Zorg ervoor dat je je aan de gedragsregels houdt. Je kunt deze opmerkingssectie bekijken op GitHub-Discussies, net zoals je opmerking bewerken en verwijderen.