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.

Tradurre il testo delle mod

From Shroudforge
This page is a translated version of the page Translate mod text and the translation is 100% complete.


Translate mod text



Traduci il testo visibile del Modloader e il testo Lua usando gli stessi file locale nella cartella della mod. Leggi la lingua del Modloader tramite shroudforge.locale(), aggiunta dalla PR #42.

File locale

Aggiungi un file locales/<code>.json per ogni lingua. I codici attuali del selettore della lingua del Modloader sono de, de-AT, de-CH, en-GB, en-US, es, fr, hi, it, ja, nl, pl, sv e zh. Il nome del file deve corrispondere esattamente al codice. Questi file si trovano accanto a mod.json e extended.mod.json.

Lo schema è pubblicato come mod-locale.schema.json. Un catalogo locale può tradurre mod.name e mod.description, le etichette di impostazioni e opzioni, i gruppi, le azioni, le righe del changelog e le strings Lua. I cataloghi possono essere parziali. Le voci senza traduzione mantengono il testo sorgente.

{
  "$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" }
}

Le chiavi di impostazioni e opzioni restano uguali a quelle di extended.mod.json. Le traduzioni dei gruppi seguono l'ordine dei gruppi in quel file. Le traduzioni delle azioni usano l'ID esistente dell'azione. I valori salvati non cambiano.

Usa lo stesso testo in Lua

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

shroudforge.i18n.get(key, locale, fallback) usa lo stesso catalogo caricato dal Modloader. Controlla prima un codice regionale come de-AT, poi la relativa lingua de. Se manca una stringa, restituisce il testo di fallback o, se non è specificato, la chiave. La ricerca non rilegge i file. La PR #42 fornisce l'API della lingua e questa funzione la collega al catalogo di ogni mod.

Se shroudforge.locale() restituisce en perché non è possibile leggere la configurazione, il catalogo controlla prima en-GB.json e poi en.json. en-GB è la lingua inglese predefinita del Modloader. en-US resta disponibile come variante selezionabile esplicitamente.

I file locale non richiedono la capacità runtime. Il testo dell'interfaccia ShroudForge resta nelle traduzioni condivise del Modloader.