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

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对象 translatorTranslationHost中。 注册后,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)

翻译函数。根据 nameSpacekey 获取对应的翻译字符串。 如果找不到对应的Translator或翻译字符串,则返回 "nameSpace::key" 形式的字符串。

nameSpace 翻译命名空间,对应Translator的getNamespace()返回值。 key 翻译键,对应Translator中定义的翻译键。 return 返回翻译后的字符串,或 "nameSpace::key" 形式的字符串。

这个 function 从 Visindigo 0.13.0 开始支持。

另请参阅 tra(const QString& key).