Не могу изменить язык (доступен только "English (United States)")

16 февр. 2016 г., 22:56:49
Просмотры: 64.9K
Голосов: 36

WordPress всегда должен позволять менять язык в любое время. Однако иногда возникают ситуации, когда можно выбрать только "English (United States)".

(Настройки > Общие настройки > Язык сайта)

Что должно быть:

Выпадающий список с множеством доступных языков в WordPress

Что я вижу:

Выпадающий список только с одним вариантом English (United States)

Почему так происходит? Как это исправить?

8
Комментарии

Итак... никто не знает?

Fabián Fabián
22 февр. 2016 г. 21:21:36

У меня такая же проблема. Тебе удалось её решить?

Sushi Sushi
29 апр. 2016 г. 23:07:58

Возможно, это проблема с правами доступа — правильно ли настроены права у Wordpress?

Stuart Stuart
24 окт. 2016 г. 17:59:04

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

Lalit Lalit
4 авг. 2017 г. 10:15:27

Это не совсем отвечает на вопрос. Если у вас другой вопрос, вы можете задать его, нажав Задать вопрос. Вы также можете добавить вознаграждение, чтобы привлечь больше внимания к этому вопросу, как только у вас будет достаточно репутации. - Из обзора

cjbj cjbj
4 авг. 2017 г. 11:08:07

Поздний ответ, но у меня была такая же проблема (во время установки), и причиной оказалось... (моя ошибка) — отсутствие полных прав для этого конкретного виртуального домена. Моим решением, как уже упоминал @Stuart, была установка корректных прав доступа. (Например, для CentOS 7: chown -R apache:apache /путь/к/виртуальному/домену и правильные настройки SELinux) Это позволило мне после установки выбрать другой язык.

Charles Charles
12 февр. 2019 г. 10:25:44

Подробное объяснение происходящего можно найти по ссылке https://wordpress.stackexchange.com/questions/189554/what-security-concerns-should-i-have-when-setting-fs-method-to-direct-in-wp-co.

daveagp daveagp
19 окт. 2019 г. 10:22:09

В наших проектах мы используем composer и не хотим, чтобы клиенты могли вручную обновлять плагины. Для этого мы используем define('DISALLOW_FILE_MODS', true);. Это также блокирует загрузку переводов в WordPress. Отключите это временно для установки переводов.

Sten Pelzer Sten Pelzer
13 окт. 2024 г. 11:32:43
Показать остальные 3 комментариев
Все ответы на вопрос 9
6
26

Возможно, у WordPress нет прав для сохранения новых языковых файлов. У меня была такая же проблема, и я решил её, добавив следующее в wp-config.php:

define('FS_METHOD', 'direct');

Также стоит проверить, что ваш каталог wp-content/ доступен для записи пользователю веб-сервера.

21 июн. 2017 г. 13:15:07
Комментарии

Это должно быть принятым ответом, остальные — просто обходные решения.

Dawid Adach Dawid Adach
27 июл. 2018 г. 15:51:03

Dawid: FS_METHOD не имеет прямого отношения к языку как таковому, но хорошо, что это решило вашу проблему. Другие ответы соответствуют тому, что пишет команда WP здесь (так что это не обходное решение, а просто ручная установка): https://codex.wordpress.org/Installing_WordPress_in_Your_Language#Manually_Installing_Language_Files

Herbert Van-Vliet Herbert Van-Vliet
7 окт. 2018 г. 15:09:39

Изменение прав wp-content на 777 решило проблему!

John Jang John Jang
31 дек. 2018 г. 14:52:58

@John_J re:777: Чтобы проверить, являются ли права доступа проблемой, это нормально, но не используйте 777 в рабочей среде, рекомендуемые права для папок 755 - см. WordPress Codex 'Changing File Permissions' 'The dangers of 777'

Tobias Beuving Tobias Beuving
27 нояб. 2019 г. 11:18:31

У меня была проблема с правами доступа (Ubuntu). Исправление: ~$ chown -R www-data /path/to/wordpress

Seu Madruga Seu Madruga
8 июл. 2022 г. 05:16:39

У меня все в www-data, и повторный chown www-data, как сказал @SeuMadruga, исправил проблему.

KingGeneral KingGeneral
18 сент. 2023 г. 10:49:16
Показать остальные 1 комментариев
2
13

У меня нет опыта работы с WP. Я попытался установить WP 4.7 и столкнулся с той же проблемой. В выпадающем списке был только английский язык. Я думал, что WP автоматически загружает все файлы перевода, но, к сожалению, этого не произошло.

Чтобы языки появились в выпадающем списке (Настройки > Основные настройки > Язык сайта), вам необходимо установить файлы перевода в директорию wp-content/languages.

Чтобы скачать языковой файл, выберите версию WP здесь https://translate.wordpress.org/projects/wp, затем выберите язык. Вы попадете на страницу, где можно скачать языковой файл.

Например, для WP 4.7 Украинский я получил эту страницу:

translate.wordpress.org/projects/wp/4.7.x/uk/default

В конце страницы найдите ссылку Export. Выберите 'all current' как 'Machine Object Messages Catalog (.mo)' и нажмите export.

Затем поместите скачанный файл в директорию wp-content/languages. Откройте или обновите страницу Настройки > Основные настройки. Вы должны увидеть новый язык в выпадающем списке.

Важно скачать именно .mo файл. Я потратил много времени, пытаясь установить .po файл. Также, если вы пользователь Linux и у вас есть только .po файл, вы можете конвертировать его командой:

msgfmt -o uk_UA.mo uk_UA.po

Чтобы установить файлы перевода для плагинов и тем, нужно сделать то же самое с небольшими отличиями.

Подробнее вы можете узнать здесь: https://codex.wordpress.org/Installing_WordPress_in_Your_Language

31 мая 2017 г. 19:54:51
Комментарии

Это отлично работает для меня. Спасибо.

zahra_oveyedzade zahra_oveyedzade
15 дек. 2020 г. 13:31:59

Спасибо, всё ещё актуально в 2024 году.

rgdigi rgdigi
29 февр. 2024 г. 13:38:49
2

Только что столкнулся с такой же проблемой. В моем случае причина была проста. Когда вы устанавливаете англоязычную версию WordPress, поддиректория languages в директории wp-content отсутствует. Создайте ее вручную, и вы получите список всех доступных языков в панели управления WordPress.

1. Создайте целевую директорию

По умолчанию "content" директория находится по пути <wordpress folder>/wp-content. Однако в зависимости от вашей установки она может находиться в другом месте.

Чтобы проверить, выполните команду wp eval "echo WP_CONTENT_DIR;"

После того как вы определили эту директорию, создайте в ней поддиректорию languages.

2. Установите языки

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

3. Установите языки для плагинов и тем

3.1 Первый вариант: Пусть WordPress скачает их автоматически

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

3.2 Второй вариант: разместите их вручную

Как упоминалось выше, WordPress должен иметь права на запись в директорию languages, в противном случае вам придется загружать все файлы переводов вручную. Разместите файлы переводов .po и .mo для установленных тем в поддиректории languages/themes, а файлы переводов для установленных плагинов - в поддиректории languages/plugins.

25 июл. 2017 г. 21:35:49
Комментарии

Мне пришлось добавить папку languages и создать .mo файл, как описано в другом ответе. Это полезно.

Rolf Rolf
14 июн. 2018 г. 16:52:08

Внизу страницы соответствующей команды переводчиков WordPress обязательно выберите "Machine Object Message Catalog" и нажмите "Export". Назовите файл как-нибудь понятно и скопируйте .mo файл в папку languages.

Herbert Van-Vliet Herbert Van-Vliet
7 окт. 2018 г. 15:03:12
0

Эта проблема возникает в WordPress 4.0 и более новых версиях из-за проблем с разрешениями. Из-за этого WordPress не может загрузить языковые пакеты. Чтобы добавить другие языки в общих настройках админ-панели, добавьте этот код в файл wp-config.php сразу после строки define('WP_DEBUG', true);

define('FS_METHOD', 'direct');

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

14 июн. 2018 г. 14:32:25
0

У меня была точно такая же проблема. Если у вас установлен мультиязычный плагин, вам необходимо его деактивировать (или удалить), и тогда вы сможете изменить язык на нужный. Я столкнулся с этой проблемой при использовании Multisite Language Switcher.

P.S. Я проверил заранее и убедился, что языковые файлы присутствуют в моей установке WordPress.

2 февр. 2017 г. 11:46:13
0

У меня была такая же проблема, и я потратил часы на изучение различных сложных решений.

Всего 3 очень простых шага.

1 Создайте новую папку в директории ‘/wp-content’ с названием ‘/languages’
2 Скопируйте в эту папку языковой пакет для языка, который вы хотите установить
(скачайте его с https://make.wordpress.org/polyglots/teams/)
3 Выберите новый язык через интерфейс

Подробности здесь: https://www.linuwi.com/tutorials/how-to-change-wordpress-language/

31 авг. 2017 г. 14:49:57
0

Как Иван описал выше, убедитесь, что у PHP есть правильные права доступа к файлам, чтобы он мог создать подкаталог /languages в каталоге /wp-content. Если права настроены правильно, каталог будет создан автоматически, и вы сможете выбрать язык в разделе Настройки > Основные настройки > Язык сайта.

17 окт. 2017 г. 15:51:46
0

В моем случае, так как я использовал WPML для перевода, мне пришлось перейти на страницу настройки WPML, чтобы изменить язык по умолчанию.

Страница настройки языка в WPML

2 февр. 2018 г. 14:08:51
1

Я решил эту проблему, правильно указав путь, по которому WordPress ищет папку wp-content.

В файле wp-config.php можно задать расположение папки wp-content. В зависимости от системы, с которой вы работаете, попробуйте установить следующий код:

define('WP_CONTENT_DIR', realpath(dirname(__FILE__) . '/wp-content'));

или такой:

define('WP_CONTENT_DIR', realpath($_SERVER['DOCUMENT_ROOT'] . '/wp-content'));
21 июн. 2016 г. 18:46:17
Комментарии

Я попробовал оба варианта. Ни один не сработал.

Janosh Janosh
19 июн. 2017 г. 12:07:52