您好我是 Blackberry 10 平台的新手,我正在开发一个阿拉伯语应用程序。我不知道如何在我的应用程序中显示阿拉伯语文本。但是在黑莓网站中,有一些关于通过更改语言环境来显示阿拉伯语文本的信息,但我没有得到任何信息。请帮我
问问题
606 次
1 回答
3
您似乎已经熟悉BlackBerry关于国际化的页面。您还应该查看Qt页面。
您应该首先关注应用内文本:
- 在 qml 文件中,使用
qsTr("A string")
代替"A String"
- 在 C++ 文件中,使用
tr("A string")
代替"A String"
tr()' is part of QObject, so it only works for classes that herit
QObject`。有解决方法。
在 Momentics 中,打开名为 bar-descriptor.xml 文件的 BAR 应用程序描述符文件,然后在本地化选项卡中,添加您想要支持的所有语言环境。
然后,清除并重建您的项目。构建过程应.ts
在翻译目录中创建与项目名称匹配的文件,但以语言环境代码作为后缀。
.ts
每次构建缺少翻译的应用程序时,都应更新该文件。
该.ts
文件是一个 xml 文件,它将源文件 (.cpp
或.qml
) 中的内容与应在屏幕上显示的内容相匹配。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="fr_FR">
<context>
<name>Page</name>
<message>
<source>Like</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>
以下代码应该在您的 main.cpp 中,它确保您的应用程序尝试为您的应用程序找到合适的翻译。更改您的设备区域设置,重新加载您的应用程序,并且应该从您的.ts
文件中加载每个可翻译的文本。
// localization support
QTranslator translator;
QString locale_string = QLocale().name();
QString filename = QString( "ProReader_%1" ).arg( locale_string );
if (translator.load(filename, "app/native/qm")) {
app.installTranslator( &translator );
}
请注意,Momentics 存在一个已知限制,阻止它查找不在根子目录中的源文件。您必须更新您的 .pro 文件:
lupdate_inclusion {
SOURCES += \
$$quote($$BASEDIR/../assets/qml/*.qml) \
$$quote($$BASEDIR/../assets/720x720/qml/*.qml) \
$$quote($$BASEDIR/../src/*.cpp) \
$$quote($$BASEDIR/../src/app/*.cpp) \
$$quote($$BASEDIR/../src/feedreader/*.cpp) \
$$quote($$BASEDIR/../src/feedreader/storage/*.cpp) \
$$quote($$BASEDIR/../src/piwik/*.cpp)
}
于 2013-05-12T19:36:53.653 回答