LocalizationTable

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Une table de localisation est une base de données de traductions.Il contient des chaînes sources et des traductions pour diverses langues.Il est utilisé avec le système de traducteur automatique Translator et LocalizationService pour contrôler les traductions de texte dans le jeu.Les tables de localisation sont conçues pour être traitées comme des ressources, comme une texture ou un script.Ils ne sont pas optimisés pour être modifiés à l'exécution.Changer le contenu d'une table provoquera la réplication de tout le contenu de la table à tous les joueurs.

Entrées de la table de localisation

Chaque table de localisation contient un ensemble d'entrées. Chaque entrée contient les traductions du texte, ainsi que quelques champs spéciaux :

  • Clé est une clé unique facultative pour les recherches de hachage rapides dans le code. S'il n'est pas vide, il doit être unique dans la table.
  • Source est le texte original dans la langue source qui sera utilisé par le système de remplacement de texte automatique LocalizationService pour correspondre au texte de l'interface graphique et rendre une traduction à la place.Le champ Source peut être rempli par les outils de capture de texte, ou peut être défini manuellement.Pour les recherches basées sur des clés, la valeur Source peut être utilisée comme traduction pour LocalizationTable.SourceLocaleId si l'entrée n'a pas de traduction pour ce local.Si la source est vide, l'entrée ne sera pas utilisée par le système de remplacement automatique.
  • Le contexte est le nom complet de l'instance pour l'objet sur lequel le texte est apparu.Le contexte est utilisé pour la désambiguïsation par le système de remplacement de texte automatique.Lorsque plusieurs correspondances pour la source sont trouvées, le système choisira la meilleure correspondance en retournant en arrière à partir de la fin de la chaîne de contexte.Il existe d'autres façons plus robustes de gérer la désambiguïsation disponibles également, comme l'utilisation de plusieurs tables avec GuiBase2d.RootLocalizationTable .
  • Exemple est tout ce que vous voulez qu'il soit.Si l'outil de capture de texte a deviné certains paramètres pour une chaîne, le champ d'exemple contiendra un exemple d'entre eux utilisés dans le contexte.

Tous ces champs sont facultatifs, mais au moins une clé ou une source doit être non vide. Deux entrées ne peuvent pas avoir le même clé, source et contexte.

Voir traduire le contenu dynamique pour plus d'informations.

Échantillons de code

LocalizationTable

local LocalizationService = game:GetService("LocalizationService")
local function createLocalizationTable(entries)
local localTable = Instance.new("LocalizationTable")
localTable.DevelopmentLanguage = LocalizationService.SystemLocaleId
localTable:SetEntries(entries)
return localTable
end
local entries = {
{
Key = "Hello_World", -- The 'expressionKey' to be used with GetString
Values = { -- A dictionary of keys corresponding to IETF language tags, and their translations.
["ru"] = " !", -- Russian
["fr"] = "Bonjour le monde!", -- French
["de"] = "Hallo Welt!", -- German
["en-US"] = "Hello world!", -- English
["it"] = "Ciao mondo!", -- Italian
["pt-BR"] = "Ol Mundo!", -- Portuguese
["ja"] = "", -- Japanese
["es"] = "Hola Mundo!", -- Spanish
},
},
}
local helloWorldTable = createLocalizationTable(entries)
print(helloWorldTable:GetString("en-US", "Hello_World"))

Résumé

Propriétés

Méthodes

  • Retourne un ensemble de dictionnaires, où chaque dictionnaire représente une entrée de données de localisation.

  • Retourne un Translator pour les entrées dans cette table de localisation, dans la langue spécifiée.

  • RemoveEntry(key : string,source : string,context : string):()

    Supprime une entrée de la table de localisation en utilisant le key, source et context spécifié pour réduire l'entrée spécifique à être supprimée.

  • RemoveEntryValue(key : string,source : string,context : string,localeId : string):()

    Supprime une seule traduction en langue de la table de localisation, en utilisant le key, source, context et localeId fourni pour réduire l'entrée spécifique à supprimer.

  • RemoveTargetLocale(localeId : string):()

    Supprime toutes les traductions de la table de localisation avec l'ID local spécifié.

  • SetEntries(entries : Variant):()

    Définit le contenu de la table de localisation.

  • SetEntryContext(key : string,source : string,context : string,newContext : string):()

    Définit le champ contexte d'une entrée de table de localisation à newContext , en utilisant le key , source et context spécifié pour réduire l'entrée qui aura cette modification appliquée.

  • SetEntryExample(key : string,source : string,context : string,example : string):()

    Définir le champ Exemple d'une entrée de Table de localisation à example , en utilisant le key , source et context spécifié pour réduire l'entrée qui aura cette modification appliquée.

  • SetEntryKey(key : string,source : string,context : string,newKey : string):()

    Définit le champ Clé d'une entrée de Table de localisation à newKey , en utilisant le key , source et context spécifié pour réduire l'entrée qui aura cette modification appliquée.

  • SetEntrySource(key : string,source : string,context : string,newSource : string):()

    Définit le champ source d'une entrée de Table de localisation sur newSource , en utilisant le key , source et context spécifié pour réduire l'entrée qui aura cette modification appliquée.

  • SetEntryValue(key : string,source : string,context : string,localeId : string,text : string):()

    Définit le texte de l'ID local spécifié dans une entrée de table de localisation, en utilisant les sous-paramètres key, source et context pour affiner l'entrée qui aura cette modification appliquée.

Propriétés

SourceLocaleId

Lecture parallèle

La chaîne de touches d'entrée locale de la table, par exemple « en-us » ou « es-es ». Il s'agit généralement de la « langue de développement » du jeu.Pour un traducteur qui fusionne plusieurs objets de table de localisation, c'est l'ID de la localisation par défaut de la table de localisation.Défaut à "en-us".

Méthodes

GetEntries

La fonction GetEntries renvoie une série de dictionnaires contenus dans un donné LocalizationTable, où chaque dictionnaire représente une entrée de données de localisation.

Pour définir les entrées d'une table de localisation, vous pouvez utiliser LocalizationTable:SetEntries() .

Chaque dictionnaire dans l'array contient les champs suivants :


<th>Type</th>
<th>Avertissement</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<b>Clé</b>
</td>
<td><code>Bibliothèque.string</code></td><td>Une clé de recherche pour cette entrée spécifique dans la table de localisation.</td>
</tr>
<tr>
<td>
<b>Source</b>
</td>
<td><code>Library.string</code></td><td>La chaîne utilisée pour former la chaîne localisée. Utilisée comme recherche si aucune clé n'est fournie.</td>
</tr>
<tr>
<td>
<b>Contexte</b>
</td>
<td><code>Bibliothèque.string</code></td><td>Un chemin <code>Class.Instance:GetFullName()</code> vers l'objet qui a été utilisé pour générer la table de localisation.Utilisé comme recherche si une clé n'est pas fournie.</td>
</tr>
<tr>
<td>
<b>Exemple</b>
</td>
<td><code>Bibliothèque.string</code></td><td>La chaîne utilisée pour former la localisation. Optionnel.</td>
</tr>
<tr>
<td>
<b>Valeurs</b>
</td>
<td><code>Dictionnaire</code></td><td>Un dictionnaire de traductions de langue pour cette entrée de localisation.Les clés de ce dictionnaire sont des identifiants locaux, et les valeurs sont des chaînes utilisées pour appliquer la localisation pour la langue correspondant à l'ID local.</td>
</tr>
</tbody>
Indice

Retours

Un ensemble de dictionnaires, où chaque dictionnaire représente une entrée de données de localisation.

Échantillons de code

The following code sample creates a LocalizationTable, sets its entries, then gets and displays its entries. In order for this example to work, a LocalizationTable instance must be located inside the LocalizationService service.

The entries variable is a table of dictionaries, each with the format required to create a LocalizationTable with LocalizationTable:SetEntries().

The get_results variable is a table of dictionaries - the same table that we created with the entries variable. We then loop through each of the tables in this dictionary to display its Values/strings.

Using a LocalizationTable

local LocalizationService = game:GetService("LocalizationService")
local localizationTable = LocalizationService:FindFirstChild("LocalizationTable")
local entries = {
{
["Key"] = "0001",
["Source"] = "en-us",
["Values"] = {
["0001"] = "Hello Muddah, hello Fadduh.",
["0002"] = "Here I am at Camp Granada.",
["0003"] = "Camp is very entertaining.",
["0004"] = "And they say we'll have some fun if it stops raining.",
},
},
}
localizationTable:SetEntries(entries)
local get_results = localizationTable:GetEntries()
for _index, dict in pairs(get_results) do
for _key, value in pairs(dict["Values"]) do -- Loop through every key, value pair in the dictionary to print our strings
print(value)
end
end

GetTranslator

Retourne un Translator pour les entrées dans cette table de localisation, dans la langue spécifiée.Le traducteur recherchera d'abord dans cette table, puis regardera dans les tables d'ancêtres.

Paramètres

localeId: string
Valeur par défaut : ""

Retours

RemoveEntry

()

Supprime une entrée de la table de localisation en utilisant le key, source et context spécifié pour réduire l'entrée spécifique à être supprimée.

Paramètres

key: string
Valeur par défaut : ""
source: string
Valeur par défaut : ""
context: string
Valeur par défaut : ""

Retours

()

RemoveEntryValue

()

Supprime une seule traduction en langue de la table de localisation, en utilisant le key, source, context et localeId fourni pour réduire l'entrée spécifique à supprimer.

Paramètres

key: string
Valeur par défaut : ""
source: string
Valeur par défaut : ""
context: string
Valeur par défaut : ""
localeId: string
Valeur par défaut : ""

Retours

()

RemoveTargetLocale

()

Supprime toutes les traductions de la table de localisation avec l'ID local spécifié.

Paramètres

localeId: string
Valeur par défaut : ""

Retours

()

SetEntries

()

Définit le contenu de la table de localisation.

Le paramètre des entrées doit être un tableau de dictionnaires dans le même format que celui retourné par la fonction LocalizationTable:GetEntries().

Paramètres

entries: Variant
Valeur par défaut : ""

Retours

()

SetEntryContext

()

Définit le champ contexte d'une entrée de table de localisation à newContext , en utilisant le key , source et context spécifié pour réduire l'entrée qui aura cette modification appliquée.

Paramètres

key: string
Valeur par défaut : ""
source: string
Valeur par défaut : ""
context: string
Valeur par défaut : ""
newContext: string
Valeur par défaut : ""

Retours

()

SetEntryExample

()

Définir le champ Exemple d'une entrée de Table de localisation à example , en utilisant le key , source et context spécifié pour réduire l'entrée qui aura cette modification appliquée.

Paramètres

key: string
Valeur par défaut : ""
source: string
Valeur par défaut : ""
context: string
Valeur par défaut : ""
example: string
Valeur par défaut : ""

Retours

()

SetEntryKey

()

Définit le champ Clé d'une entrée de Table de localisation à newKey , en utilisant le key , source et context spécifié pour réduire l'entrée qui aura cette modification appliquée.

Paramètres

key: string
Valeur par défaut : ""
source: string
Valeur par défaut : ""
context: string
Valeur par défaut : ""
newKey: string
Valeur par défaut : ""

Retours

()

SetEntrySource

()

Définit le champ source d'une entrée de Table de localisation sur newSource , en utilisant le key , source et context spécifié pour réduire l'entrée qui aura cette modification appliquée.

Paramètres

key: string
Valeur par défaut : ""
source: string
Valeur par défaut : ""
context: string
Valeur par défaut : ""
newSource: string
Valeur par défaut : ""

Retours

()

SetEntryValue

()

Définit le texte de l'ID local spécifié dans une entrée de table de localisation, en utilisant les sous-paramètres key, source et context pour affiner l'entrée qui aura cette modification appliquée.

Paramètres

key: string
Valeur par défaut : ""
source: string
Valeur par défaut : ""
context: string
Valeur par défaut : ""
localeId: string
Valeur par défaut : ""
text: string
Valeur par défaut : ""

Retours

()

Évènements