我有一个免费的科学应用程序,被近100个国家的数千人使用。许多人提供免费翻译。现在D2009让这件事变得更容易了(通过集成的和外部的本地化工具,再加上本机Unicode支持),我想让几种语言都能做到这一点,并稳定地增加尽可能多的用户精力支持。
我在想,我会分发一个电子表格,里面有需要翻译的字符串列表(几十个,而不是几百个),让他们返回它,然后比较2-3个用户以相同语言提交的内容,然后通过共识来解决差异。然后,我将使用集成翻译环境合并本地化,并分发本地化更新。
有没有人委托翻译给用户?有什么问题吗,是D2009特定的还是其他的?
编辑:有没有人比较过D2009内置的本地化支持和dxgettext?
发布于 2009-06-20 05:25:07
我从来不是免费软件或开源应用程序的专有本地化工具的朋友。使用dxgettext,GNU gettext的Delphi移植对我来说是一个更好的选择:
shown.
使用电子表格进行翻译对我来说似乎不是一个可行的解决方案,一旦你有超过几种语言。假设一个新的程序版本添加了2个新的字符串,并且只稍微更改了10个字符串--难道你不需要在所有几十个电子表格文件中添加新的字符串并突出显示更改后的字符串,然后再次将它们发送给翻译人员吗?使用dxgettext,您只需将更改后的po文件发送给所有人。
编辑:
关于dxgettext和库可能存在的问题,有一个有趣的评论。我从来没有经历过这种情况,因为我已经完全停止使用资源字符串。我们的大部分程序都是用德语编写的,只有很少一部分是用英语编写的,或者被翻译成了几种语言。
我们的内部库使用"_(...)“绕过所有可翻译的字符串。有基于每个项目设置的定义ENGLISH和USEGETTEXT。如果定义了ENGLISH或USEGETTEXT,则将英语文本编译到DCU中,否则将德语文本编译到DCU中。如果未定义USEGETTEXT,则将"_()“编译为按原样返回其参数的函数,否则将使用dxgettext转换查找。
发布于 2009-06-19 22:16:07
我有。可能会有一些挑战。
一个字符串本身并不意味着什么,它需要一个context.
发布于 2009-06-20 08:40:42
我使用了TsiLang Translation Suite来支持终端用户进行翻译。我修改了代码以允许加密,这样如果有人做得很好,他们就可以保护自己的名字不受翻译文件的影响,但通常的想法是,人们可以分享他们的翻译,并添加/编辑他们想要的任何小部分。考虑到这一切都发生在应用程序中,并且具有即时可见性,它工作得真的很好。
https://stackoverflow.com/questions/1019822
复制相似问题