WordPress GetText Двуязычное переключение языка для темы - PullRequest
0 голосов
/ 15 марта 2012

При использовании gettext в Wordpress для создания двуязычной темы, нужно ли нам создавать один файл .php для каждой страницы дважды (английский, французский)?Например, header.php, header-fr.php, sidebar.php, sidebar-fr.php, taxonomy-types.php, taxonomy-types-fr.php и т. Д. Тогда Sidebar-fr.php будет использовать _e ('Текст для перевода »,« домен »).Есть ли способ просто сохранить одну копию всех файлов php и переключить язык?

Спасибо.

1 Ответ

1 голос
/ 10 июля 2012

Создайте папку языков внутри каталога темы, где вы сохраните языковые файлы, например, 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]

...