Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.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
PHP、Wordpress、phpMyAdmin、C、i18n、L10n等中的双下划线?_Php_C++_C_Localization_Internationalization - Fatal编程技术网

PHP、Wordpress、phpMyAdmin、C、i18n、L10n等中的双下划线?

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

引用这句话结束了我的演讲

这些PHP代码行中的双下划线是什么意思

以及有关在Wordpress等中使用
)等的相关问题

开始是为了回答上面提到的问题,以及其他相关的问题。但当它变得更加详细时,作为自己的问题(带答案)发布

请随意编辑和改进–或输入更好的答案/问题。

使用
。\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/ …