c/c++语言开发共享在PHP,WordPress,phpMyAdmin,C,i18n,L10n等双下划线?

引用另一个在此结束我的问题。

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

$WPLD_Trans['Yes']=__('Yes',$WPLD_Domain); $WPLD_Trans['No']=__('No',$WPLD_Domain); 

关于在Wordpress等中使用__()_()等的相关问题。

作为上述一个答案开始,和其他相关。 但是作为自己的问题(带答案)发布,因为它变得更加详细。

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

    __(…)的用法

    各种实现使用双下划线。 提到Wordpress(WP),phpMyAdmin(PMA)是另一个,依此类推。

    它反映了本机PHP函数 gettext() ,它在PHP中有一个别名作为单个下划线 : _() 。 这不是PHP独有的。 Gettext本身就是一个长期存在的GNU项目,用于在Unix系统上编写多语言程序。 我们在各种编程语言中找到_()别名。

    关于这个问题的思考

    在谦虚/诚实的观点中,人们可以说, _()作为本地和__()作为gettext自定义实现,或其他特定于语言环境的用途,是唯一有效的 – 因为它是一个完善的惯例。 另一方面它并不 ,但即便如此简洁。 例如,在ANSI-C标准中,双下划线__保留用于编译器的内部使用; 由于PHP与C密切相关,因此它们保留了它,并且通常它甚至不是跨语言混合(恕我直言),它是在边界/薄冰/等等。

    这里的一个问题是选择UnderscoreJS使用_作为与语言支持无关的东西的基础。 )将它与prototype.js的$$$混合使用并且可能有一些理解为什么有人会摸不着头脑看__() – 特别是考虑到PHP和JS在实现工作系统方面的接近程度。


    区域支持

    在这一步,我做了一些注意事项:使用i18nL10n上的权重的语言环境支持

    它通常用于WP , 2,3和( 记录良好的 ) PMA ,通过语言支持。 例如:

    __('Error'); 会产生挪威语或德语中的Fehler语。 但是,需要注意的一件重要事情是,在同一领域,我们有更多的直接翻译,还有其他在不同的语言环境/文化/语言中找到的怪癖。

    例如(指定):

    有些语言使用逗号 – , – 作为小数分隔符,其他语言使用点 – . – 出于同样的目的。 其他典型的区域变化是厘米与英寸,日期格式,12对24小时时钟,货币等。所以:

            号码时间  LANG1:3,133.44 2.00英寸5:00 PM  LANG2:3.133,44 5,08 cm 17:00 

    你公开的下一层代码可能会引用一些相当神秘的约定,例如变量名,函数和文件名中的i18nl10n

    一旦你知道他们的意思他们是非常方便的,定义可能有点模糊。 一般来说,我们有:

      i18n:国际化  l10n:本地化(通常为L10n)  g11n:全球化(由IBM和Sun Microsystems使用)  l12y:可本地化(微软)  m17n:多语言化(国际化与本地化之间的连续性)  ... 等等。 

    艾希,我的头疼。

    数字是指第一个和最后一个字母之间的单词中的字母数。 之前和之后的字母 – 是单词中的第一个和最后一个字母。 唷。 所以:

             i18n l10n 国际化本土化   |  |  |  |   +  -  18个字母 -  + +  -  10  -  +  我18 nl 10 n 

    (我们也有更强大的数字名称 ,不遵循像G8 (八国集团)这样的惯例 – 但是我们不在编程领域 – 或者我们?)。

    然后到定义:

    W3C对国际化 (i18n)和本地化 (l10n)有一个相当明确的定义。

    debian关于这个主题的简短而简洁的版本是:

    域名的使用

    通常,在查看代码,阅读等本地化时,会遇到的使用。 更多搜索引擎友好的名称也许是Translation Domain

    这里我有点薄冰。

    简而言之,可以将其定义为上下文 。 作为基础,您有一个区域设置。 比如苏格兰。 但是你可以进一步定义一个域作为主题,专业等的一部分。例如,编程中的Java与咖啡店有很大不同。 或者在一个关于女性与农业的退化网站上的

    一个提供一些线索的页面是repoze.org:

    翻译目录通常是:

      /路径/到/你/ translation_root / EN_US / LC_MESSAGES /  /路径/到/你/ translation_root / EN_GB / LC_MESSAGES /  /路径/到/你/ translation_root / nn_NO / LC_MESSAGES /  ... 

    与GetText一起使用的文件

    如果您查看例如PMA,您将找到一个名为locale的目录。 它包含各种语言的各种目录。 这些文件的扩展名为.mo 。 这是GetText特定文件。 一个通常从PO,可移植对象开始,文件是纯文本文件。 它们被索引并编译为MO,机器对象,这些文件被索引以进行优化。 更多相关信息(与上面的PMA链接相同)。


      以上就是c/c++开发分享在PHP,WordPress,phpMyAdmin,C,i18n,L10n等双下划线?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/560264.html

      (0)
      上一篇 2021年1月27日
      下一篇 2021年1月27日

      精彩推荐