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.
Checking the stable version of the documentation...
Translation
繼承: Resource < RefCounted < Object
被繼承: OptimizedTranslation
語言翻譯,能夠將一組字串對應到對應的翻譯。
說明
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.
教學
屬性
|
||
|
方法
_get_message(src_message: StringName, context: StringName) virtual const |
|
_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 = &"") |
get_message(src_message: StringName, context: StringName = &"") const |
|
get_message_count() const |
|
get_message_list() const |
|
get_plural_message(src_message: StringName, src_plural_message: StringName, n: int, context: StringName = &"") const |
|
get_translated_message_list() const |
屬性說明
翻譯的區域設定。
String 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.
方法說明
StringName _get_message(src_message: StringName, context: StringName) virtual const 🔗
覆蓋 get_message() 的虛方法。
StringName _get_plural_message(src_message: StringName, src_plural_message: StringName, n: int, context: StringName) virtual const 🔗
覆蓋 get_plural_message() 的虛方法。
void add_message(src_message: StringName, xlated_message: StringName, context: StringName = &"") 🔗
如果不存在,則新增一條消息,後跟其翻譯。
可以使用一個額外的本文,來指定翻譯本文或區分多義詞。
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 = &"") 🔗
刪除資訊。
StringName get_message(src_message: StringName, context: StringName = &"") const 🔗
返回資訊的翻譯。
int get_message_count() const 🔗
返回現有資訊的數量。
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 🔗
Returns a message's translation involving plurals.
The number n is the number or quantity of the plural object. It will be used to guide the translation system to fetch the correct plural form for the selected language.
Note: Plurals are only supported in gettext-based translations (PO), not CSV.
PackedStringArray get_translated_message_list() const 🔗
Returns all the translated strings.