PHP、Wordpress、phpMyAdmin、C、i18n、L10n等中的双下划线?
引用这句话结束了我的演讲 这些PHP代码行中的双下划线是什么意思 以及有关在Wordpress等中使用PHP、Wordpress、phpMyAdmin、C、i18n、L10n等中的双下划线?,php,c++,c,localization,internationalization,Php,C++,C,Localization,Internationalization,引用这句话结束了我的演讲 这些PHP代码行中的双下划线是什么意思 以及有关在Wordpress等中使用、()等的相关问题 开始是为了回答上面提到的问题,以及其他相关的问题。但当它变得更加详细时,作为自己的问题(带答案)发布 请随意编辑和改进–或输入更好的答案/问题。使用。\uuuu(…) 各种实现都使用双下划线。提到Wordpress(WP),phpMyAdmin(PMA)是另一个,等等 它反映在gettext()上,在PHP中它有一个别名:\uUx()。这不是PHP独有的。本机是一个长期的GN
、(
)等的相关问题
开始是为了回答上面提到的问题,以及其他相关的问题。但当它变得更加详细时,作为自己的问题(带答案)发布
请随意编辑和改进–或输入更好的答案/问题。使用。\uuuu(…)
各种实现都使用双下划线。提到Wordpress(WP),phpMyAdmin(PMA)是另一个,等等
它反映在gettext()
上,在PHP中它有一个别名:\uUx()
。这不是PHP独有的。本机是一个长期的GNU项目,用于在类Unix系统上编写多语言程序。我们在各种编程语言中都可以找到\uu()
别名
关于这个问题的思考
在一个谦虚/诚实的观点中,可以说,
作为本机,
作为gettext
的自定义实现,或其他特定于语言环境的使用,是唯一有效的,因为这是一个公认的惯例。另一方面,它不好,但即使如此简洁。例如,在ANSI-C标准中,双下划线是为编译器内部使用而保留的;由于PHP与C有着密切的关系,所以他们保留了它,一般来说,即使跨语言(IMHO)混合使用也不是最好的选择,它是在边界上/薄冰上/等等
(这里的一个问题是选择使用<代码> <代码>作为与语言支持无关的东西的基础。)将它与原型混合。JS的代码> $< /代码>和<代码> $ $/COD>。
–尤其要考虑到PHP和JS在工作系统实现中的紧密程度
区域设置支持
在这一步中,我对用法做了一些说明:区域设置支持,权重为i18n
和L10n
它通常通过提供语言支持来使用,如,和(the)。
例如:
(错误)
将产生挪威语的Feil
,或德语的Fehler。但是,这里需要注意的一件重要事情是,在同一领域中,我们有比直接翻译更多的东西,但也有在不同的地区/文化/语言中发现的其他怪癖
例如:(具体说明):
一些语言使用逗号–,
–作为小数分隔符,其他语言使用点–
–用于相同的目的。其他典型的区域设置变化是厘米对英寸、日期格式、12小时对24小时时钟、货币等,因此:
NUMBER LEN TIME
LANG1: 3,133.44 2.00 inch 5:00 PM
LANG2: 3.133,44 5,08 cm 17:00
哎呀,我头疼
数字是指单词中第一个字母和最后一个字母之间的字母数。前后字母–是单词中的第一个也是最后一个字母。呸。因此:
i18n l10n
internationalization localization
| | | |
+-- 18 letters --+ +-- 10 --+
i 18 n l 10 n
与GetText一起使用的文件
如果您查看例如PMA,您将发现一个名为locale
的目录。它包含各种语言的各种目录。这些文件的扩展名为.mo
。这是特定于GetText的文件。一个典型的例子是从PO、可移植对象、纯文本文件开始。这些被编入索引并编译为MO、机器对象和文件,这些文件被编入索引以进行优化。更多信息(与上面的PMA链接相同)
i18n: Internationalization l10n: Localization (Often L10n) g11n: Globalization (Used by e.g. IBM and Sun Microsystems) l12y: Localizability (Microsoft) m17n: Multilingualization (Continuum between internationalization and localization) ... And so on. i18n l10n internationalization localization | | | | +-- 18 letters --+ +-- 10 --+ i 18 n l 10 n /path/to/your/translation_root/en_US/LC_MESSAGES/ /path/to/your/translation_root/en_GB/LC_MESSAGES/ /path/to/your/translation_root/nn_NO/LC_MESSAGES/ …