
正文
包含i18nwordpress的词条
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
怎么用wordpress建中英文双语及多语言切换的网站
WordPress 多语言网站插件 – Polylang
插件中心搜索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 状态
置顶文章与发布日期
文章格式
页面层级,页面模板,页面排序
特色图像
相关问答
Q1: 为什么使用 WordPress 给企业建站
更重要的是从 2007 年开始使用 WordPress 给企业或者工作室建站,到今天已经有好几年的经验,其中也有了许多成功的案例,也和其中几个对 WordPress 有相同爱好的朋友一起组建了一个专门使用 WordPress 给企业建站的团队:WordPress JAM。今天就自己这几年的使用 WordPress 给企业建站的经验说下为什么选择 WordPress。1.WordPress 使用简单,WordPress 是一个博客系统,它要应对全世界上亿用户的不同的使用习惯,所以它的用户体验是很好的,WordPress 用户界面友好,很快就能上手使用,所以你不也用担心你的老板不会用。2.WordPress 建站 SEO 好,收录快,WordPress 具有非常好的 SEO 特性,使用 WordPress 建立的网站可以很快被 Google 和者百度等搜索引擎收录,刚发布的文章最快几分钟就能收录,所以使用 WordPress 建站对企业进行网络推广非常有大的帮助。3.WordPress 完全支持中文,WordPress 主要开发者是美国人,所以他的默认语言是英文的。但是对于不懂英文的同学,完全不用考虑语言的问题,WordPress 是本地化做的做的最好的开源程序之一,它完全支持 i18n 协议,各国爱好者也对其进行了本地化,国内有WordPress 中文团队一直对其进行本地化工作。4.WordPress 是可扩展,WordPress 虽然是一个博客程序,但是 WordPress 众多的插件是你可以把它改成任何程序,你可以把你的 WordPress 作为一个 Wiki 程序,也可以作为 CSS Gallery,它强大的 API 和 Hook 接口注定了没有什么不可能,世界上已经有很多把它作为 CMS(内容管理系统)的成功案例。5.WordPress 非常容易定制,WordPress 有一套非常好用的主题模板,你只要懂一定的 PHP,XHTML 和 CSS 就能自己修改 WordPress 主题,如果懂得设计,那么你可以制作非常精美的 WordPress 主题。当然了,定制 WordPress 或者 WordPress 主题还是一个专业性的工作,个人建议你找专业的团队来完成,当然首推的还是我们的 WordPress JAM 团队。6.WordPress 社区非常活跃,如果你有什么问题,只要去搜索,肯定可以找到相关的答案,并且有很多相关的社区和论坛,一般去提问,都会有回应,比如可以直接问我:WPJAM 问答。7.WordPress 是免费的,网上有很多功能强大的建站程序,但是是收费的,而且贵的惊人,而 WordPress 是免费的,所以选择了 WordPress 建站之后不需要考虑费用的问题,当然如果你的企业收益不错,当然可以考虑资助 WordPress 感谢他们。我们对 WordPress 很熟悉,当然这个是我们使用 WordPress 开发网站的注重要原因,我们每天都使用 WordPress 写博客,我们使用 WordPress 创建赚钱的博客,我们已经开发了非常多的 WordPress 项目。准备好使用 WordPress 给你的企业建立网站或者改进现有的网站了吗?WordPress JAM 一直是你最好的选择。
Q2: wordpress英文主题怎样汉化成中文主题
1、准备汉化工具。
汉化我使用的是Poedit这个工具,你可以去Poedit官网进行下载,也可以在本文留言发送到你的邮箱,当然你还可以加入219178009这个群,因为我已上传到这个博客群共享里面。
2、在wordpress主题包找到languages文件夹,在里面找到后缀为 .po 和 .mo 文件这两个文件,然后复制分别复制一份并分别改名为zh_CN.po 和zh_CN.mo就好哦。
3、利用Poedit打开zh_CN.po这个文件,你可以看到如下图所示的界面,然后选择每段源文件进行翻译操作。这样一段一段翻译是比较慢,但是除非你是很追求个性的人,否则我们可以利用模板直接复制就行,方便,快速翻译的方法如下:
(1)找到一个中文wordpress主题,找到该中文主题的zh_CN.po;
(2)用Poedit打开该中文主题中的zh_CN.po,直接复制这里面的翻译到上面英文主题的zh_CN.po中,因为虽然两个主题不一样,但是源文本中大部分语句都一样,直接对应复制,不同的几个自个翻译一下就行,是不是很方便?
4、翻译完成以后,将zh_CN.po文件保存到languages文件夹中,汉化过程就基本告一段落了。如果你用的wordpress中文版本,就能够直接看到效果;如果你用的是英文版的wordpress程序,则你需要改变一下默认语言设置,只要在WordPress安装目录的wp-config.php 文件里面找到以下代码:define ('WPLANG', '');把代码修改成:define ('WPLANG', 'zh_CN'); 就搞定了。
Q3: 如何在wordpress中设置cookie
wordpress中设置cookie方法:
1、在主题文件functions.php中添加以下代码,以设置cookie:
?php
/**
* 函数名称,setcookie的相关参数等可以自行修改
*/
function set_newuser_cookie() {
if (!isset($_COOKIE['sitename_newvisitor'])) {
setcookie('sitename_newvisitor', 1, time()+1209600, COOKIEPATH, COOKIE_DOMAIN, false);
}
}
add_action( 'init', 'set_newuser_cookie');
// 上面一行代码也可以改成下面一行代码
// add_action('after_setup_theme', 'set_newuser_cookie');
?
2、然后在需要调用cookie值的地方读取cookie
if (isset($_COOKIE['sitename_newvisitor'])) {
echo 'Welcome back!';
}
else {
echo 'Hello new visitor!';
}
注意事项:
1、在WordPress中,任何 PHP 时间函数,例如 time() 返回的时间不正确,这些时间函数返回的都是UTC+0时区的时间,如果你想获得你在WordPress后台 - 设置 - 常规中设置的时区时间,可以使用以下几个WordPress的时间函数:
date_i18n('Y-m-d h:i:s'); // 返回当地时间
current_time('timestamp'); // 返回当地时间的 Unix 时间戳
current_time('mysql'); // 返回适用于 MySQL 的时间格式
time() + get_option('gmt_offset') * 3600; // 手工获得当地时间的 Unix 时间戳
所以,发送cookie的时候,你可以将time()改成date_i18n('U')或current_time('timestamp')
2、cookie的失效时间也是需要注意的一个问题,服务器端的时间和客户端的时间可能会不一样,所以会导致cookie失效时间可能跟你设想的不太一样,所以如果你通过以上方法发送了cookie,但是死活都获取不到值,那么你可以试试将cookie的失效时间设置长点。
关于i18nwordpress和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







