2008-10-10 69 views

回答

1

有些公司会将标准格式的资源文件翻译为费用;我认为这就是大多数大公司这样做的原因。

我最近here问起一个项目,以支持这一点,我希望更多的保护代码的可读的字符串来构建代码的最佳方式了类似的问题。这不是标准的,但是......通常你会把所有的字符串资源放到一个单独的文件中,并通过代码中的ID来引用它们,并且翻译文件。

见.RC的Windows C++文件,.resx文件为.NET,不知道对Linux/MAC /其他什么存在,但我敢肯定有等价物。

+0

谢谢,你知道在哪里可以找到这些公司吗? – 2008-10-10 05:03:56

1

我认为这取决于你想要的语言是多么接近,这可能取决于项目是什么摆在首位(职业,爱好等)

在我的业余爱好的工作,我有很存储在简单的外部JSON文件(XML或甚至简单的INI中)的特定于语言环境的字符串也可以工作,任何可以为您提供键值对的东西都可以。这具有跨平台,易于编辑的好处,并且(如果需要的话)允许具有知识和决心的任何人将您的应用翻译成他们选择的语言。对于开源项目等,这是非常宝贵的。

对于那些你可能不愿意翻译的项目,嵌入式资源可能是一个更安全的选择,因为它们对于开发人员来说是相当容易的,但是对于想要翻译的人来说至少是一个微不足道的障碍。但即使在这种情况下,存储方法也不需要很复杂。任何给定的文件类型或本地字符串表都可以。

2

本文摘录为Joel's Best Software Writing I:http://blogs.msdn.com/ericlippert/archive/2003/10/28/53298.aspx(有多少微软员工需要更换一个灯泡?),并且在很高的层次上讨论了简单的改变有多大的分歧。如果您认为MS拥有许多国际化应用程序,并且这是他们用来确保其应用程序保持最新的一千个因素的过程,包括新/修改过的字符串在其他语言中不会错过。

对于翻译的需求(面积我有知识一丁点儿的!),我会建议OmniLingua全球。

1

,在我所工作的项目,我们采取了两种不同的方法来定位,这取决于项目的规模。对于每个开发者“拥有”一个组件的小型项目,开发者有责任维护需要翻译的内容以及哪些语言的列表。

对于较大的项目,我们已经标记每个字符串用语言前缀。例如,“是”的德语字符串被标记为“[是]是”。本地化后,字符串被替换为“Ja”。这样可以很容易地找到错过的东西,因为您可以通过前缀进行搜索。

至于额外的商业来源,我曾在不同的点Net-TranslatorsBMT,后者最近。

1

我强烈建议检查出西风db resource provider

我管理一个开源项目管理Web应用程序(http://sharpforge.org/p/SharpForge.aspx)并且最初使用了resx文件。这里是我的问题

  • 我想访问那些从BLL层强类型的资源。这根本不可能。
  • resx文件也很难维护,添加/删除/更改资源键可能会产生各种问题。
  • 最后,我遇到了很多问题,没有使用编辑器保存带有正确字符映射/编码的文件,这些文件会去掉所有翻译后的文本。从翻译器获取资源进入代码库的过程通常会导致文本消失。

我能够实现数据库提供程序作为应用程序的一部分。它附带一个编辑器,您可以为翻译人员提供访问权限。他们的翻译直接进入应用程序,无需双重处理,并在应用程序重新启动后立即可用。它还具有创建强类型对象以从任何层访问提供者的功能。

安装完成后,我只需在getafreelancer上创建了一个翻译项目,并且能够在大约2周内为我的应用程序完成25个翻译。所有大约$ 50-100美元。

如果您对如何实施它有任何疑问,请联系sharpforge forums