首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们能用不同的域多次加载"load_theme_textdomain“吗?

我们能用不同的域多次加载"load_theme_textdomain“吗?
EN

WordPress Development用户
提问于 2013-10-20 06:11:30
回答 3查看 10.1K关注 0票数 7

假设我的主题中有两个领域,分别是“基本”和“前进”。

是否可以在我的主题中加载两个不同的域?

代码语言:javascript
复制
load_theme_textdomain( 'basic', TEMPLATEPATH.'/languages' );
load_theme_textdomain( 'advance', TEMPLATEPATH.'/languages' );
EN

回答 3

WordPress Development用户

发布于 2013-10-20 13:36:06

如果您要创建这个主题或插件,以便包含在WordPress.org上的官方插件或主题目录中,那么您需要使用插件或主题的片段作为文本域。您不能有多个文本域,文本域只能是插件或主题的段塞。

这是因为3.7版的新语言包支持。语言包系统将使用段塞作为文本域,并且不会与其他任何内容一起工作。

票数 7
EN

WordPress Development用户

发布于 2013-10-20 07:28:53

你当然可以..。但是,不能对单个文本字符串使用两个单独的语言翻译。

例如,让我们考虑一下我们的页面上有这个文本字符串:

代码语言:javascript
复制
Hello World!

现在,如果我们想为语言本地化设置它,下面是我们所做的工作:

代码语言:javascript
复制
<?php _e('Hello World!', 'my_language_localization'); ?>

就你的情况而言,它可以是:

代码语言:javascript
复制
<?php _e('Hello World!', 'basic'); ?>

或,

代码语言:javascript
复制
<?php _e('Hello World!', 'advance'); ?>

但是,不可能将单个字符串转换为两个本地化。

此外,在使用本地化名称时,要使其具有独特性,这样它就不会与其他插件/主题发生冲突。

票数 3
EN

WordPress Development用户

发布于 2015-04-23 07:26:03

从Wordpress 4开始,我建议您创建一个简单的插件并“只”加载所需的文本域。主题文件夹或模板或任何地方中的所有字符串都将被翻译。示例:

代码语言:javascript
复制
<?php

/*
Plugin Name: UA Translation UA Tiny select
Description: Translation for Theme templates outside the main text domain
Version: 1.0
Author: Jonas Lundman
Author URI: http://lundman.info
Text Domain: ua-tiny-select
Domain Path: /languages/
*/

// Updated 2015 04 22 (21:00) 

function ua_load_plugin_textdomain_tiny_select() {
    load_plugin_textdomain( 'ua-tiny-select', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}
add_action( 'plugins_loaded', 'ua_load_plugin_textdomain_tiny_select');

?>

工作伟大的自定义更改在woocommerce模板文件或Buddypress模板文件在您的主域主题!

请记住给mo和po文件一个弹格,在我上面的例子中:

代码语言:javascript
复制
languages/ua-tiny-select-sv_SE.mo

文件夹语言进入插件文件夹。

票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/119452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档