我创建了一个插件“translation_test”来测试 wordpress 的翻译能力。
翻译文件
在语言目录中有一个文件 translation_test.pot 包含:
msgid "Testing"
msgstr ""
和一个文件 translation_test-de_DE.po:
msgid "Testing"
msgstr "Das ist ein test"
使用 gettext 我已经使用以下命令创建了相应的 .mo 文件:
msgfmt translation_test-de_DE.po -o translation_test-de_DE.mo
我已将所有 3 个文件上传到插件的语言目录:./translation_test/languages/
插件php文件:
还有一个名为“translation_test”的 php 文件,其中加载了文本域,并创建了一个管理页面以显示翻译后的文本:
<?php
/*
Plugin Name: translation_test
Plugin URI:
Description: translation_test
Version: 1.0
Author:
Author URI:
Text Domain: translation_test
*/
function translation_test_init_textdomain()
{
load_plugin_textdomain( 'translation_test', false, dirname( plugin_basename( '__FILE__' ) ) . '/languages/' );
}
add_action( 'init', 'translation_test_init_textdomain' );
/**
* Register a custom menu page.
*/
function wpdocs_register_my_custom_menu_page(){
add_menu_page( 'title','custom menu','manage_options','custompage','my_custom_menu_page','',6 );
}
add_action( 'admin_menu', 'wpdocs_register_my_custom_menu_page' );
function my_custom_menu_page()
{
echo __( 'Testing', 'translation_test' );
}
?>
语言设置
在 wordpress 的管理区域中,我将语言设置为德语,另外我在 wp-config.php 文件中添加了以下行:
define ('WPLANG', 'de_DE');
可悲的是翻译不起作用,它总是显示“测试”。有谁知道错误在哪里?是否有一些简单的插件模板具有我可以使用的工作翻译?