Как создать тематический перевод buddypress? [закрыто]
Первоначально заданный на BuddyPress форумы:
В целях распространения я хотел бы включить мои настроенные языковые файлы buddypress в мою тему вместе с другими языковыми файлами. Независимо от того, что я пытаюсь, я могу отобразить языковые файлы только в том случае, если скопирую их в wp-content/languages
, как описано в кодексе buddypress. Я думал, что сработает следующее, но это не так:
function load_buddypress_language_files() {
load_theme_textdomain('buddypress', get_template_directory() . '/lang');
}
add_action('plugins_loaded', 'load_buddypress_language_files');
Это возможно, не так ли?
WP: 3.5.1 BP: 1.7.2
1 answers
Во-первых, действия, добавленные в plugins_loaded
крюк, не будут работать из темы functions.php
или любого файла темы, потому что в этот момент он уже будет запущен (слишком поздно из файлов темы).
Что вы можете сделать, так это подключить свое действие к after_setup_theme
и сначала выгрузить buddypress
текстовый домен, а затем добавить свой пользовательский файл текстового домена buddypress
. Причина в том, что WordPress не будет загружать файлы переводов для текстовых доменов, которые уже были добавлены:
add_action('after_setup_theme', 'replace_bp_mofile');
function replace_bp_mofile() {
$mo_file = get_stylesheet_directory() . '/languages/' . sprintf( 'buddypress-%s.mo', get_locale() );
if (file_exists( $mo_file )) {
unload_textdomain('buddypress');
load_textdomain('buddypress', $mo_file);
}
}