引用结束我的 another question.

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

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

关于在wordpress等中使用__(),_()等的相关问题.

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

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

__(…)的用法

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

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

关于这个问题的思考

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

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

区域支持

在这一步,我做了一些注意事项:使用i18n和L10n上的重量的区域设置支持.

通常使用它,如WP,2,3和(well documented)PMA,通过语言支持.
例如.:

__(‘错误’);会产生挪威语或德语中的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.

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

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

(我们还有更强大的numeronyms不遵循像G8(八国集团)这样的惯例 – 但是我们不在编程领域 – 或者我们是谁?).

然后到定义:

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

>国际化(i18n)是产品,应用程序或文档内容的设计和开发,可以为文化,地区或语言不同的目标受众轻松进行本地化.
>本地化(l10n),是指对产品,应用程序或文档内容进行调整,以满足特定目标市场(语言环境)的语言,文化和其他要求.

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

>国际化(I18N):使软件可能处理多个语言环境.
>本地化(L10N):使软件处理特定的区域设置.

域名的使用

通常,在查看代码,阅读等本地化时,会遇到域的使用.更多搜索引擎友好名称可能是翻译域.

(这里我有点薄冰.)

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

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

> Translation Domain
> Translation Directory

翻译目录通常是:

/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/
…

与GetText一起使用的文件

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

在PHP,WordPress,phpMyAdmin,C,i18n,L10n等双下划线?的更多相关文章

  1. wordpress添加Html5的表单验证required方法小结

    这篇文章主要介绍了wordpress添加Html5的表单验证required方法小结,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  2. iOS设备上的Safari正在加载损坏的图像 – WordPress网站

    有问题的图像是JPEG,我把它们缩小到更小的尺寸.有问题的WordPress网站是响应式的,当我使用移动网络加载网站时就会发生这个问题.无线方面,它没有问题,但在3G/4G上,随机加载的图像,一些被破坏,图像交换位置,所以所有的css和js似乎搞砸了.我正在使用W3缓存来提高速度,但没有任何帮助.有些图像是半灰色,黑色,有时看起来有点破损.这只发生在带有safari浏览器的iOS设备上.其他人面临同样的问题?

  3. 在我的Android应用程序中从WordPress获取帖子

    我是Android开发的新手,我正在尝试创建一个只显示WordPress网站上的帖子类别和帖子的应用程序.请帮助我.解决方法您要做的是从wordpress创建某种RESTAPI,以返回对您的AndroidHTTP请求的JSON响应.要做到这一点,首先针对Android,您可以参考这篇文章:MakeanHTTPrequestwithandroid然后,对于服务器端(您的wordpress),您将不得

  4. 8个出色的WordPress SEO插件收集

    以下是几个一流的SEO插件列表,它们可以帮助我们提高WordPress站点在搜索引擎中的排名。

  5. 详解WordPress中用于更新和获取用户选项数据的PHP函数

    这篇文章主要介绍了WordPress中用于更新和获取用户选项数据的PHP函数,分别为对update_user_option()函数和get_user_option()函数用法的讲解,需要的朋友可以参考下

  6. WordPress用户登录框密码的隐藏与部分显示技巧

    这篇文章主要介绍了WordPress用户登录框密码的隐藏与部分显示技巧,需要的朋友可以参考下

  7. phpMyAdmin通过密码漏洞留后门文件

    今天小编就为大家分享一篇关于phpMyAdmin通过密码漏洞留后门文件,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

  8. phpMyAdmin 安装教程全攻略

    管理MYSQL数据库的最好工具是PHPmyAdmin

  9. WordPress中设置Post Type自定义文章类型的实例教程

    这篇文章主要介绍了WordPress中设置Post Type自定义文章类型的实例教程,后台文章类型的设置是WordPress的一大特色,然而自带的文章类型往往并不够用,需要的朋友可以参考下

  10. WordPress开发中用于标题显示的相关函数使用解析

    这篇文章主要介绍了WordPress开发中用于标题显示的相关函数使用解析,讲解了single_cat_title函数和get_the_title函数和the_title函数的用法,需要的朋友可以参考下

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部