Jump to content
Toggle menu
  • 3 articles
  • 22 files
  • 3 users
  • 2.5K edits
Shroudforge
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Modtekst vertalen

From Shroudforge
Revision as of 01:35, 7 November 2026 by Bonsaibauer (talk | contribs) (Importing a new version from external source)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Translate mod text



Vertaal zichtbare Modloader-tekst en Lua-tekst met dezelfde taalbestanden in de modmap. Lees de Modloader-taal via shroudforge.locale(), toegevoegd in PR #42.

Taalbestanden

Voeg voor elke taal één bestand toe onder locales/<code>.json. De huidige codes uit de taalkeuze van Modloader zijn de, de-AT, de-CH, en-GB, en-US, es, fr, hi, it, ja, nl, pl, sv en zh. De bestandsnaam moet exact overeenkomen met de code. Deze bestanden staan naast mod.json en extended.mod.json.

Het schema is gepubliceerd als mod-locale.schema.json. Een taalcatalogus kan mod.name en mod.description, labels van instellingen en opties, groepen, acties, changelogregels en Lua-strings vertalen. Catalogi mogen gedeeltelijk zijn. Niet-vertaalde items behouden de brontekst.

{
  "$schema": "https://bonsaibauer.github.io/shroudforge/schemas/mod-locale.schema.json",
  "settings": {
    "severity": {
      "label": "Log level",
      "options": { "info": "Information", "warn": "Warning" }
    }
  },
  "groups": [
    { "label": "Logging", "actions": { "write": { "label": "Write message" } } }
  ],
  "strings": { "overlay.ready": "Ready" }
}

Sleutels voor instellingen en opties blijven hetzelfde als in extended.mod.json. Vertalingen van groepen volgen de volgorde van de groepen in dat bestand. Actievertalingen gebruiken de bestaande actie-ID. Opgeslagen waarden veranderen niet.

Dezelfde tekst in Lua gebruiken

local locale = shroudforge.locale()
local ready = shroudforge.i18n.get("overlay.ready", locale, "Ready")

shroudforge.i18n.get(key, locale, fallback) gebruikt dezelfde catalogus die door Modloader is geladen. Het controleert eerst een regiocode zoals de-AT en daarna de bijbehorende taal de. Als een tekenreeks ontbreekt, retourneert de functie de terugvaltekst of de sleutel wanneer geen terugvaltekst is opgegeven. Bestanden worden bij het opzoeken niet opnieuw gelezen. PR #42 levert de taal-API en deze functie verbindt die met de catalogus van elke mod.

Als shroudforge.locale() en retourneert omdat de configuratie niet kan worden gelezen, controleert de catalogus eerst en-GB.json en daarna en.json. en-GB is de standaardtaal Engels van Modloader. en-US blijft beschikbaar als expliciet gekozen variant.

Taalbestanden vereisen geen runtime-mogelijkheid. ShroudForge-interfacetekst blijft in de gedeelde Modloader-vertalingen.