WP Multilang

Опис

WP Multilang це плаґін багатомовності для WordPress.

Доступний переклад записів довільних типів, елементів таксономій текстових полів, мільтімедіа файлів, меню, заголовків та текстів віджетів.

Особливості плаґіна WP Multilang:

  • 100% безкоштовно
  • Переклад на рівні PHP.
  • Сумісність з REST.
  • Підтримує налаштування для перекладу багатомірних масивів у опціях, мета полях, змісту записів.
  • Підтримка багатосайтовості
  • Пітдтримка роботи WordPress з підпапки
  • Розділення пунктів меню, записів, термінів, віджетів, коментарів за мовою.
  • Багато фільтрів для динамічного застосування конфігурації перекладу.
  • Без дублів записів, термінів, меню, віджетів.
  • Без субдоменів для мовних версій
  • Без додаткових таблиць у базі.
  • Можливість встановити багато мов з одним пакетом локалізації. Наприклад, для локалі регіону.
  • Можливість встановити довільну локаль для html(Якщо встановлений мовний пакет en_US, ви можете встановити локалі: en, en-UK, en-AU тощо. Без встановлення окремої локалізації.).
  • Можливість додавати нові мови для будь-якого користувача з правами manage options
  • Є роль користувача “Перекладач” для редагування записів та елементів таксономій. Він не може публікувати чи видаляти.
  • Без обмежень за мовою чи можливостями.

WP Multilang сумісний з коробки з плаґінами:

  • ACF, ACF Pro
  • WooCommerce
  • WooCommerce Customizer
  • Gutenberg
  • Yoast Seo
  • Contact Form 7 (доданий теґ для листів [_language] для додавання мови користувача)
  • WPBakery Visual Composer
  • Page Builder by SiteOrigin
  • NextGEN Gallery
  • All in One SEO Pack
  • MailChimp for WordPress
  • Newsletter
  • Maps Builder
  • Max Mega Menu
  • MasterSlider
  • WP-PageNavi
  • BuddyPress
  • Meta Slider
  • TablePress
  • Download Monitor (Перевизначте шаблон для ланок у вашій темі та перекладіть тексти ланок)
  • Better Search

Керування налаштуваннями перекладу через json.

Додайте у корінь своєї теми або плаґіна файл wpm-config.json з налаштуваннями.

Приклади конфігурацій ви можете подивитися у теці ‘configs’ у корені плаґіну.

Конфігурація оновлюється після перемикання теми, вимкнення/увімкнення/оновлення будь-якого плаґіна.

Має фільтри для динамічного застосування конфігурації перекладу.

Для вимкнення перекладу передайте null у потрібну конфігурацію.
Наприклад, потрібно вимкнути переклад для типу запису post.

Для цього є два шляхи:

  1. In json.
    Create in root of a theme or a plugin file wpm-config.json with:
    {
    “post_types”: {
    “post”: null
    }
    }

  2. Through the filter.
    Add in functions.php
    add_filter( ‘wpm_post_post_config’, ‘__return_null’ );

To enable translation pass an empty array in php array() or empty object in json {}.

Supports translation multidimensional array of options, meta fields and post_content.
Supports the removal of established localizations.
Supports translation via GET parameter. Add in the GET parameter lang code desired language.
Supports clean database of translations when removing the plugin. Translations are only removed from the built-in tables.
Supports import term translations from qTranslate(by Soft79).
Supports automatically redirect to the user’s browser language, if he visits for the first time.

Ідеально підходить для розробників.

For display language switcher in any place add the code to your template if ( function_exists ( 'wpm_language_switcher' ) ) wpm_language_switcher ();
Function accepts two parameters:
$type – ‘list’, ‘dropdown’, ‘select’. Default – ‘list’.
$show – ‘flag’, ‘name’, ‘both’. Default – ‘both’.

Or using the shortcode wpm_lang_switcher. It accept two not necessary parameters ‘type’ and ‘show’.

Available features for translation:
wpm_translate_url( $url, $language = ” ); – translate url
wpm_translate_string( $string, $language = ” ); – translate multilingual string
wpm_translate_value( $value, $language = ” ); – translate multidimensional array with multilingual strings

Оновлення перекладів відбувається на рівні PHP. Тому плаґін має високу адаптивність, сумісність та легко інтегрується з іншими плаґінами. Саме це вирізняє його серед подібних.

Доступний переклад html теґів через JS для рядків, що не мають фільтрів WP перед виводом.

Додайте ваші теґи у конфіґ:

"admin_html_tags": {
    "admin_screen_id": {
      "attribute": [
        "selector"
      ]
    }
}

Де:
admin_screen_id – id екрану адміністратора.
attribute – атрибут, що потрібно перекласти. Доступно text – для перекладу текстових вузлів, value – для перекладу значень форм. Або інший атрибут теґу, типу title, alt.
selector – css селектор для пошуку потрібного елементу. Кожен селектор це новий елемент масиву.

If You need to add translation for multidimentional array for repeated elements You can use custom tag ‘wpm_each’ for set config to each element in array.
Example, add config for each item ‘title’ in custom post field array:

"post_fields": {
    "custom_field": {
      "wpm_each": {
        "title": {}
      }
    }
}

For set translation uses the syntax:
[:en]Donec vitae orci sed dolor[:de]Cras risus ipsum faucibus ut[:]

Підтримує переклад із синтаксису qTranslate, qTranslate-X, WPGlobus тощо.

Сумісний з REST-API.
Підтримує передачу потрібного перекладу через параметр lang у GET запиті до REST.
Має можливість зберігати запис потрібною мовою через передачу параметру lang в запиті.

Міграція з qTranslate-X

  1. Перед встановленням/видаленням, зробіть резервну копію бази даних.
  2. Деактивуйте qTranslate-X.
  3. Встановіть та активуйте WP Multilang.
  4. Створіть у корені вашої теми файл ‘wpm-config.json’.
  5. Додайте потрібні типи записів, таксономії, опції, поля до ‘wpm-config.json’. Налаштування з qTranslate-X не імпортуються.
  6. Імпортуйте назви термінів з qTranslate.
  7. Перевірте чи все добре.
  8. Якщо все добре, видаліть qTranslate-X. Якщо ні, зробіть зняток екрану помилки, відновіть базу з резервної копії та додайте нове питання на форум підтримки зі знятком та описом ваших помилок.

Увага

Не підтримує різні ланки для різних мов (поки що).

Не сумісний з:
– WP Maintenance

Відомі проблеми

Функція ‘get_page_by_title’ не працює, оскільки у полі заголовку зберігаються заголовки для всіх мов. Використовуйте функцію ‘wpm_get_page_by_title( $title )’ як рішення.

NOTE: Because plugins have different ways of storing data, WP Multilang is not compatible with every single plugin out-of-the-box (mostly page builders). This may result in texts not being translatable or translations not being saved. Most of these issues can be resolved using the integration options (wpm-config.json or filters) of WP Multilang.

Please try WP Multilang in a test-environment before activating it on an existing production site and always make a backup before activating!

Скріншоти

  • Сторінка налаштувань
  • Сторінка списку записів
  • Сторінка списку елементів таксономії
  • Сторінка редагування елементу таксономії
  • Сторінка редагування запису

Встановлення

  1. Завантажте файли плаґіну у теку /wp-content/plugins/wp-multilang або встановіть плаґін через встановлення плаґінів у WordPress
  2. Активуйте плаґін у розділі “Плагіни” у WordPress.
  3. Налаштуйте мови на сторінці налаштувань WP Multilang.

Часті питання

Я додав новий переклад, але він перезаписався іншим.

Якщо у вас відкрито кілька вкладок бравзера, з редагуванням запису і ви перемкнулися на іншу мову на одній із них, то запис збережеться з тією мовою, що ви ввімкнули останньою.

Відгуки

Серпень 16, 2019
Hello, Is this plugin still maintained? Last update was 8 months ago, last reply here by the author one year ago. And the author VaLeXaR has listed the pretty new (and very good) TranslatePress – Translate Multilingual sites among his favourite plugins. So I am wondering if this plugin has a future? Also: Can you please specify what you mean by this step? "Add all needed post types, taxonomies, options, fields to ‘wpm-config.json’. Setting from qTranslate-X not importing." Thanks, Daniel
Червень 24, 2019
Hey I have used this plugin in two website. Its great. It would be great too if language switch will be available in media popup
Червень 17, 2019
I have a setting for multi lang for my web but the multi-currency not working now Please help me how to for setup multi-currency Best LEO
Червень 16, 2019
The app is absolutely great. The more I read and discover, the more I love it.
Прочитати всі 56 відгуків

Учасники та розробники

“WP Multilang” is open source software. The following people have contributed to this plugin.

Учасники

“WP Multilang” було перекладено на 6 локалізацій. Дякуємо перекладачам за їх роботу.

Перекладіть “WP Multilang” на вашу мову.

Цікавитесь розробкою?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Журнал змін

2.3.0

  • fixed compatibility with WordPress 5.0
  • fixed compatibility with AIOSP

2.2.6

  • added donate link to readme.txt
  • fix display language name
  • fix SiteOrigin Builder compatibility
  • fix fatal error when a plugin is disabled
  • fix translate REST requests in admin

2.2.5

  • fixed Gutenberg compatibility
  • fixed translation WC coupons

2.2.4

  • added “no-cache” header in admin on language change
  • added WC coupon for translating
  • fixed compatibility with SiteOrigin
  • fixed http to https redirect error
  • fixed styles

2.2.3

  • fix translate menu
  • fix translating
  • fix saving metabox
  • fix set home url in subfolder

2.2.2

  • added shortcode for display language switcher
  • add filters for set json config files for integration
  • fixed checking for ml strings
  • Виправлена сумісність з Gutenberg
  • fixed checking for JSON strings
  • fixed regex for ml strings

2.2.1

  • fixed escaping text. Have error on some sites.
  • fixed ACF PRO menu integration. Have error on ACFv4.

2.2.0

  • added alternate locale for opengraph in YOAST SEO
  • added setting default translation
  • fixed PHP notice in YOAST sitemap
  • Виправлена сумісність з Gutenberg
  • fixed compatibility with Buddypress
  • fixed translate ‘attr_escape’
  • fixed adding custom fields to menu items

Весь список змін доступний на GitHub.