我正在使用C ++和QML开发Qt程序,具体取决于数据库服务器。我想将程序翻译成3种语言。我已经翻译了程序中的所有单词。并且我在文本文件中有字符串列表,每隔10秒我将从数据库中收到一句话,其中包含一些字符串列表中已经存在的单词,如何在运行时使用此列表来翻译此情感。 / p>
答案 0 :(得分:1)
QTranslator类和tr函数可用于这种情况。
您可以从本地文件或原始数据加载翻译文件。 并使用tr函数翻译您的字符串。
QString QObject :: tr(const char * sourceText)
返回sourceText的翻译版本,可以选择基于 消除歧义的字符串和包含复数的字符串的n值; 否则返回QString :: fromUtf8(sourceText) 提供翻译后的字符串。
void MainWindow::createActions()
{
QMenu *fileMenu = menuBar()->addMenu(tr("&File"));
...
答案 1 :(得分:1)
可以使用QTranslator Class。首先必须创建一个文件,该文件定义所有常量字符串的字典。这是一个质量管理文件。
必须在应用程序中加载它,然后才能使用translate()函数来获取以指定语言翻译的字符串。
您可以找到一个不错的official example here