我即將開始一個必須支持多種歐洲語言的項目。本網站上的所有靜態內容必須在這些語言之間可翻譯。我聽說過衛星組件,並且聽說它們被用於.NET中的多語言站點,但這是很久以前的事了。這仍然是目前在.NET中的做法?我正在使用ASP.NET MVC。如何創建多語言網站
4
A
回答
4
如果您使用的是ASP.NET MVC,則一種選擇是爲每個視圖使用不同的資源。我寫了一篇文章吧,也許能有所幫助:
ASP.NET MVC Localization: Generate resource files and localized views using custom templates
4
沒有衛星的一部分,你可以在App_GlobalResources
文件夾添加到項目,並添加*.resx
文件爲每種語言。您可以爲整個項目或但是您認爲合適的一個資源文件,或每ASP.NET MVC區之一,但你並不需要有更多的則1
App_GlobalResources文件
MyResources.resx (Neutral/Default language translated texts)
MyResources.en-GB.resx
MyResources.de-DE.resx
在MyResources.resx
Name Value
TextID Some text which will be localized to the end user.
在Global.asax.cs中(Application_PreRequestHandlerExecute
)
// Set it according to cookies/Session etc.
System.Threading.Thread.CurrentThread.CurrentUICulture = "de-DE";
System.Threading.Thread.CurrentThread.CurrentCulture = "de-DE";
然後在視圖和部分視圖中(例如MyView.cshtml)。
<span>@Resources.MyResources.TextID</span>
可選:
的資源可以被添加爲紐帶,並使用自定義命名空間。
BuildAction: Embedded Resource
CopyToOutputDirectory: Copy always
CustomTool: PublicResXFileCodeGenerator
CustomToolNamespace: MyNamespaceHere
mToolNamespace:MyNamespaceHere
然後,他們將通過訪問。
<span>@MyNamespaceHere.MyResources.TextID</span>
這是在ASP.NET MVC中使用(普通/鏈接)資源的一般方法。如果您使用「添加爲鏈接」,您可以在單獨的項目中使用一個物理副本。
衛星:
衛星組件的一些信息:
相關問題
- 1. 創建多語言網站
- 2. 創建多語言網站
- 3. 創建動態多語言網站
- 4. 在Umbraco中創建多語言網站
- 5. 創建多語言網站在magento
- 6. 關於創建多語言網站
- 7. 創建一個多語言網站
- 8. 使用php創建多語言網站
- 9. 如何在Umbraco中創建多語言網站?
- 10. 如何創建多語言mvc網站與數據庫
- 11. 如何在cakephp 3.2中創建多語言靜態網站?
- 12. 多語言網站
- 13. 多語言網站
- 14. 多語言網站
- 15. 多語言網站
- 16. 多語言網站
- 17. 多語言網站
- 18. 多語言網站
- 19. 多語言網站網址
- 20. 多語言網站:切換語言
- 21. 使用ASP.NET構建多語言網站
- 22. 治療多語言網站的建議
- 23. 如何實現多語言網站laravel
- 24. 如何製作多語言網站?
- 25. codeigniter 2.1.3多語言網站如何?
- 26. 網站目錄爲多語言網站
- 27. 如何構建多語言Drupal站點?
- 28. Php多語言網站
- 29. 多語言網站在codeigniter
- 30. htaccess爲多語言網站
我們在一個項目採取了這種方法,我就在那裏,我們已經爲全球客戶提供現場工作。另一種方法是將靜態文本存儲在數據庫中。 – rro
@raymond:IMO將_static_文本存儲在數據庫中有點矯枉過正。我寧願保持簡單並將其保留在資源文件中。除非你有一個很好的理由去做,當然:) –
是的,我知道,這就是爲什麼我更喜歡資源文件。哦,我現在記得爲什麼我們使用了一個數據庫。它將靜態文本集中在多個應用程序中,包括ASP.NET網站,傳統的ASP和幾個桌面應用程序。 – rro