在Wordpress中使用gettext创建双语主题时,我们是否必须为每个页面创建一个.php文件两次(英语,法语)?例如,header.php,header-fr.php,sidebar.php,sidebar-fr.php,taxonomy-types.php,taxonomy-types-fr.php等。然后Sidebar-fr.php将使用_e('要翻译的文字','域')。有没有办法简单地保留所有php文件的一个副本并切换区域设置?
谢谢。
答案 0 :(得分:1)
在主题目录中创建语言文件夹,即保存语言文件的位置,例如ar.po(阿拉伯语)。 在代码中编写字符串时使用以下内容(我通常使用英文文本作为默认文本,因此我不需要创建额外的语言文件,并且对于其他语言创建文件):
<?php echo __('This is a test','my_theme_name'); ?>
<?php _e('This is a test','my_theme_name'); ?>
在主题文件夹的functions.php中添加以下代码以加载语言文件(请注意上面给出的my_theme_name):
add_action( 'after_setup_theme', 'my_theme_setup' );
function my_theme_setup(){
load_theme_textdomain('my_theme_name', get_template_directory() . '/languages');
}
这样你只创建一个文件(header.php,index.php等),其中字符串很容易翻译。
[注意:这个答案假定您已了解如何创建gettext翻译文件]