Dot-Net

resx 文件是否適合國際化?

  • April 30, 2009

我被賦予了國際化大型客戶端-伺服器應用程序的任務。職責是我讓應用程序“世界就緒”,然後將編譯的應用程序和資源傳遞給另一個國家的同事進行翻譯並發布給他們的客戶。會有幾個國家,因此會有幾個單獨的翻譯。

這裡的關鍵是我想要一個簡單的兩步發布過程:

**第 1 步:**我編譯並向不同國家的同事發布一個“World Ready”應用程序

**第 2 步:**他們進行資源本地化,然後發布給客戶

不想添加****Make App World Ready -> Send files off for translation ->等待數周等待翻譯返回-> Compile into App -> Release App的額外步驟。

我一直在研究 .NET 全球化和 resx 文件的使用。從我所看到的 resx 文件被編譯到應用程序中,因此一旦編譯就無法更改。甚至衛星組件似乎也無法編輯。即使我在這一點上錯了,對衛星程序集的更改如何反映回我項目中的 resx 文件?

所以現在的問題。鑑於我只想先編譯應用程序,然後再處理翻譯,resx 文件是正確的方法還是我應該放棄它們並編寫一個定制的數據庫驅動解決方案,在應用程序編譯後可以輕鬆編輯?

希望一切都說得通。期待你的想法。

是的,resx 文件是最好的解決方案。

對於資源的翻譯,您應該查看本地化工具,例如Passolo。它要麼

  • 將原始 resx 作為輸入並生成翻譯後的 resx 文件,您需要將其簽入程式碼庫
  • 將編譯的程序集作為輸入並生成附屬程序集。

我們正在翻譯程序集,因為這也允許本地化 gui 佈局。要允許外部工具打開 gui 編輯器,它需要程式碼,並且它在程序集中。

如果只關注測試翻譯,resx 的翻譯可能更容易處理。

這種外部工具提供了以下重要功能:

  • 將所有字元串聚集在一起,您不必處理數百個 resx 文件
  • 管理多種語言的翻譯文本,主要使用 gui 設計器。
  • 辨識源文本是否已更改或已添加,因此您現在需要翻譯哪些文本。
  • 重複文本只翻譯一次。
  • 通常很好的使用者界面來編輯翻譯。
  • 導出/導入到 csv 和類似格式,以供其他工具甚至其他公司處理。

引用自:https://stackoverflow.com/questions/805922