Введите часть искомого слова, названия или фразы...
↑ ↓
  1. Новые темы озаглавленные с маленькой буквы - удаляются без предупреждения!
  2. Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

Использование редактора Poedit для локализации WC

Тема в разделе "Как изменить надпись, перевести текст и т. д.?", создана пользователем D&B, 26 авг 2013.

Статус темы:
Закрыта.
  1. D&B

    D&B Администратор Команда форума Местный

    Сообщения:
    3.279
    Симпатии:
    726
    Баллы:
    113
    Так как у пользователей WC часто возникают вопросы по изменению файла локализации для этого плагина, решил тут отписать свое решение этой проблемы. В чем собственно проблема?

    1. Файл с локализацией от WC по умолчанию, не видит популярный плагин для переводов – CodeStyling Localization к которому все привыкли. Вернее видит, но не все (возможно сам файлик просто нужно перенести в другое место, но я не пробовал). Отсюда вывод – изменяем перевод WC в программе – poedit. Скачать poedit можно вот тут с официальной страницы.

    2. При открытии файла woocommerce-ru_RU.po в редакторе возникает ошибка с множественным числом. Как ее обойти, я опишу чуть ниже.

    3. Имейте ввиду, что попытки быстренько перевести файл woocommerce-ru_RU.po в текстовом редакторе, ни к чему не приведут. Не знаю почему пока, не разбирался, но используйте для перевода именно poedit.

    Как избежать ошибки при переводе и собственно, что либо перевести или изменить перевод.
    Разберем пример от читателя. Допустим, нам нужно перевести надпись на кнопке "Перейти к оплате" на "Оформить заказ".

    Woocommerce-1.jpg Woocommerce - 2.jpg Woocommerce - 3.jpg Woocommerce - 4.jpg Woocommerce - 5.jpg Woocommerce - 6.jpg
    1. Скачиваем редактор poedit по ссылке выше.
    2. Скачиваем плагин WooCommerce и разархивируем на рабочий стол.
    3. Запускам poedit и открываем файл локализации плагина – woocommerce/i18n/languages/woocommerce-ru_RU.po
    4. Высветится ошибка синтаксиса:
    5. Переходим в Каталог – Свойства и заменяем (взято с оф. сайта) последнюю строку на -
      Код:
      Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;
      Правда, в этом случае у нас остаются только единственное и множественное варианты, но это лучше чем ничего.
    6. И кликаем на ОК.
    7. Затем кликаем на Проверить. Уведомление об ошибке просто скрываем, если оно еще висит. Теперь можно приступать к переводу.
    8. Находим через поиск (CTRL+F) – "Перейти к оплате" и в нижнем поле меняем на то что нам надо. В нашем случае – "Оформить заказ" и сохраняем.
    9. Копируем файл woocommerce-ru_RU.po на сервер в директорию /wp-content/plugins/woocommerce/i18n/languages/ с заменой разумеется.
    10. Наблюдаем измененную надпись в корзине [​IMG]
     
    Последнее редактирование: 4 ноя 2013
    • Нравится Нравится x 2
  2. Валерий

    Валерий

    Сообщения:
    271
    Симпатии:
    152
    Баллы:
    43
    Вот тут-то у меня и возникли проблемы с PoEdit при попытке перевода одного из плагинов, и не только его. Дело в том, что многие плагины, как и языковые файлы ядра WooCommerce имеют различное число множественных форм для разных случаев: где - одну, где - две, а где - сразу три. И тут PoEdit начинает тупить, и перевод частенько не срабатывает, а уведомление об ошибке исчезает лишь на время, до следующего открытия редактируемого файла. Строка, расположенная в PoEdit в Каталог – Свойства - одна, и туда можно занести какой-то определенный вид множественной формы, для двух видов множественного числа, как у Вас в примере, для трех (находил где-то нужный код), или для одного. Но фигня в том, что формы множественного числа не приведены к единому виду (для русского языка - три значения). Плагин (там где видит) CodeStyling Localization понимает это и все корректно переводит, а PoEdit почему-то понимать отказывается. Если вводим какую-то одну форму, например для двух значений, как у Вас в примере, и кликаем на Проверить, то сообщение об ошибке закрывается и файл можно корректно сохранить. Но при повторном открытии файла сообщение выскакивает вновь, только для другой формы. Пишет что-то типа этого: "Ошибка. Некоторые значения имеют 3 формы множественного числа...", или "Ошибка. Некоторые значения имеют 1 форму множественного числа..."
    Может я что-то недопонимаю, но делал как написано у Вас (да и на других сайтах находил примерно похожие описания) а не вышел "каменный цветок"...:confused:
     
    Последнее редактирование: 24 сен 2013
  3. delitant

    delitant

    Сообщения:
    128
    Симпатии:
    30
    Баллы:
    28
    Кроме файло .po, не забываем еще и про файл .mo, который poedit создаёт автоматом, его тоже нужно переносить в папку локализации.
     
  4. delitant

    delitant

    Сообщения:
    128
    Симпатии:
    30
    Баллы:
    28
    Мне советовали вот такую строку:
    nplurals=3; plural=(n%10==1 && n%100!=11) ? 0 : ((n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20)) ? 1 : 2);
    но проблему она тоже не решает. Хорошо бы докопаться до правды.
     
    Последнее редактирование: 5 окт 2013
  5. KoloS

    KoloS Местный

    Сообщения:
    40
    Симпатии:
    1
    Баллы:
    8
    мне бы тоже не помешало изменить слово items на корзине
     
  6. Валерий

    Валерий

    Сообщения:
    271
    Симпатии:
    152
    Баллы:
    43
    Я тут в одном из плагинов корзин не мог корректно перевести слово "items", точнее перевести-то его я мог, но плагин имел только две формы множественного числа (что весьма характерно для англоязычных плагинов), а мне нужно было, что по-русски это слово переводилось в 3-х формах, в зависимости от количества. Пробовал в исходном .php файле прописать 3-ю форму, но что-то у меня не получилось. В итоге удалил нах... это слово "items", а вместо него повесил сперва иконку корзины, а затем написал и само слово КОРЗИНА. Вполне нормально смотрится, если описать словами, то примерно так: "<иконка> КОРЗИНА - ... руб."
     
  7. D&B

    D&B Администратор Команда форума Местный

    Сообщения:
    3.279
    Симпатии:
    726
    Баллы:
    113
    Я вот попробовал на примере другой темы. Перевелось.
     

Статус темы:
Закрыта.