Yayin Story Studio logo Yayin Story Studio 项目文档
回到主页 用户手册

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对象 translatorTranslationHost中。

注册后,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)

翻译函数。根据 nameSpacekey 获取对应的翻译字符串。

如果找不到对应的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 开始支持。