WordPress 多语言网站插件 – Polylang
10年积累的成都网站建设、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有弥渡免费网站建设让你可以放心的选择与我们合作。
插件中心搜索polylang并安装
创建语言
Polylang 有 50 种预定义的语言,在 设置 菜单里,找到 语言,从下拉菜单里选择想要添加的语言的名称,然后点击 添加语言。
如果你想要的语言没在列表里,或者你不想要默认的设置,你可以自己修改,每种语言都有 5 个字段。
全名:在网站上显示的语言的名称,比如:English,Français,简体中文,繁体中文。
区域设置:用在 WordPress 上的语言代码,必须填写跟 WordPress 区域设置一致的代码,不然主题翻译就不能正常工作。一般由两个小写字母,一个下划线,再加上两个大写字母组成。例如:en_US,fr_FR,zh_CN。不过也有一些区域设置只用两个或三个小写字符,比如:ar,el,ckb。
语言代码:这个代码会用在 URL 上,最好使用两个小写字母的 ISO 639-1 语言,比如:en,fr,cn ...
文字方向:一般的语言都是从左向右阅读,不过也会从右向左阅读的语言( 阿拉伯语,希伯来语 )。Polylang 会告诉主题使用 LTR 还是 RTL 样式。注意并不是所有主题都支持两种文字方向( 默认的 2011,2012 主题支持 )。
排序:在语言切换工具上显示的语言的顺序。
记得点击 添加语言 按钮,可劲儿添加,因为没有限制。Polylang 会自动为你下载语言文件。
Polylang 还会试着去下载默认的 2010,2011,2012 这些主题的语言文件,如果也没下成,可以使用上面的地址手工下载,然后放在 /wp-content/themes/your_theme/languages 目录下。
设置
默认语言:当有人第一次访问你网站首页的时候使用的默认的语言。
要是安装 Polylang 在已有的网站上,会出现红色字儿的提示:有些文章,页面,分类或标签还没有设置语言,你想把它们设置为默认的语言吗?你可以点击这个快速设置所有已有的文章,页面,分类,标签的语言。同样适用于自定义内容类型,自定义分类法。注意不会修改文章,页面,分类或者标签的 URL。
检测浏览器语言:勾选以后,如果有人第一次访问你的网站的首页,网站的语言会根据用户的浏览器的设置来设置。如果网站的语言里没有用户浏览器的语言,那么就会使用默认的语言。
URL 修改
重要的选择:
从内容设置语言:Polylang 尽可能不修改 URL,默认,只有需要的时候才添加语言信息到 URL 上(主要是规档),不需要就不会添加( 文章,页面,分类,标签 )。这样即便禁用了这个插件,大部分重要的链接也不会受影响。
语言代码:例如:/en/,当使用简洁链接时会添加到所有 URL 上。这样如果禁用了这个插件,每个 URL 都会遗失语言信息,也就是所有的 URL 链接都会被破坏。
其它控制 URL 的相关选项:
在简洁链接中保留 /language/:月度规档的 URL 就会是这样:
从简洁链接中移除 /language/:月度规档的 URL 会是这样:
为默认语言隐藏 URL 语言信息,这样只有默认的语言会隐藏语言信息,那么默认语言的月度规档的 URL 看起来是这样地:
重定向语言页面到首页:不使用静态首页的话,这个选项是没有用的。例如,首页 URL 看起来是这样:
控制语言与翻译的更多选项:
媒体:翻译媒体的标题与描述。
同步:创建文章与页面的翻译时可以避免重复动作,比如设置分类与标签,特色图像,父页面等等。你可以选择到底用不用同步。如果网站上有自定义内容类型或者分类法的时候,你也可以选择使用语言与翻译。最后别忘了点 保存更改 按钮。
主题的国际化( i18n )与本地化( l10n )
这步很重要,不然你的主题在显示文章或页面的时候不会显示翻译。要跟主题的作者确认一下主题是不是国际化( 是否可翻译 )还有本地化( 已经翻译 )了你需要的语言。了解更多可以参考本站的《 WordPress 主题开发 》课程。
检查主题的 header.php 是否有类似的代码:
html ?php language_attributes(); ?
有些浏览器或机器人会使用这行代码检查你的页面语言。
语言切换器
语言切换小工具( Widgets )
到小工具的管理页面,你可以找到语言切换器,它目前有五个选项:
显示语言名称
显示标示
强制链接到首页
隐藏当前语言
使用下拉菜单的形式显示
如果你取消了 “显示语言名称” 和 “显示标示” 这两个选项,小工具会显示语言名称。如果你勾选了 “使用下拉菜单的形式显示” ,就不会显示标示,无论你是否选择勾选了 “显示标示” 选项。
如果你勾选了“强制链接到首页”,小工具会一直把访问者带到相应的语言的首页上,不勾选,语言切换器会试着找到翻译页。( 没找到的话会回到首页上 )。
如果勾选了 “隐藏当前语言”,小工具就不会显示当前语言。
不管使用哪个选项,切换工具上的语言只有在至少有一个文章或页面使用了这个语言的时候才显示。
语言的标示图像可以在 wp_content/polylang 目录里找到,比如区域设置为 en_US,那么就会使用 en_US.png 这个图像。
导航菜单
你的主题必须支持自定义导航菜单,而且必须在 wp_nav_menu 函数里使用了一个主题区域。例如:
wp_nav_menu(array('theme_location' = 'primary')); 可以
wp_nav_menu(array('menu' = 'nav menu')); 不可以
你可以为每种语言创建菜单。然后到菜单选项卡里的语言设置页面为每种语言选择正确的菜单。
你可以添加一个语言切换器在菜单的结尾处。勾选 “在菜单结尾处显示语言切换器”。
如果你没勾选 “显示语言名称” 还有 “显示标示”,语言切换器会使用语言名称。
如果勾选了“强制链接到首页”,语言切换器会把访问者带到正确的语言的首页,不然它会去寻找翻译页面(没找到的话就会回到首页上)。
勾选 “隐藏当前语言”,语言切换器就不会显示当前语言。
最后记得点击 保存更改 按钮。
字符串翻译
Polylang 可以翻译用户定义的字符串,比如网站的标题,标语,小工具标题。你还可以为每种语言选择不同的语言格式和时间格式。插件或主题可能会添加其它的字符串到这个列表里。
名称:为了方便排序。
字符串:要翻译的字符串。
翻译:不同语言下每个字符串的翻译。
默认所有翻译的字符串都会保存在数据库里,有一个复选框允许你清理在数据库里的没有用的字符串。
翻译分类或标签
设置每个已有的分类与标签的语言非常重要,不然他们不会显示。设置语言,只需要在描述字段下面的下拉菜单里选择。
翻译文章或页面
设置每个已有的文章与页面的语言非常重要,不然他们不会显示。在文章或页面的编辑界面的右边栏上,你可以选择语言。
每种语言你都有三种选项:
不想翻译文章的话可以什么都不做。
如果翻译已经存在的话,在 文章 ID 字段里填上文章的 ID。
如果你想创建一个新的翻译,点击语言后面 添加 链接。如果翻译的分类和标签可用,会自动填到文章翻译里,父页面也是一样的。
同步元数据
Polylang 会同步文章或页面与翻译之间的一些元数据和选项,默认的同步元数据的选项是:
分类与标签
自定义字段
评论与 ping 状态
置顶文章与发布日期
文章格式
页面层级,页面模板,页面排序
特色图像
install wordpress安装
例句:
1.Buy a domain, get web hosting, and install Wordpress.
购买域名,寻找网络托管,安装Wordpress。
2.This also means that you can install WordPress on your desktop or homecomputer, or even on an Intranet.
这也意味着你可以在你的桌面或者家用电脑,或者甚至在企业内部互联网上安装WordPress。
3.Here are the steps you will need to follow to install an
international version ofWordPress.
你需要按照下面提供的方法一步一步来安装一个国际化的WordPress。
4.To install an international version of WordPress, you have two choices.
安装国际版的WordPress,你可以由两种选择
许多WordPress插件通过连接一个或多个WordPress插件钩子来完成他们的功能。插件钩子的运行机理是,当WordPress运行到不同阶段,WordPress会检查当前阶段是否注册了插件函数,如果是,那么函数将被执行。通过执行插件函数改变了WordPress的默认功能。
例如,在WordPress将日志标题和post发送到浏览器前,会检查是否有插件函数注册了名为“the_title”的“filter”钩子。如果是,标题文本将会传送到注册函数中,注册函数返回值将会传送到浏览器。所以,如果要在日志标题中加入一些信息,可以通过这种方式实现。
另一个例子是名为“wp_footer”的“action”钩子。在WordPress的HTML页脚创建之前,会检查是否有插件注册了名为“wp_footer”的“action”钩子,如果是依次执行她们。
在Plugin API了解更多如何注册“filter”和“action”类型的钩子函数,及WordPress提供了那些插件钩子。如果你发现WordPress没有提供自己想要的钩子,你可以建议WordPress加入这个钩子,很多建议WordPress都会采纳。具体方法参考Reporting Bugs。
模版标签
另一个通过插件加入新功能的方法是建立自定义的模版标签Template Tags。如果有人想用你的插件,可以在他们的主题中添加这些标签,边栏,文章内容段,或者任意的只要是适合这插件的地方。例如,一个给文章添加地理位置的插件可能定义了一个模板标签函数geotag_list_states()放在边栏上,这里列表了所有在文章中关联的州的名称,并且还带有插件提供的到这些州的文档页的链接。
定义一个自定义模板标签,仅需要写一个PHP函数,并且在你插件主页或者插件的主PHP文件中声明一下。声明函数的时候,为这个函数提供一个示例来明确如果想要应用这个函数需要加主题中加些什么文件是个相当棒的主意。
保存插件数据到数据库
大多数WordPress插件需要站点的所有者或者是博客的用户输入信息,然后在对话过程中保存起来,以便过滤器函数(filter)、动作函数(action)或者模板函数(Template)使用。这些信息必须保存在WordPress的数据库中,以便下次使用。这里有两种基本的方法用于保存插件的信息到数据库里面。
使用WordPress的"option"机制(稍后会有介绍)。这种方法适合于保存一些相对小数量的静态命名类数据--这类数据通常只需要网站的所有者在首次建立插件的时候输入,以后很少改动。
文章属性post meta(a.k.a. Custom Fields),适用于那些只和个人文章、页面或者附件有关的数据。
参看post_meta Function Examples, add_post_meta(), 以及与文章相关函数属性post.fuction meta (a.k.a. Custom Fields).
自定义分类法。对于文章分类或者其他对象,比如用户、评论,或者用户可编辑列表中的数据名称/值,可以考虑使用自定义分类法,尤其是当你要访问的所有的文章/对象与给定的分类法项目相关联的时候。查阅 Custom Taxonomies
在数据库中创建一个新的自定义数据表。这种方法适合于与个人文章、页面、附件或者评论相关的数据,这类数据会随着时间越来越多,它们也没有专有名称。参看Creating Tables with Plugins来了解更多这类信息处理方法。
WordPress的选项机制
参看 Creating Options Pages 得到更多如何创建会自动保存你选项数据的页面。
WordPress拥有一个机制来保存,更新和检索WordPress数据库中专用,名称类数据(即"options"机制)。选项值可以是字符,数组或PHP对象(他们会被"序列化",或在存储前转换为字符,并在被检索时解开序列)。选项名称是字符,并且它们必须是独一无二的,这样就不会与其它的WordPress插件相冲突。
它也通常被认为是一个不错的主意,将你的插件使用的选项的数量降到最低。例如,考虑存储序列化数组的10个元素作为一个单一的命名选项,而不是存储10个不同的命名选项。
这里是你的插件应用WordPress option功能的主要函数。
add_option($name, $value, $deprecated, $autoload);
建立一个新的option; 如果这个option已经存在则不做动作.
$name
必须 (string). 要添加的option的名称.
$value
可选(string), 默认是空字符. option值会存在这里.
$deprecated
可选 (string), 不再被WordPress使用了,你可以不填或NULL 如果你希望应用后面的$autoload参数.
$autoload
可选, 默认为 'yes' (enum: 'yes' or 'no'). 如果设置为 'yes' 那么这个option会被get_alloptions 函数自动检索.
get_option($option);
在数据库中检索option值.
$option
Required (string). 你想返回数值的option名称。你可以Option Reference在找到一个随着WordPress一起安装好的默认option表。
update_option($option_name, $newvalue);
更新或创建数据库中的option值(注意 add_option 不是必须被调用,如果你不想作用 $deprecated 或$autoload 参数).
$option_name
必须(string). 要更新的option名.
$newvalue
必须. (string|array|object) option的新值.
管理面板
假定你的插件有一些选项(option)存储于WordPress的数据库中(参看上一节),你可能会想要一个主控面板来允许你的插件用户查看和编辑选项值。实现这一目标的方法阐述于Adding Administration Menus。
插件国际化
在你完成了你的插件的编写工作之后,另一个需要考虑的问题(假设你准备跟大家分享你的插件的话)就是将其国际化。国际化就是将你的软件设置成能够本地化的过程;本地化是将软件中显示的语言翻译成其他语言的过程。Wordpress正在被全球的人们使用,所以全球化和本地化是他内在的特性,这其中就包括了插件的本地化。
请注意,插件的语言文件是不会自动加载。将此插件代码,以确保加载的语言文件:
load_plugin_textdomain('your-unique-name', false, basename( dirname( __FILE__ ) ) . '/languages' );
要简单地取一个字符串使用 __('String name','your-unique-name'); 返回翻译或者 _e('String name','your-unique-name');输出翻译。翻译,然后进入你插件的 /languages 文件夹。
我们十分希望你能够将你的插件国际化,这样其他国家的用户就可以在自己的本地使用它了。我们有一个关于国际化的综合说明在I18n for WordPress Developers,这其中就包括了一个描述插件国际化的部分。
wordpress点抗 是一提供免费博客服务的网站,也就是我们常说的BSP,和新浪博客性质差不多,但由于 WordPress 的强大功能,所以自由的空间应该比较大,有的地方是显示的中文是因为它会根据用户IP自动检测所在地区,然后根据用户所在地区调整显示语言。
wordpress.org 和 wordpress点抗 同属于Automattic 公司,但是 wordpress.org 代表是一款免费开源的博客程序,WordPress,全球大概有8%的网站是基于 WordPress 程序,如果你有自己的网站空间和域名的话,你就可以免费用 WordPress 搭建自己的博客。
Automattic 是美国公司,不可能被中国政府控制,但有可能被封锁,其实早些的时候 wordpress点抗 一直是被封锁的,最近才开放,至于以后会不会被封锁,谁也不知道。