Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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
Internationalization 代码“;“国际化”;_Internationalization_Design Guidelines - Fatal编程技术网

Internationalization 代码“;“国际化”;

Internationalization 代码“;“国际化”;,internationalization,design-guidelines,Internationalization,Design Guidelines,我在不同的国家从事不同的项目,并指出有时代码会国际化,比如 SetLargeUratautur()(用于设置宽度和高度,fr) Dim\u ListaDeobecte作为(对象的)列表(对于对象列表,ro) 内部void sohranenieusherov()(适用于存储用户,ru) 等等 碰巧在使用拉丁字母的国家,这种混合更为明显,因为不需要音译 更重要的是,编程“行话”往往受到项目规范语言的启发。在某些情况下,“项目语言”中的术语在英语中具有“不可翻译”的含义 也有一些项目只起作用,比如说一

我在不同的国家从事不同的项目,并指出有时代码会国际化,比如

SetLargeUratautur()(用于设置宽度和高度,fr)
Dim\u ListaDeobecte作为(对象的)列表(对于对象列表,ro)
内部void sohranenieusherov()(适用于存储用户,ru)
等等

碰巧在使用拉丁字母的国家,这种混合更为明显,因为不需要音译

更重要的是,编程“行话”往往受到项目规范语言的启发。在某些情况下,“项目语言”中的术语在英语中具有“不可翻译”的含义

也有一些项目只起作用,比如说一个法语团队,使用法语单词(比如Personne、vehicleue、Projet等)

在这种情况下,我个人会在规范中添加一个“字典”,解释所有业务对象名称,并且只有这些对象在其他(法语)语言中使用

说:

收集-人员集合

所有操作(获取、设置、更新、修改、加载等)都是英文的

现在代码中可以使用“强”名称: 将人员添加到集合

  • 你对“国际化”的态度是什么
PS.

VisualStudio在.NET中编译和运行项目时,使用了名为“btnAddèlève”或“èПèèèèèève”的按钮。

我个人的做法是,编程社区中的许多人(但不是所有人)都同意源代码应该是英文的,所有的开发工具也应该是英文的

这样做的最重要原因是能够与世界分享您的问题和解决方案(就像我们现在在StackOverflow中所做的那样),而不必每次都翻译类名、错误消息、路径和其他工件

这也有助于保持一致性,因为大多数库都是用英语编写的,而且元素名混合了两种语言,这对任何人都没有帮助,除了当像Add这样的动词不总是被使用时,它经常成为内部冲突的焦点

英语代码还可以更容易地将外国人添加到项目中,而不必担心理解和误解(特别是在密切相关的语言之间,如西班牙语和葡萄牙语,它们有许多错误的同源词)

这是一个很好的链接:


(如果有人想知道,我是南美洲人,英语不是我的主要语言)

我想我会把这样的代码库称为“深不可测”而不是“国际化”,但我一直听到的一般规则是,如果你认为说你的语言的人以外的人可能接触过代码,用英语做。

我现在对挪威语也有同样的问题。我想这取决于你在项目中的位置、可用时间和软件的角色

在我的案例中,我决定将所有条款保留在我正在使用的挪威语的现有协议和库中,因为我可以合理地预期,几代管理人员已经习惯了这些条款,而且库依赖于协议。在一个国际项目的库包装中,我逐字翻译了每个方法的名称,并添加了该方法的英文文档

关于代码的注释和文档是英文的


如果从头开始设计一个软件,我会尝试为所有方法名称甚至业务术语寻找英语术语(如果合理的话,我很难想出一个没有术语的例子),以保持它的“可移植性”

即使团队中的每个人都会说一口流利的英语(这不是既定的),他们也不一定知道所有商业术语的英语对应词

我认为这是一个特定于项目的决定,但我通常会容忍并在某些情况下鼓励使用当地语言的商业术语(如实体名称),而不是技术术语(即不是大/傲慢而不是宽/高)


例如,在法国的金融界,每个人都知道OPCVM和FCP是什么意思——如果你尝试英语翻译,你可能会比允许混合语言造成更多的误解。

如果你正在编写有一天可能在国际上使用的代码,请用英语编写。如果有疑问,请用英语写,如果可以的话,甚至可以写评论(尽管我想你可以用你工作场所的语言添加一些评论)

不幸的是,这并不是特定于编码的。英语不是我的母语,但我已经能够阅读许多技术论文,并与来自世界各地的人一起参加国际会议。如果每个人都以各自的母语发表文章,那么这些合作就根本不起作用


如果你想不惜一切代价为自己的语言辩护,这可能会令人伤心,但你必须现实一点。我认为英语的优点是相对简单,可以达到基本的水平:名称没有性别,没有变化,没有大小写。

通常,涉及语言概念的代码应该与编程语言使用相同的母语(即英语-因为字符串都是英语单词)

在本地语言中使用变量和域概念是可以的(但不是很好),但您肯定不希望将列表、对象、小数等转换为术语,这会导致程序员在协调两种语言方面做更多的工作。即使如此,我还是会极力游说限制非常常见的领域概念,如集合、成员资格、人员、用户,以及可能不太常见的领域概念,如发票、收据,在可能的情况下限制为英语

这就像用VB和C语言分别编写了一半的课程——你的大脑必须进行认知转换。这对于混合应用程序(web上的JavaScript和C