我们正在编写一个ASP.NET MVC应用程序,每隔一段时间我们就需要将一个字符串添加到UI不会生成数据库记录的描述或注释中。例如,如果我们需要撤销交易,我们会在原始交易的描述中添加“反向”一词。
本地化这些字符串的最佳方法是什么,我们必须不时添加?在Web项目中,我们使用的是资源语言文件,所以一切都由.net框架真正处理。您是否可以获得类库项目(业务层)以利用像Web项目这样的自动本地化?
答案 0 :(得分:1)
我们通常做的是在后端项目中使用其他资源文件。通常它们不会那么大,所以我认为这样做是安全的。通常,您可以访问这些资源:
string dummy = Properties.ResourceFileName.Reverse;
如果在Visual Studio中添加资源文件,IDE将负责生成所需的代码隐藏以使其工作。
对于您的示例,我建议您使用这样的字符串:
Reverse {0}
然后将{0}
替换为实际的交易描述。这样,如果特定语言需要,翻译者将能够在“反向”之前移动{0}
。这只是一个例子,但是最佳实践建议我们避免连接可本地化的字符串,因为它们可能会在不同语言中断开。例如:
string dummy = string.Format(Properties.ResourceFileName.Reverse, transactionDescription);