WordPress переведен на румынский язык с диакритическими знаками. Я хочу отобразить перевод без них и преобразовать символы типа ă, î, ț, ș в a, i, t, s, потому что мой шрифт не поддерживает их.
Есть какой-либо способ сделать это?
Может быть, есть какой-то автоматический способ, которым я могу заменить все символы в .po и .mo файлах?
Моя настройка WordPress включает WooCommerce.
Подключитесь к серверу по SSH, перейдите в папку Languages и выполните следующие команды:
for file in sh plugins/woocommerce-ro_RO.po; do ex -sc '%s/[Ă]/A/ge | %s/[ăâ]/a/ge | %s/[Ș]/S/ge | %s/ș/s/ge | %s/[Ț]/T/ge | %s/ț/t/ge | %s/Î/I/ge | %s/î/i/ge | x' "$file" ; done
msgfmt plugins/woocommerce-ro_RO.po -o plugins/woocommerce-ro_RO.mo
Первая команда редактирует файл .po и заменяет все диакритические знаки внутри этого файла, а вторая компилирует файл .po в файл .mo.
Для работы msgfmt вам нужно установить gettext.
Для автоматизации вы можете включить все команды, которые вам нужны, в текстовый файл (по одной на строку) и запустить его так:
sh remove-diacritics.txt
Команды были протестированы на macOS и CentOS.
Других решений пока нет …