我即将为我的雇主启动一个本地化项目。它涉及一个预先存在的项目,它具有许多Windows窗体和一个已建立的代码库,用C#和ASP.NET编程。我已经研究了如何在Visual Studio中本地化应用程序并找到资源。用扩展方法替代本地化
虽然这些都是解决问题的充分办法,但我并不完全满意使用资源的不利方面。这就是说,它具有相当大的占用空间,需要对每个表单文件进行更改。此外,资源文件只能在Visual Studio中编辑。我宁愿让没有编程知识的外部翻译人员进行翻译。
于是我想出了一个替代解决方案:
建立一个静态的本地化工具类的扩展方法对字符串:
public static String Localize(this String s)
从文件的实用程序类加载的本地化字符串上启动。当程序需要某个字符串时,它被称为
"foo".Localize();
而程序将使用字符串本身作为表中的键来查找翻译。 这似乎是一个安全和有效的解决方案,我很满意它留在现有代码库上的小脚印。
基本上我要问:
- 是否有不足之处,以我的解决方案,我已经错过了吗?
- 我应该查看哪些文件格式的本地化数据(我已经遇到.po文件格式)?
- 是否有足够的理由偏离资源文件解决方案?
任何建议和/或您可能有的考虑将不胜感激。
我认为对现有代码库的影响是一样的。您必须将该方法添加到所有当前文字。你打算使用文字“选择三个选项之一香蕉,猕猴桃还是橙色”作为关键?听起来很棘手。我不会偏离完美理智的默认解决方案。如果添加了不同的语言,您总是可以重新部署应用程序。 – Bas