2011-06-03 43 views
5

我們正在將項目中的表單和字符串本地化,並且存在問題;將Localizable設置爲true時,Visual Studio會爲每個表單創建一個資源文件。每個表單/其他字符串僅使用1個資源文件而不是1個資源文件

這只不過是一個小的麻煩,不得不將所有的資源文件發送給翻譯,但是有可能讓VS使用全局資源文件嗎?

謝謝!

+0

您是否嘗試將每種文化的資源文件(.resx)添加到解決方案文件並將語言分配給線程文化? – Coder323 2011-06-04 02:45:05

回答

1

前面已經說了別人,也可以利用全球資源文件手動。我相信它實際上更有問題,更難以維護,但仍然有可能。

現在說明爲什麼MS決定每個表單上的一個資源文件。那麼從國際化的角度來看,這個解決方案是更好。一方面它給翻譯者一個重要的事情:背景。另一方面,項目的增長是典型的。您不可能一次對所有表單進行更改。你知道嗎?根據您與翻譯供應商的交易情況,如果只有百分之幾的字符串發生變化,您通常可以在本地化上花費較少。這只是因爲他們可以使用翻譯記憶庫(TM)軟件。
有了一個全局資源文件,通常沒有上下文,也沒有辦法合理使用TM。其結果是,翻譯不夠準確,需要更長的時間(人們需要真正閱讀大塊文本以確保所有內容都被正確翻譯)。

順便說一句,你不需要發送個人資源文件。相反,您可以使用某種翻譯工具包生成器(或翻譯管理器軟件)爲翻譯人員創建一些有用的內容(例如翻譯記憶友好的文件)。可悲的是,我不能給你這些工具的名稱(儘管我知道這些工具很少),因爲我的僱主正在使用自定義系統,我沒有機會與其他工具一起工作。

2

像尤達會說,可能是。

您必須在加載對話框時動態地轉換對話框。我在幾個項目上做了這個,我會說它比擁有本地化的資源文件要好得多。

+0

這聽起來像是一個更大的滋擾,而不只是發送多個資源文件,可悲的是。 :( – Janiels 2011-06-03 23:28:07

+0

從更長遠的角度考慮,當你開始改變對話框時,添加新的語言。誰會保持所有這些東西更新?你? – sorin 2011-06-03 23:54:56

-1

WinFrom不支持在VS中自動生成表單的全局資源。 你必須自己分配字符串。例如:

  1. 將Resources.resx和Resources.designer.cs添加到您的項目;
  2. 在Resources.resx中定義你的字符串。
  3. 在你form.cs代碼,指定字符串構造函數,如:

    Label1.Text = Resources.Label1Text; 
    
相關問題