假设我的主题中有两个领域,分别是“基本”和“前进”。
是否可以在我的主题中加载两个不同的域?
load_theme_textdomain( 'basic', TEMPLATEPATH.'/languages' );
load_theme_textdomain( 'advance', TEMPLATEPATH.'/languages' );发布于 2013-10-20 13:36:06
如果您要创建这个主题或插件,以便包含在WordPress.org上的官方插件或主题目录中,那么您需要使用插件或主题的片段作为文本域。您不能有多个文本域,文本域只能是插件或主题的段塞。
这是因为3.7版的新语言包支持。语言包系统将使用段塞作为文本域,并且不会与其他任何内容一起工作。
发布于 2013-10-20 07:28:53
你当然可以..。但是,不能对单个文本字符串使用两个单独的语言翻译。
例如,让我们考虑一下我们的页面上有这个文本字符串:
Hello World!现在,如果我们想为语言本地化设置它,下面是我们所做的工作:
<?php _e('Hello World!', 'my_language_localization'); ?>就你的情况而言,它可以是:
<?php _e('Hello World!', 'basic'); ?>或,
<?php _e('Hello World!', 'advance'); ?>但是,不可能将单个字符串转换为两个本地化。
此外,在使用本地化名称时,要使其具有独特性,这样它就不会与其他插件/主题发生冲突。
发布于 2015-04-23 07:26:03
从Wordpress 4开始,我建议您创建一个简单的插件并“只”加载所需的文本域。主题文件夹或模板或任何地方中的所有字符串都将被翻译。示例:
<?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文件一个弹格,在我上面的例子中:
languages/ua-tiny-select-sv_SE.mo文件夹语言进入插件文件夹。
https://wordpress.stackexchange.com/questions/119452
复制相似问题