Visindigo::General::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 | registerTranslator(Visindigo::General::Translator *translator) |
(自 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) |
(自 Visindigo 0.13.0 引入) void | unregisterTranslator(Visindigo::General::Translator *translator) |
信号
| 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 开始支持。
[static, since Visindigo 0.13.0] Visindigo::General::TranslationHost *TranslationHost::getInstance()
return TranslationHost单例对象的指针。
这个function 从 Visindigo 0.13.0 开始支持。
[signal] void TranslationHost::langChanged(Visindigo::General::Translator::LangID id)
id 当前的全局语言ID。
当语言被更改时发出该信号。
[since Visindigo 0.13.0] void TranslationHost::registerTranslator(Visindigo::General::Translator *translator)
注册一个Translator对象 translator 到TranslationHost中。
注册后,TranslationHost会自动加载该Translator的默认语言文件和当前全局语言文件。 如果同一个Translator对象被重复注册,则不会有任何效果。
这个function 从 Visindigo 0.13.0 开始支持。
[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 开始支持。
[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 开始支持。
[since Visindigo 0.13.0] void TranslationHost::unregisterTranslator(Visindigo::General::Translator *translator)
从TranslationHost中注销一个Translator对象 translator 。
注销后,TranslationHost将不再管理该Translator,也不会再使用它进行翻译。 如果 translator 没有被注册,则不会有任何效果。
这个function 从 Visindigo 0.13.0 开始支持。