我正在为Web项目编写框架。 (在Asp.NET MVC中,但这不相关)。
现在我想将资源字符串保存在数据库中,而不是资源文件中。 我这样做是因为它易于通过Web界面进行编辑,无需上传我的整个项目。
现在我想到我应该走多远。我应该只有一种语言“英语”并用于美国和英国吗?或者我应该为不同的文化有不同的资源串? (当然,在大多数情况下,两种语言的文本都相同)。
有谁知道微软,谷歌或Facebook如何处理这个问题?
答案 0 :(得分:2)
这是“本地化”和“翻译”之间的区别,取决于您的应用和预算。
美国和英国(以及澳大利亚,新西兰等)之间用于大多数商业应用的英语是相同的。有一些细微差别 - 像“-ize”和“-ise”这样的单词结尾 - 但通常没有必要特别考虑到这一点。
奇怪的是,主要的例外情况是关于例如特定领域的术语。汽车,建筑等。所以,人行道/人行道,路面/道路,轮胎/轮胎;水龙头/抽头;而且毫无疑问是其他人。
除了语言之外,还有一些 在不同文化之间进行本地化的事情。例如,日期格式不同 - 1月10日是美国和加拿大的1月10日,而10月是英国。货币也明显不同。
微软,谷歌,Facebook等往往有不同的网站,不是针对不同的语言,而是为了反映不同的文化。因此,Microsoft主页是相同的,但“关于Microsoft UK”链接会将您带到具有本地内容的国家/地区特定区域。
所以:
答案 1 :(得分:2)
如果你正在编写一个框架我会实现它可以做到,但如果没有“美国英语”的单独翻译,那么“美国英语”会回归到英语。德语(我的母语)有德语 - 德语,德语 - 奥地利语或德语 - 瑞士的单独语言区域,但它们很难使用。
E.g。我们有一个软件,它使用了一个(对我们来说)模糊的词来“聊天”,我们办公室里的任何人都没有新的。后来发现这个词在德国北部使用(我们在奥地利,位于德国南部)。对于所有在那里讲德语的人:这个词是“Schnacken”。
答案 2 :(得分:2)
Facebook有enUS和enGB翻译。例如,美国英语用户看到某人的“最喜欢的电视节目”,而英国英语用户看到他们“最喜欢的电视节目”。
我将如何自己回答这个问题: 我是否有资源(本地语言的本地人)提供有价值的翻译? 与其他类似开发人员时间或财务资源的更改相比,它会对我的用户做出更大的贡献吗?
对我来说,这些问题的答案一直都没有,不幸的是,我从来没有超越英语本地化。你可能会发现答案对你来说是不同的。请记住,杀手级功能可能不是您的翻译并保持透视。