0

我要開始一個網站,我知道將會以多種語言呈現。但是,對於第一個版本,我們只需要英文版本。一旦這些功能都能正常工作,我們將添加其他語言。準備國際化的Asp.net MVC網站

不幸的是,由於沒有足夠的功能烘焙到Asp.Net Core中,我們必須使用Asp.Net MVC 5作爲網站。我的問題有兩個部分:

  1. 現在,哪種做法被認爲是最好的方法呢?使用資源文件並將它們加載到剃鬚刀頁面中?使用框架?我們能否以某種方式使用Asp.Net MVC 6的新本地化和全球化功能?還是有更好的選擇?我個人討厭使用資源文件。它給代碼添加了太多混亂。
  2. 您是否建議現在只使用平面文本,然後將國際化功能添加到網站或立即開始並僅添加翻譯?
+0

它取決於。 從我對SPA(Angular)的經驗中我總是用這種方式: 1)創建資源文件。 2)當用戶打開網站 - 我加載所有資源作爲詞典到javascript 3)在頁面上,我從字典中寫入KEY。 如果用戶將改變語言 - 你只需要在javascript中替換字典。 – David

回答

1

我會使用資源文件,似乎是最簡單的解決方案。您也可以使用數據庫資源提供程序,因此您的混亂程度更低。

如果以純文本開頭,稍後添加翻譯會變得更加複雜和繁瑣。所以我不會那樣做。

+0

感謝您的回答。還有一個問題,你會建議從cookie /用戶設置還是從URL讀取本地化信息?有些網站使用URL來表示語言,例如:http://somesite.com/en-US/controller/action –

+0

我們有兩種方法:對於我們公共部分,我們在URL內使用它,就像您建議的那樣。從搜索引擎優化的角度來看,這也很有意義。如果有人看到英文頁面,您也可以得到奇怪的結果,將URL轉發給朋友,並獲得德文頁面。如果Google對相同的URL獲得潛在的不同結果,Google通常不會喜歡它。 對於私人(登錄)部分,我們使用用戶設置。 – Remy