Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重构现有.net应用程序以支持本地化的提示?_.net_Localization_Internationalization_Globalization - Fatal编程技术网

重构现有.net应用程序以支持本地化的提示?

重构现有.net应用程序以支持本地化的提示?,.net,localization,internationalization,globalization,.net,Localization,Internationalization,Globalization,我们正在走向全球。我的任务是重构我们现有的产品以支持本地化。上周,我放弃了使用资源文件(.resx),而是选择了一种自制的数据库查找方法。在遇到了一个严重的障碍之后,我又回到了微软使用resx的方式 到目前为止,我看到的所有文档都详细介绍了如何创建新的“世界就绪”应用程序,但我没有看到任何关于更改现有应用程序的内容。我唯一的办法是一张一张地触摸申请表,一个一个地控制它,让它指向新创建的资源文件吗 有什么好的资源/链接可以让你的应用国际化吗 编辑: 我相信这些都是C#winform应用程序,大多使

我们正在走向全球。我的任务是重构我们现有的产品以支持本地化。上周,我放弃了使用资源文件(.resx),而是选择了一种自制的数据库查找方法。在遇到了一个严重的障碍之后,我又回到了微软使用resx的方式

到目前为止,我看到的所有文档都详细介绍了如何创建新的“世界就绪”应用程序,但我没有看到任何关于更改现有应用程序的内容。我唯一的办法是一张一张地触摸申请表,一个一个地控制它,让它指向新创建的资源文件吗

有什么好的资源/链接可以让你的应用国际化吗

编辑:
我相信这些都是C#winform应用程序,大多使用2.0框架。我是这家公司的新员工。

抱歉,没有用于国际化应用程序的好的来源或链接,但可能将其与一起使用可能有助于找到所有要本地化的字符串。在我看来,这条规则太严格了(例如,异常文本或日志输出并不意味着最终用户可以阅读),但您的里程数可能会有所不同。

这将是一项艰巨的工作,可能比应用程序一开始就本地化要多,因为现在您必须删除/编辑内容,而不仅仅是创建它们

即使有一个自动工具可以帮助您,您也需要逐个检查每个表单,以确保本地化字符串的格式不会中断(某些语言通常比其他语言长;例如德语和英语)。对于web表单应用程序来说,这应该更容易,但是您没有指定应用程序类型,因此我将尝试在这里给出一个中等中立的答案

请看我的答案,了解我在应用程序中分发本地化字符串的策略

我所看到的最大问题是本地化字符串,其中语言语法很重要,代码以编程方式将值注入字符串。尽量避免这些,因为它们只会给你带来痛苦。我记得这里有一个关于本地化字符串的问题,比如“x天,y小时,z分钟”——或者类似的问题


在大多数情况下,我使用的策略是找到一种方法,尽可能以与区域设置无关的方式显示相同的数据。例如,与其使用文本为“45分钟”的单个标签,不如重构它,将标签与值分离为“分钟:”和“45”。诸如此类的事情。重构UI既是一门艺术,也是一门科学,因此在不知道您正在处理什么、业务领域或用例等的情况下,很难给出具体的答案。

+1对于重构工具。我希望我能在两周前手动创建一个完整的网站。