TranslationServer¶
继承: Object
负责语言翻译的服务器。
描述¶
翻译服务器是管理所有语言翻译的API后端。
翻译存储在TranslationDomains中,可以通过名称访问。最常用的翻译域是主翻译域。它始终存在,并且可以使用空的StringName进行访问。翻译服务器提供了直接访问主翻译域的包装器方法,而无需先获取翻译域。自定义翻译域主要用于编辑器插件等高级用途。以i3d.开头的名称保留给引擎内部。
属性¶
方法¶
void |
add_translation(translation: Translation) |
void |
clear() |
compare_locales(locale_a: String, locale_b: String) const |
|
get_all_countries() const |
|
get_all_languages() const |
|
get_all_scripts() const |
|
get_country_name(country: String) const |
|
get_language_name(language: String) const |
|
get_loaded_locales() const |
|
get_locale() const |
|
get_locale_name(locale: String) const |
|
get_or_add_domain(domain: StringName) |
|
get_script_name(script: String) const |
|
get_translation_object(locale: String) |
|
has_domain(domain: StringName) const |
|
pseudolocalize(message: StringName) const |
|
void |
|
void |
remove_domain(domain: StringName) |
void |
remove_translation(translation: Translation) |
void |
set_locale(locale: String) |
standardize_locale(locale: String, add_defaults: bool = false) const |
|
translate(message: StringName, context: StringName = &"") const |
|
translate_plural(message: StringName, plural_message: StringName, n: int, context: StringName = &"") const |
属性说明¶
bool pseudolocalization_enabled = false 🔗
如果true,则启用在主翻译域上使用伪本地化。有关详细信息,请参阅ProjectSettings.internationalization/pseudolocalization/use_pseudolocalization。
方法说明¶
void add_translation(translation: Translation) 🔗
将翻译添加到主翻译域。
void clear() 🔗
从主翻译域中删除所有翻译。
int compare_locales(locale_a: String, locale_b: String) const 🔗
比较两个语言环境并返回0(不匹配)和10(完全匹配)之间的相似度分数。
PackedStringArray get_all_countries() const 🔗
返回已知国家代码的数组。
PackedStringArray get_all_languages() const 🔗
返回已知语言代码的数组。
PackedStringArray get_all_scripts() const 🔗
返回已知脚本代码的数组。
String get_country_name(country: String) const 🔗
返回country代码的可读国家名称。
String get_language_name(language: String) const 🔗
返回language代码的可读语言名称。
PackedStringArray get_loaded_locales() const 🔗
返回项目的所有加载语言环境的数组。
返回项目的当前语言环境。
另请参见OS.get_locale()和OS.get_locale_language()来查询用户系统的区域设置。
String get_locale_name(locale: String) const 🔗
返回语言环境的语言及其变体(例如"en_US"将返回"English(United America)")。
TranslationDomain get_or_add_domain(domain: StringName) 🔗
返回具有指定名称的翻译域。如果不存在,将创建并添加一个空的翻译域。
String get_script_name(script: String) const 🔗
返回script代码的可读脚本名称。
返回编辑器的当前语言环境。
注意:从导出的项目调用时返回与get_locale()相同的值。
Translation get_translation_object(locale: String) 🔗
返回主翻译域中与locale最匹配的Translation实例。如果没有匹配项,则返回null。
bool has_domain(domain: StringName) const 🔗
如果存在具有指定名称的翻译域,则返回true。
StringName pseudolocalize(message: StringName) const 🔗
根据传入的message返回伪本地化字符串。
注意:此方法始终使用主翻译域。
void reload_pseudolocalization() 🔗
修复伪本地化选项并重新加载主翻译域的翻译。
void remove_domain(domain: StringName) 🔗
删除具有指定名称的翻译域。
注意:尝试删除主翻译域是错误的。
void remove_translation(translation: Translation) 🔗
从主翻译域中删除给定的翻译。
void set_locale(locale: String) 🔗
设置项目的语言环境。locale字符串将被标准化以匹配已知的语言环境(例如en-US将匹配en_US)。
如果已预先为新语言环境加载翻译,则将应用它们。
String standardize_locale(locale: String, add_defaults: bool = false) const 🔗
返回一个标准化的locale字符串以匹配已知的语言环境(例如en-US将匹配到en_US)。如果add_defaults是true,则该语言环境可能添加了默认脚本或国家。
StringName translate(message: StringName, context: StringName = &"") const 🔗
返回给定消息和上下文的当前语言环境翻译。
注意:此方法始终使用主翻译域。
StringName translate_plural(message: StringName, plural_message: StringName, n: int, context: StringName = &"") const 🔗
返回给定消息、复数消息和上下文的当前语言环境翻译。
数字n是复数对象的数量。它将用于指导翻译系统为所选语言获取正确的复数形式。
注意:此方法始终使用主翻译域。