Translator
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Il ruolo di un traduttore è di produrre/restituire le stringhe localizzate per il Giocatoredi visualizzazione. Può essere utilizzato per recuperare il testo visualizzato localizzato da un LocalizationTable . La fonte della ProprietàTranslator.LocaleId , la serie di tabelle che Cercaree l'ordine in cui cercherà sono dipendenti dal metodo utilizzato per creare l'esempio
L'input per un traduttore è la stringa di lingua di sviluppo originale e un contesto, in cui tutta o parte del contesto può essere utilizzata per trovare una traduzione più precisa / situazionale per la Stringadi origine.
Il traduttore può anche essere utilizzato per la produzione di stringhe tradotte con inseriti (sostituzioni dei dati) che possono cambiare l'ordine in base alla lingua di destinazione.
Sommario
Proprietà
La località delle stringhe tradotte.
Metodi
Restituisce la stringa di testo localizzata in un LocalizationTable in base alla sua posizione in Translator, per chiave.
Restituisce la stringa di testo localizzata in un LocalizationTable in base alla sua posizione Translator , alla ricerca di sorgente.
Proprietà
LocaleId
Il locale della lingua di output tradotta da questa tabella, per esempio "it-it" o "es-es". Le predefinizioni sono "it-it".
Metodi
FormatByKey
Restituisce la stringa di testo localizzata in un LocalizationTable in base alla sua Translator località, per chiave. La tabella opzionale args viene utilizzata per riempire i parametri di formato nella corrispondente voce di testo.
Nota che questo metodo mostrerà un errore nei seguenti casi:
- Se nessuno dei LocalizationTables disponibili a questo Translator include un valore per la chiave fornita.
- Se il formato stringa per la chiave usa parametri numerati e arge non è un vettore.
- Se il formato stringa usa parametri e arge non è una tabella di coppie chiave-valore.
- Se ** 1> 4> 7>** 0> 1> 4> 7> 8> 0> 1> 4> 7> 0> 1> 2> 3> 4> 5> 6> 7> 8> 0> 1> 2> 3> 4> 5> 6> 7> 8> 9> 0> 1> 2> 3> 4> 5> 6> 7> 8> 9> 0> 1> 2> 3> 4> 5> <
Vedi Localizzazione con lo scripting per maggiori dettagli e esempi d'uso di questa funzione.
Parametri
Il valore Chiave per cercare e tradurre.
Fornito se il testo della fonte e le traduzioni contengono stringhe di formato. Sarà una tabella Lua di valori o coppie di valore chiave, a seconda se le stringhe di formato sono numerate o nominate.
Restituzioni
Translate
Restituisce la stringa di testo localizzata in un LocalizationTable in base alla sua Translator località. Questa stringa sarà nel contesto dell'oggetto fornito, dato il testo di origine fornito.
Vedi Localizzazione con lo scripting per maggiori dettagli e esempi d'uso di questa funzione.
Ridimensionamento dei contexti
In alcuni casi, le dupliche Source stringhe potrebbero avere traduzioni completamente diverse in altre lingue. Ad esempio, il noun inglese "Screen" può indicare sia uno schermo del computer che uno schermo della finestra, ma le traduzioni spagnole sono completamente diverse:
<tr><td>Chiave</td><td>Contesto</td><td><b>Fonte</b></td><td>Esempio</td><td><b>es</b></td></tr><tr><td /><td /><td>Schermo</td><td /><td>Schermo</td></tr><tr><td /><td /><td>Schermo</td><td /><td>Mosquito</td></tr><tr><td /><td /><td /><td /><td /></tr></tbody>
Un | B | C | D | E |
In questi casi, il primo argomento a questa funzione — un valore di gioco valido in-game Instance — può essere utilizzato come "tie breaker" quando più oggetti GUI utilizzano la stessa Stringadi origine. Per implementare questo, specifica il "path" alla Instance che desideri sovrascrivere come valore contestuale dei dati di traduzione:
<tr><td>Chiave</td><td><b>Contesto</b></td><td>Fonte</td><td>Esempio</td><td>es</td></tr><tr><td /><td>workspace.ComputerScreen.SurfaceGui.TextLabel</td><td>Schermo</td><td /><td>Schermo</td></tr><tr><td /><td /><td>Schermo</td><td /><td>Mosquito</td></tr><tr><td /><td /><td /><td /><td /></tr></tbody>
Un | B | C | D | E |
Quindi, quando si chiama questa funzione in uno script, passa lo stesso Instance come primo argomento, seguito dal testo di ricerca Fonte come secondo argomento:
local LocalizationService = game:GetService("LocalizationService")
local success, translator = pcall(function()
return LocalizationService:GetTranslatorForPlayerAsync(game.Players.LocalPlayer)
end)
if success then
local trans = translator:Translate(workspace.ComputerScreen.SurfaceGui.TextLabel, "Screen")
print(trans)
else
warn("Cannot load translator for player!")
end
Parametri
Un valido Instance in gioco per usare come override di contesto come descritti sopra. Nota che questo argomento può essere arbitrario, ad esempio game , se non richiedi un Soprascriveredi contesto.
Il testo Fonte da cercare e tradurre.
Restituzioni
Il testo tradotto.