2013-05-13 77 views
-1

在我的系統上,我使用的是qt4.7的發行版。 我已經生成了在生產環境中正常工作的qm文件。獨立於qt版本的語言翻譯

但不幸的是,我們的服務器使用qt3.3 的lrelease版本和服務器上生成相同ts文件的qm文件,從而在生產環境中給出垃圾字符。

我收到了將其他語言的特殊字符(法語&意大利語)轉換爲十六進制代碼及其正常工作的建議。

但是,因爲我得到大的ts文件,很難將每個特殊字符改爲十六進制代碼。 你能否建議一些修復(除了更改服務器上的發佈版本) 或任何工具將ts文件中的特殊字符轉換爲十六進制代碼?

+0

在你的系統上更改lrelease? :)認真 - 爲什麼不分別添加Qt 3? – Amartel 2013-05-13 12:21:58

+0

但是qt3.3沒有直接翻譯ts文件中提到的特殊字符,qt3需要十六進制代碼才能成功翻譯法文字符。 – user746184 2013-05-13 12:43:31

+0

我在法文語言的ts文件中使用encoding =「iso88591」。 – user746184 2013-05-13 12:46:16

回答

0

這按照設計工作。如果您的應用程序在Qt4上運行,請使用Qt4工具生成.qm文件。使用Qt3的工具將無法工作。

+0

但是如果我使用十六進制代碼來表示特殊字符,即使它是使用qt3工具構建的,它也可以在qt4上正常工作。 – user746184 2013-05-13 12:59:21

+0

這就是所謂的「純粹的運氣」。開發人員沒有設法完全打破兼容性,但不要依賴這一點很好。你在這浪費時間。 – 2013-05-15 13:51:10