Java, UX, HTML, CSS, WEB-design

Интернационализация и локализация вашей темы WordPress за 6 шагов

Краткое описание по статье Интернационализация и локализация вашей темы WordPress за 6 шагов

Название: Интернационализация и локализация вашей темы WordPress за 6 шагов . Краткое описание: [ad_1] ⭐ Констан . Дата публикации: 19.02.2022 . Автор: Алишер Валеев .

Для чего создан сайт Novosti-Nedeli.ru

Данный сайт посвящен новостям мира и мира технологий . Также тут вы найдете руководства по различным девайсам.

Сколько лет сайту?

Возраст составляет 3 года

[ad_1]

  • Константинос Кураторас

  • 0 Комментарии

Интернационализация и локализация вашей темы WordPress за 6 шагов

  • 7 минут чтения

  • WordPress, Темы, Локализация

Краткое резюме ↬

Очень важной частью разработки темы WordPress является ее подготовка к тому, чтобы пользователи со всех уголков планеты могли переводить ее сообщения на любой язык.

В этой статье рассматриваются основы интернационализации, то есть процесса разработки темы таким образом, чтобы конечный пользователь мог адаптировать ее к различным языкам без необходимости изменения исходного кода, и локализации, то есть процесса перевода текстовых сообщений на определенный язык. Расширение круга пользователей нашей темы — большое делои WordPress предоставляет простой способ сделать это.

  • Как провести локализацию веб-сайта
  • CSS-управляемая интернационализация в JavaScript
  • Должны ли вы спросить пользователя или его браузер?
  • Дневник WordCamp

Обзор процесса

Вот краткий обзор процесса интернационализации и локализации темы WordPress:

Еще после прыжка! Продолжить чтение ниже ↓
  1. Загрузите текстовый домен,
  2. Обрабатывайте текстовые сообщения с помощью функций WordPress,
  3. Извлеките эти сообщения с помощью соответствующего программного обеспечения,
  4. Обеспечьте перевод для каждого сообщения,
  5. Создайте языковой файл для определенной локали,
  6. Укажите WordPress включить локализацию и загрузить языковой файл.

Добавление функций WordPress

Первое, что нужно сделать, это загрузить текстовый домен, добавив следующую строку в functions.php файл нашей темы:

load_theme_textdomain('mytheme', get_template_directory() . '/languages');

Первый аргумент должен быть уникальный идентификатор (хорошей практикой является использование имени вашей темы); он определяет домен темы, поскольку текст для перевода не будет находиться в основных файлах перевода WordPress. Второй аргумент определяет папку языковых файлов. Для загрузки этих файлов функция должна быть привязана к after_setup_theme действие:

add_action('after_setup_theme', 'my_theme_setup');
function my_theme_setup(){
    load_theme_textdomain('mytheme', get_template_directory() . '/languages');
}

Обработка текстовых сообщений

После редактирования functions.php, следующим шагом будет просмотр исходных файлов, поиск сообщений, которые необходимо перевести, и обработка их с помощью соответствующей функции WordPress. Двумя наиболее важными и часто используемыми являются _e($text_message) а также __($text_message). Первая функция ищет перевод $text_message и печатает его. Если перевода не существует, то печатается $text_message. Эта функция используется для текстовых сообщений, которых нет в функциях PHP, так как она выводит результат. Возьмите следующую строку:

echo ‘Hello user’;

Это должно быть преобразовано в:

_e(‘Hello user’,’mytheme’);

Вторая функция ищет перевод $text_message и возвращает его. Если перевода не существует, то возвращается $text_message. Он используется для текста, который находится в функциях PHP. Например:

the_content( ‘Read more’ );

Этот вызов функции должен быть преобразован в:

the_content( __(‘Read more’,’mytheme’) );

Иногда текстовое сообщение включает динамические данные, например число из переменной PHP. В этом случае мы используем sprintf Функция PHP для создания окончательной строки сообщения:

$results_found = 12;
$message = sprintf( __(‘%s results found’ , ‘mytheme’) , $results_found );

Единственного и множественного числа

WordPress предоставляет функцию перевода одного и того же текстового сообщения в единственном и множественном числе:

_n( $single, $plural, $number, $domain )

Первый аргумент — это текст, который будет использоваться для единственного числа, а второй — текст, который будет использоваться для множественного числа. Третий аргумент — это число для сравнения, чтобы решить, какое из них использовать.

Хотя _n() функция встроена в WordPress, использовать его не рекомендуется потому что программное обеспечение для перевода анализирует только первый параметр функции, и поэтому эти два текстовых сообщения не будут получены. Вместо этого мы можем использовать PHP if утверждение:

if($results_found == 1)
    $message = __(‘1 result found’ , ‘my-text-domain’);
else
    $message = sprintf( __(‘%s results found’ , ‘my-text-domain’) , $results_found );

Языковые файлы

Как только мы убедимся, что обработали каждое текстовое сообщение с помощью упомянутых выше функций, наша тема готова к переводу. Для этой цели существует три типа языковых файлов:

  • То ГОРШОК файл содержит список всех переводимых сообщений в нашей теме.
  • То .po файл создается, когда мы переводим файл POT на конкретную локаль.
  • То .mo представляет собой двоичный файл, который автоматически создается программным обеспечением для перевода и не может быть прочитан человеком.

Список сообщений

Первое, что нужно сделать, это создать файл POT, который содержит все текстовые сообщения наших исходных файлов и который будет использоваться переводчиком для перевода сообщений в другую локаль. Существует несколько инструментов для создания файлов POT. Самый популярный, и тот, который мы будем использовать в этой статье, — это кроссплатформенный инструмент под названием Poedit.

  1. Откройте Poedit и создайте новый каталог.
  2. Заполните информацию о проекте во вкладке «Информация о проекте»: Вкладка информации о проекте Poedit
  3. На вкладке «Пути» укажите папку, в которой Poedit будет искать исходные файлы, содержащие переводимые текстовые сообщения. Эти папки относятся к папке нашего языкового файла, поэтому, если мы сохраним файл в папке в папке нашей темы, то мы должны добавить ..: Вкладка информации о путях в Poedit
  4. На вкладке «Ключевые слова» определите функции WordPress, используемые для перевода сообщений (имейте в виду, что Poedit предназначен не только для WordPress). В нашей теме мы использовали два ключевых слова: __ а также _e. Вкладка информации о ключевых словах в Poedit
  5. После того, как вы нажмете «ОК», Poedit просканирует папки, которые вы указали на вкладке «Пути», и отобразит текстовые сообщения в исходных файлах. Список сообщений в Poedit
  6. Сохраните файл POT в папке с именем languages в каталоге вашей темы: Каталог языков с файлом POT

Пожалуйста, обрати внимание: WordPress не нужен файл POT для загрузки определенного перевода. Файл представляет собой всего лишь шаблон, содержащий все переводимые строки сообщений, которые вы можете предоставить переводчику для перевода и возврата вам в качестве .po файл.

Предоставление перевода

Наш файл POT теперь создан! Следующим шагом является перевод сообщений этого POT-файла в конкретную локаль, а затем сохранение его как .po файл:

  1. Выберите нужную строку из списка и введите перевод в поле внизу окна. Введите перевод для текстового сообщения в Poedit
  2. Повторяйте это действие, пока все сообщения не будут переведены.
  3. Сохраните файл как .po файл в той же папке, установка кода языка и кода страны в качестве имени файла (иногда они идентичны), как определено в ISO 639-1 и ISO 3166-1 соответственно. Например, если язык перевода — британский английский, то имя будет таким: en_GB.po. Теперь languages папка будет содержать .po а также .mo файлы нашего перевода, а также файл POT: Каталог языков с файлами .po

Пожалуйста, обрати внимание: При сохранении .po файл, Poedit автоматически создаст .mo файл, который является двоичным файлом и не может быть прочитан человеком.

Обновление файла конфигурации

Как только мы создали .po а также .mo файлы, пришло время поручить WordPress включить локализацию и загрузить языковые файлы. Изменить wp-config.php файл в корневой папке WordPress и установите WPLANG переменная для соответствующей локали. Например:

define('WPLANG', ’);

Если мы используем локаль британского английского, то мы должны изменить строку выше на:

define('WPLANG', 'en_GB');

Что насчет плагинов?

Хотя в этой статье речь идет о темах WordPress, стоит отметить, что различия в процессе интернационализации плагина незначительны. Подобно тому, что мы делали, мы сообщаем WordPress, где найти языковые файлы, добавляя следующую функцию в основной файл плагина:

load_plugin_textdomain('myplugin', false, basename( dirname( __FILE__ ) ) . '/languages' );

Первый параметр определяет текстовый домен; рекомендуется использовать имя плагина, так как оно должно быть уникальным. Второй параметр определяет путь к папке, где .mo файл находится. Это соответствует устаревшей функции, которая была действительна до WordPress 2.7, поэтому мы указываем ее как false. Третий параметр — это папка, в которой находятся языковые файлы (в данном случае мы предполагаем, что они находятся в папке с именем languages).

Чтобы загрузить языковые файлы, нам нужно добавить хук и привязать эту функцию к init Действие WordPress:

function myplugin_internationalization()
{
    load_plugin_textdomain('myplugin', false, basename( dirname( __FILE__ ) ) . '/languages' );
}
add_action('init', 'myplugin_internationalization');

Наконец, мы обрабатываем текстовые сообщения так же, как и раньше, используя _e($text_message) а также __($text_message) функции. После того, как мы обработали все текстовые сообщения, наш плагин готов к локализации.

Заключение

База пользователей WordPress быстро растет, что делает CMS одним из самых популярных инструментов в мире веб-разработки. Поскольку люди приезжают со всего мира и говорят на разных языках, WordPress предлагает гибкую платформу и простой метод интернационализации, позволяющий пользователям переводить без изменения исходного кода.

Другие источники

В этой статье рассматриваются основы интернационализации и локализации темы WordPress. Для получения более подробной информации ознакомьтесь со следующими связанными ресурсами, доступными в Кодексе WordPress:

  • «Интернационализация для разработчиков WordPress»
  • «Перевод WordPress»
Сокрушительная редакция
(аль)



[ad_2]
Source: https://smashingmagazine.com

Заключение

Вы ознакомились с статьей — Интернационализация и локализация вашей темы WordPress за 6 шагов

Пожалуйста оцените статью, и напишите комментарий.

Похожие статьи

Добавить комментарий

Ваш адрес email не будет опубликован.

Кнопка «Наверх»