WordPress函数:load_theme_textdomain()(载入本地化语言文件)

标签:,
来源: WordPress导航主题
日期: 2022-9-6
作者: WordPress导航主题

WordPress 做一个多语言网站,或者让我们的主题支持多种语言,那么就可以使用load_theme_textdomain()函数来定义主题的语言路径,只要将语言放到该目录下面且命名正确,就可以生效。

描述

加载翻译后的主题文件语言包文件

用法

<?php load_theme_textdomain( $domain, $path ) ?>

参数

$domain
(字符串)(必需)用以检索被翻译字符串的唯一标识符
默认值: None
$path
(未知)(可选)语言包 .mo 文件所在的目录(没有结尾的斜线)
默认值:false

返回值

(布尔)
如果 textdomain 可以正常加载,返回 TRUE ;反之返回 FALSE

实例

load_theme_textdomain() 必须在?after_setup_theme?动作钩子后调用。
在主题的functions.php中加入以下代码:

add_action('after_setup_theme', 'wpdocs_theme_setup'); /** * Load translations for wpdocs_theme */ function wpdocs_theme_setup(){     load_theme_textdomain('wpdocs_theme', get_template_directory() . '/languages'); }

以上例子,指明主题的语言目录位于该主题的 languages 文件夹。
需要注意的是,WordPress主题语言包不像插件语言包,如果你将主题语言包命名为my_theme-zh_CN.mo ,它是没办法使用的。正确的命名方式是根据本地语言设置命名来命名,比如 zh_CN.mo
如果主题页面中提供语言切换的功能,可通过http://youdomain/?lan=zh-CN的形式切换语言,则需要在functions.php中加入:

// 必须在 load_theme_textdomain() 的前面调用 add_filter( 'locale', 'my_theme_localized' ); function my_theme_localized($locale) {     if (isset($_GET['lan'])) {         return $_GET['lan'];         }         return $locale; } load_theme_textdomain( 'my_theme', get_template_directory(). '/languages' );

由于加载语言包会让你的网页加载速度变慢,如果你不想加载语言包,在functions.php中加入以下代码即可:

add_filter( 'locale', 'wpjam_locale' ); function wpjam_locale($locale) {     $locale = ( is_admin() ) ? $locale : 'en_US'; }

让插件调用语言包需在插件的主文件中加入以下代码:

add_action('plugins_loaded', 'plugin_languages_init'); function plugin_languages_init(){     load_plugin_textdomain( 'plugin', false,dirname( plugin_basename( __FILE__ ) ) . '/languages/' ); }

需要注意的是,和主题语言包不同,插件语言包的一般命名包含两大部分:插件主文件名+语言及国别简码。如index-zh_CN.po和zh_CN.mo

源文件

load_theme_textdomain() 位于 wp-includes/l10n.php

官方文档:http://codex.wordpress.org/Function_Reference/load_theme_textdomain

腾讯云限时秒杀【点击购买】

搬瓦工,CN2高速线路,1GB带宽,电信联通优化KVM,延迟低,速度快,建站稳定,搬瓦工BandwagonHost VPS优惠码BWH26FXH3HIQ,支持<支付宝> 【点击购买】!

Vultr$3.5日本节点,512M内存/500G流量/1G带宽,电信联通优化,延迟低,速度快【点击购买】!

阿里云香港、新加坡VPS/1核/1G/25G SSD/1T流量/30M带宽/年付¥288【点击购买】

WordPress函数:load_theme_textdomain()(载入本地化语言文件)

`微信`扫码 加好友

链接到文章: https://gkxyz.com/wordpresshanshuload_theme_textdomainzairubendehuayuyanwenjian.html

推荐站点

评论已关闭