У меня есть плагин для перевода. Я выполнил следующие задачи:
1. Загрузите TextDomain
$my_td = 'mysignup'; function my_signup_textdomain_init() { load_plugin_textdomain( $my_td, false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' ); } add_action('plugins_loaded', 'my_signup_textdomain_init');
2. Добавлены языковые файлы (po, pot, mo) в wp_plugin_folder\my_signup\languages
(для bengali bn_BD)
3. Изменен код языка в файле wp_config.php
define('WPLANG', 'bn_BD');
Но проблема в том, что ничего не изменилось. Я не уверен, что я сделал неправильно.
Теперь мне нужно знать, как я могу проверить все, хорошо ли то, что я сделал, и как я могу решить проблему.
Для плагинов, использующих каталог, на который ссылается load_plugin_textdomain, файлы языков должны быть названы «domain-locale.mo».
Поэтому для вашего случая имена файлов должны быть mysignup-bn_BD.mo
.
Я получил свои ошибки! Я сделал все хорошо, кроме 1 штуки, настройки textdomain.
Я забыл, что я установил переменную $my_td
вне функции. По этой причине мой текстовый домен отсутствовал. Поэтому я сделал переменную global следующим:
$my_td = 'mysignup'; function my_signup_textdomain_init() { global $my_td; load_plugin_textdomain( $my_td, false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' ); } add_action('plugins_loaded', 'my_signup_textdomain_init');
В любом случае, спасибо за попытку помочь мне.
** Примечание:
mysignup-bn_BD.mo
илиmysignup.mo
оба будут работать. Но mysignup-bn_BD.mo является динамическим способом.