Ale*_*eto 5 python translation pyqt
为了允许QGIS的 Python 插件国际化,我使用QCoreApplication.translate()如下:
message = QCoreApplication.translate('Multipart split',"No multipart features selected.")
Run Code Online (Sandbox Code Playgroud)
如何准备动态字符串,如下所示,
message = "Splited " + str(n_of_splitted_features) + " multipart feature(s)"
Run Code Online (Sandbox Code Playgroud)
翻译,而不需要打破每个子字符串,像这样
message = QCoreApplication.translate('Multipart split','Splited ') + str(n_of_splitted_features) + QCoreApplication.translate('Multipart split', 'multipart feature(s)')
Run Code Online (Sandbox Code Playgroud)
这似乎不是最好的选择。
我发现在 C++ 中使用tr()with .arg(),可以这样做:
statusBar()->showMessage(tr("Host %1 found").arg(hostName))
Run Code Online (Sandbox Code Playgroud)
但是我无法使用 Python 进行复制。
format对方法的结果尝试命令tr:
statusBar().showMessage(tr("Host {0} found").format(hostName))
Run Code Online (Sandbox Code Playgroud)
文件中的翻译ts也应包含该{0}字符串。
编辑:使用Python 2.7(显然还有Python 3),如果你看起来只有一个参数,你可以简单地键入{}而不需要。0正如塞西尔提到的,保留数字以{}应对国际化。
| 归档时间: |
|
| 查看次数: |
1936 次 |
| 最近记录: |