2010-08-24 35 views
2

去年,我工作的公司已經構建了一個大型的ASP.NET MVC應用程序,但它並不準備支持本地化,因爲此應用程序的主要目標是爲葡萄牙客戶提供服務。但隨着應用程序佔用更大的比例,需求就是它應該支持其他語言,比如英語。 我被要求爲其實施本地化。我做了一些關於如何添加資源文件的研究。但是我需要一種自動化本地化,也許是爲每個視圖自動生成資源文件的方式,獲取需要本地化的內容。我已經用應用程序中的每個字符串構建了一個excel文件,並將其轉換爲所需的語言。 我該怎麼辦?自動化MVC應用程序本地化

回答

2

在Excel中導出爲適當的.resx文件可能會導致您現在陷入困境。有很多方法可以執行此操作,具體取決於您的Excel版本。如果您需要更多的手工勞動,您可以在Visual Studio中創建所需的.resx文件並進行一些複製和粘貼。

自動生成.resx文件需要某種工具。有些Visual Studio插件會爲你做這件事; Resource Refactoring Tool就是其中之一(我認爲ReSharper也有類似的功能)。自動將文本提取到資源將會有點不切實際,並且會導致自動生成的資源密鑰不可理解。手動操作會產生最佳結果。

當您將文本片段提取到資源時,我建議您將所有.resx文件放入一個單獨的程序集中,以便資源文本可以用於多個程序集,錯誤消息,異常等。這要求他們當然是全球化的。

+0

嗯,我不得不將字符串複製到excel文件中,因爲有些翻譯是由客戶自己做的,因爲他想用不同的語言爲他們添加一些上下文。在實際翻譯實際到達我們之前,該文件將發給他們。 – Hallaghan 2010-08-24 10:55:58

+0

我明白了。由於'.resx'文件和Excel都有類似電子表格的編輯界面,因此您可以實際選擇要從Excel複製的行並將其粘貼到Visual Studio中的資源編輯器中。您需要確保的唯一一件事就是在Excel中沒有超過3列的數據(「名稱」,「值」和「註釋」)。 – 2010-08-24 14:56:36

+0

我覺得這將是一項非常痛苦的任務......好吧,將2400個字符串從應用程序複製到excel文件已經夠痛苦的了,但這裏來了!感謝您的建議。 – Hallaghan 2010-08-24 15:02:24

1

我認爲this tool可以幫到你。似乎也有另一個,但page目前處於離線狀態。

+0

你們都指向我的工具相當不錯,但它們只能用於控制器。我的主要問題是意見。你有什麼建議嗎? – Hallaghan 2010-08-24 14:01:20

+0

我認爲ReSharper的資源提取支持從任何類型的文件中提取。它花錢,但它是一個巨大的工具,可以幫助您獲得更多的資源:http://www.jetbrains.com/resharper/features/code_refactoring.html#Move_String_to_Resource – 2010-08-25 09:46:24