【发布时间】:2011-08-31 09:33:06
【问题描述】:
免责声明:如果您认为它不适合 StackOverflow,请随意将其关闭为“过于本地化”。由于这里有相当大的德语社区,我想我应该试一试。
CamelCase 经常用于编程语言约定(C# 中的方法名称、Java 中的公共方法名称等)。用英语很容易做到:你只需连接单词并将每个单词的第一个字母大写:DisplayName、InternalName。
然而,在许多情况下,德语支持复合名词。例如,“Anzeigename”(DisplayName)是一个名词,但“inner Name”(InternalName)不是。所以,后一种情况很容易骆驼化:它是InternerName,就像英语中的骆驼规则一样。第一种情况呢?一个可以
- 使用
Anzeigename,与德语语法保持一致,或 - 使用
AnzeigeName,以保持与CamelCase 和其他*Name-s 的外观和感觉一致,它们不是单一名词。
在这方面是否有一些指导方针或公认的最佳实践?
我意识到仅使用英文名称很容易解决此问题,但在开发特定领域的软件时,或者当配置文件必须由不具备良好英语语言技能的人阅读时,这有时是不可行的。当您确定该软件只会在德语环境中使用时,为 Umsatzsteuervoranmeldung 制作英文翻译是没有意义的......
【问题讨论】:
-
Argh. 请不要在代码中使用denglish。
if (Anzeige) then Aufruf()是非常恼人的。 -
IME 最好找到英文单词,如果没有直接对应的,我只会使用本地化单词。
-
我同意这很麻烦。尽管如此,在某些情况下,不存在英语对等词,或者英语对等词会显得非常格格不入或不自然。在这些情况下,就会出现上述问题。事实上,在这些情况下,对所有单词使用德语可能是有意义的,至少在这方面保持一致。
-
标签
german作为 2012 cleanup 的一部分被删除。
标签: c# language-agnostic localization naming-conventions