Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Translation

Hérite de : Resource < RefCounted < Object

Hérité par : OptimizedTranslation

Une traduction de langue qui associe une collection de chaînes à leurs traductions individuelles.

Description

Translation maps a collection of strings to their individual translations, and also provides convenience methods for pluralization.

A Translation consists of messages. A message is identified by its context and untranslated string. Unlike gettext, using an empty context string in Godot means not using any context.

Tutoriels

Propriétés

String

locale

"en"

String

plural_rules_override

""

Méthodes

StringName

_get_message(src_message: StringName, context: StringName) virtual const

StringName

_get_plural_message(src_message: StringName, src_plural_message: StringName, n: int, context: StringName) virtual const

void

add_message(src_message: StringName, xlated_message: StringName, context: StringName = &"")

void

add_plural_message(src_message: StringName, xlated_messages: PackedStringArray, context: StringName = &"")

void

erase_message(src_message: StringName, context: StringName = &"")

StringName

get_message(src_message: StringName, context: StringName = &"") const

int

get_message_count() const

PackedStringArray

get_message_list() const

StringName

get_plural_message(src_message: StringName, src_plural_message: StringName, n: int, context: StringName = &"") const

PackedStringArray

get_translated_message_list() const


Descriptions des propriétés

String locale = "en" 🔗

La langue de la traduction.


String plural_rules_override = "" 🔗

  • void set_plural_rules_override(value: String)

  • String get_plural_rules_override()

The plural rules string to enforce. See GNU gettext for examples and more info.

If empty or invalid, default plural rules from TranslationServer.get_plural_rules() are used. The English plural rules are used as a fallback.


Descriptions des méthodes

StringName _get_message(src_message: StringName, context: StringName) virtual const 🔗

La méthode virtuelle get_message() à surcharger.


StringName _get_plural_message(src_message: StringName, src_plural_message: StringName, n: int, context: StringName) virtual const 🔗

Méthode virtuelle pour redéfinir get_plural_message().


void add_message(src_message: StringName, xlated_message: StringName, context: StringName = &"") 🔗

Ajoute un message s'il n'existe pas, suivi de sa traduction.

Un contexte supplémentaire pourrait être utilisé pour spécifier le contexte de traduction ou différencier les mots polysémiques.


void add_plural_message(src_message: StringName, xlated_messages: PackedStringArray, context: StringName = &"") 🔗

Adds a message involving plural translation if nonexistent, followed by its translation.

An additional context could be used to specify the translation context or differentiate polysemic words.


void erase_message(src_message: StringName, context: StringName = &"") 🔗

Efface un message.


StringName get_message(src_message: StringName, context: StringName = &"") const 🔗

Renvoie la traduction d’un message.


int get_message_count() const 🔗

Renvoie le nombre de messages existants.


PackedStringArray get_message_list() const 🔗

Returns the keys of all messages, that is, the context and untranslated strings of each message.

Note: If a message does not use a context, the corresponding element is the untranslated string. Otherwise, the corresponding element is the context and untranslated string separated by the EOT character (U+0004). This is done for compatibility purposes.

for key in translation.get_message_list():
    var p = key.find("\u0004")
    if p == -1:
        var untranslated = key
        print("Message %s" % untranslated)
    else:
        var context = key.substr(0, p)
        var untranslated = key.substr(p + 1)
        print("Message %s with context %s" % [untranslated, context])

StringName get_plural_message(src_message: StringName, src_plural_message: StringName, n: int, context: StringName = &"") const 🔗

Renvoie la traduction d'un message impliquant des pluriels.

Le nombre n est le nombre ou la quantité de l'objet pluriel. Il sera utilisé pour guider le système de traduction pour obtenir la bonne forme du pluriel pour la langue choisie.

Note : Les pluriels sont uniquement supportées dans les traductions basées sur gettext (PO), pas en CSV.


PackedStringArray get_translated_message_list() const 🔗

Returns all the translated strings.