Перейти к содержанию

Как сменить язык админки WordPress: в настройках, в профиле и через WP-CLI

Открываешь админку чужого сайта, а она на английском. Мне-то всё равно, где какая кнопка, я и так помню. А вот человеку, который будет наполнять сайт, проще по-русски: в незнакомой админке и на родном языке легко заблудиться.

В 2014 году я менял язык через wp-config.php, и под тем постом мне написали: «думал, можно просто изменить настройки — и всё». Сейчас так и есть: язык меняется в настройках, а у каждого пользователя может быть свой. Ниже — где это делается, как то же сделать одной командой на сервере и что делать, если русского в списке нет.

Коротко: язык всего сайта — «Настройки → Общие → Язык сайта». Свой язык только для себя — «Пользователи → Профиль → Язык». На сервере — wp language core install ru_RU --activate. Константу WPLANG в wp-config.php ставить не нужно: WordPress её больше не читает.

Язык всего сайта

В английской админке: Settings → General → Site Language. Выбираете «Русский», жмёте «Save Changes». Если русского перевода на сайте ещё нет, WordPress сам скачает его с wordpress.org в wp-content/languages. Меняется язык и админки, и тех надписей сайта, которые выводит сам WordPress и тема: даты, «Читать далее», формы комментариев.

Вернуть английский — там же, пункт «English (United States)».

Свой язык для каждого пользователя

С версии 4.7 язык можно выбрать в профиле: Пользователи → Профиль → Язык (Users → Profile → Language). По умолчанию там стоит «Язык сайта», то есть пользователь видит то, что выбрано в общих настройках.

Это и есть ответ на мою задачу 2014 года: сайт клиента остаётся как был, наполнителю я ставлю в профиле русский, себе — что удобнее. Администратор меняет язык любому пользователю на странице его профиля. Сам сайт для посетителей от этого не меняется — только админка этого человека.

Одной командой на сервере (WP-CLI)

Когда сайтов несколько или доступ в админку неудобен, язык ставится через WP-CLI — консольную утилиту для WordPress:

wp language core install ru_RU --activate
wp language plugin install --all ru_RU
wp language theme install --all ru_RU

Первая команда скачивает перевод самого WordPress и включает его, две другие — переводы плагинов и тем, у которых они есть на wordpress.org. Переключиться на уже установленный язык:

wp site switch-language ru_RU
Если сайт на Бегете, WP-CLI ставить не нужно — он там уже есть. Заходите по SSH (на Бегете он включается галочкой «Включить SSH» в разделе «Управление FTP-аккаунтами») и запускайте команды wp language прямо из папки сайта. Что WP-CLI там работает, я проверил на своём сайте.

Язык одного пользователя (вместо admin — его логин):

wp user meta update admin locale en_US

Пустое значение locale — значит «как у сайта». Команды запускаются из папки сайта или с ключом --path=/путь/к/сайту.

Грабли

Грабли №1: русского нет в списке. Список показывает только уже установленные языки, если WordPress не может скачивать новые. Так бывает, когда в wp-config.php стоит define('DISALLOW_FILE_MODS', true); или у PHP нет прав на запись в wp-content (тогда при обновлениях WordPress просит данные FTP). Варианты: поставить перевод через WP-CLI из-под пользователя, которому можно писать в папку сайта; временно разрешить запись; или скачать архив перевода и распаковать его в wp-content/languages вручную.
Грабли №2: прописал WPLANG — ничего не изменилось. Рецепт из старых инструкций (и из первой версии этого поста) устарел с WordPress 4.0: язык хранится в базе, в настройке WPLANG, и она перекрывает константу из wp-config.php. Если константа там осталась, в «Настройках → Общие» под списком языков WordPress пишет: «The WPLANG constant in your wp-config.php file is no longer needed». Строку можно смело удалить и выбрать язык в настройках.
Грабли №3: админка на русском, а плагины на английском. Переводы плагинов и тем ставятся отдельно от перевода WordPress. Загляните в «Консоль → Обновления» — там есть кнопка «Обновить переводы», или выполните две последние команды из раздела про WP-CLI. Если у плагина перевода нет вовсе, его не будет, тут ничего не поделать.
Грабли №4: сменил язык сайта, а у меня всё по-старому. Значит, в вашем профиле выбран конкретный язык, а не «Язык сайта». Профиль важнее общих настроек.

Как это делалось в 2014 году

Тогда в «Настройках → Общие» список языков уже был:

Выбор языка в общих настройках WordPress, 2014 год

Но этого не хватало: я ещё прописывал язык в wp-config.php, сразу после строки с $table_prefix:

define('WPLANG', 'ru_RU');

а потом в «Консоль → Обновления» жал «Переустановить», чтобы WordPress докачал русские файлы:

Переустановка WordPress для загрузки русского перевода, 2014 год

Смешно, но к тому моменту это уже было не нужно: за две недели до поста вышел WordPress 4.0, в котором язык выбирается в настройках, а перевод скачивается сам. Я действовал по старой привычке и старым инструкциям.

1 комментарий

Написать комментарий

Адрес почты не публикуется. Обязательные поля отмечены звёздочкой.

Возможно, вы не читали

Как создать блог за полторы минуты

Как создать блог за полторы минуты

14 ноября 2009
Давно читаю блог Сергея Жуковского . Обнаружил его случайно. Ставил на свой сайт рекламу от ГуглАдвордс, там и увидел заветную ссылку…