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