我使用lrelease
命令从.qm
文件创建.ts
文件。但是,当我更改语言时,只有少数几个词会被翻译。
有趣的部分是其中一个字符串在一个地方翻译而在另一个地方不翻译。可能有什么不对?
答案 0 :(得分:0)
您确定您的.ts文件格式为此吗?
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="it_IT">
<context>
<name>CustomDialogItems</name>
<message>
<location filename="../assets/CustomDialogItems.qml" line="39"/>
<location filename="../assets/CustomDialogItems.qml" line="58"/>
<source>Max Number of items</source>
<translation type="unfinished">Numero Massimo di Voci</translation>
</message>
<message>
<location filename="../assets/CustomDialogItems.qml" line="100"/>
<source>Cancel</source>
<translation type="unfinished">Cancella</translation>
</message>
<message>
<location filename="../assets/CustomDialogItems.qml" line="109"/>
<source>Set</source>
<translation type="unfinished">Imposta</translation>
</message>
</context>
</TS>
如果您看到type="obsolete"
,则表示不再使用翻译。
但是,我发现,如果某些单词是常见操作的文本,例如dismissAction或shareAction,则会自动翻译。但是你可以强制翻译添加&#39; text&#39;属性。