TranslationHost Class
class Visindigo::General::TranslationHost此类为YayinStoryStudio提供翻译管理器。. 详情...
| 头文件: | #include <General/TranslationHost.h> |
| 自以下版本: | Visindigo 0.13.0 |
公开成员函数
(自 Visindigo 0.13.0 引入) | ~TranslationHost() |
(自 Visindigo 0.13.0 引入) void | active(Visindigo::General::Translator *translator) |
(自 Visindigo 0.13.0 引入) QString | i18n(const QString &raw) |
(自 Visindigo 0.13.0 引入) void | setLangID(Visindigo::General::Translator::LangID id) |
(自 Visindigo 0.13.0 引入) QString | tra(const QString &key) |
(自 Visindigo 0.13.0 引入) QString | tra(const QString &nameSpace, const QString &key) |
信号
| void | langChanged(Visindigo::General::Translator::LangID id) |
静态公开成员
(自 Visindigo 0.13.0 引入) Visindigo::General::TranslationHost * | getInstance() |
详细说明
TranslationHost负责管理所有Translator,并提供统一的翻译接口。
TranslationHost可以中途切换语言,切换语言后,所有已注册的Translator都会重新加载对应语言的翻译文件。 在Translator全部重载完毕后,TranslationHost会发出langChanged 信号,通知应用程序语言已更改。
另请参阅 Translator.
成员函数文档
[noexcept, since Visindigo 0.13.0] TranslationHost::~TranslationHost()
析构TranslationHost对象。一般来说,没有任何情况需要手动析构此对象。TranslationHost应该与使用它的应用程序有一致的生命周期。
这个 function 从 Visindigo 0.13.0 开始支持。
[since Visindigo 0.13.0] void TranslationHost::active(Visindigo::General::Translator *translator)
注册一个Translator对象 translator 到TranslationHost中。 注册后,TranslationHost会自动加载该Translator的默认语言文件和当前全局语言文件。 如果同一个Translator对象被重复注册,则不会有任何效果。
这个 function 从 Visindigo 0.13.0 开始支持。
[static, since Visindigo 0.13.0] Visindigo::General::TranslationHost *TranslationHost::getInstance()
获取TranslationHost单例对象的指针。
这个 function 从 Visindigo 0.13.0 开始支持。
[since Visindigo 0.13.0] QString TranslationHost::i18n(const QString &raw)
国际化翻译函数。如果 raw 以 "i18n:" 开头,则将其视为需要翻译的字符串,格式为 "i18n:nameSpace::key"。 函数会提取 nameSpace 和 key,并调用 tr(nameSpace, key) 进行翻译。 如果 raw 不以 "i18n:" 开头,则直接返回 raw 本身。
raw 可能需要翻译的原始字符串。 return 返回翻译后的字符串,或 raw 本身。
这个 function 从 Visindigo 0.13.0 开始支持。
另请参阅 tr(const QString& nameSpace, const QString& key).
[signal] void TranslationHost::langChanged(Visindigo::General::Translator::LangID id)
当语言被更改时发出该信号。
[since Visindigo 0.13.0] void TranslationHost::setLangID(Visindigo::General::Translator::LangID id)
设置全局语言ID为 id 。 如果当前语言ID与 id 不同,则会重新加载所有已注册的Translator的翻译文件,并发出langChanged 信号。
这个 function 从 Visindigo 0.13.0 开始支持。
[since Visindigo 0.13.0] QString TranslationHost::tra(const QString &key)
翻译函数。根据 key 获取对应的翻译字符串。 key 应为 "nameSpace::key" 形式的字符串,其中 nameSpace 对应Translator的getNamespace()返回值,key对应Translator中定义的翻译键。 如果找不到对应的Translator或翻译字符串,则返回 key 本身。
key 翻译键,必须为 "nameSpace::key" 形式的字符串。 return 返回翻译后的字符串,或 key 本身。
这个 function 从 Visindigo 0.13.0 开始支持。
另请参阅 tra(const QString& nameSpace, const QString& key).
[since Visindigo 0.13.0] QString TranslationHost::tra(const QString &nameSpace, const QString &key)
翻译函数。根据 nameSpace 和 key 获取对应的翻译字符串。 如果找不到对应的Translator或翻译字符串,则返回 "nameSpace::key" 形式的字符串。
nameSpace 翻译命名空间,对应Translator的getNamespace()返回值。 key 翻译键,对应Translator中定义的翻译键。 return 返回翻译后的字符串,或 "nameSpace::key" 形式的字符串。
这个 function 从 Visindigo 0.13.0 开始支持。
另请参阅 tra(const QString& key).