Cyr-To-Lat

Опис

Перетворює кириличні символи в посиланнях записів, сторінок і рубрик в латинські. Корисно для створення URL-ів, що легко читаються людьми.

Особливості

  • The only plugin with fully editable transliteration table. Allows add/remove and edit pairs like ‘Я’ => ‘Ya’, or even ‘Пиво’ => ‘Beer’
  • Конвертує будь-яку кількість посилань існуючих записів, сторінок і термінів в фонових процесах
  • Зберігає цілісність постійних посилань вже існуючих записів і сторінок
  • Виконує транслітерацію назв файлів з вкладень
  • Includes Russian, Belorussian, Ukrainian, Bulgarian, Macedonian, Serbian, Greek, Armenian, Georgian, Kazakh, Hebrew, and Chinese characters
  • Has many advantages over similar plugins
  • Officially compatible with WPML

Засновано на оригінальному плагіні Rus-To-Lat від Антона Скоробогатова.

Скріншоти

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

  1. Завантажте папку cyr2lat в директорію /wp-content/plugins/.
  2. Активуйте плагін на сторінці «Плагіни» в панелі управління WordPress.

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

Як призначити свої правила для заміни?

Додайте наступний код в functions.php файл вашої теми:

/**
 * Modify conversion table.
 *
 * @param array $table Conversion table.
 *
 * @return array
 */
function my_ctl_table( $table ) {
   $table['Ъ'] = 'U';
   $table['ъ'] = 'u';

   return $table;
}
add_filter( 'ctl_table', 'my_ctl_table' );

Як я можу перевизначити нестандартну мову?

Наприклад, якщо нестандартна мова є uk_UA, її можна перевизначити як uk додавши наступний код до файлу теми function.php:

/**
 * Use conversion table for non-standard locale.
 *
 * @param array $table Conversion table.
 *
 * @return array
 */
function my_ctl_table( $table ) {
    if ( 'uk_UA' === get_locale() ) {
        $settings = new Cyr_To_Lat_Settings();
        $table    = $settings->get_option( 'uk' );
    }

    return $table;
}
add_filter( 'ctl_table', 'my_ctl_table' );

Як я можу перевести велику кількість записів/термінів, використовуючи wp-cli?

Використовуйте наступну команду в консолі:

wp cyr2lat regenerate [--post_type=<post_type>] [--post_status=<post_status>]

Де
-post_type список типів записів,
-post_status список статусів записів.

Чи можу я внести свій внесок?

Так, ви можете!

Відгуки

Плагин очень хороший если сналала создания сайта усановить. Но если автоматом изменить все старые ссилки, то редиректа со старых на новые нету. В Фейсбуке ссылкы старые и после захода влюду шибка 404.
26.07.2020
1. Каким-то образом удалил отображение всех изображений с названием на кириллице. 2. После установки перестали работать функции is_page(), при этом эти функции касались ярлыков исключительно на латинице. Удаление плагина не решило проблему. Тема Neve.
17.07.2020
Установил этот плагин с целью поменять ссылки на товары с кириллицы на латиницу. Поменялись. ок. Но также поменялись атрибуты товаров и вариации. Причем поменялись не в транслите [explicit redacted]. Вместо "размер кпб - 1,5 спальный, 2 спальный, евро" стало "razmer kpb - 61|70|72". Пропали вариации товаров. После удаления плагина вариации не появились. Так что, у кого есть вариативные товары, этим плагином не пользуйтесь.
Прочитати всі 60 відгуків

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

“Cyr-To-Lat” — проект з відкритим вихідним кодом. В розвиток плагіну внесли свій вклад наступні учасники:

Учасники

“Cyr-To-Lat” було перекладено на 7 локалізацій. Дякуємо перекладачам за їх роботу.

Перекладіть “Cyr-To-Lat” на вашу мову.

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

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

Журнал змін

4.5.0 (18.05.2020)

  • Added Greek and Armenian languages
  • Added background conversion of attachments and thumbnails
  • Fixed background conversion of existing slugs

4.4.0 (18.04.2020)

  • Full flexibility to edit transliteration table: now it is possible to add/remove transliteration pairs on the settings page
  • Ability to edit not only values in the transliteration table, but also keys
  • Saving active table via ajax
  • Watching changes in active table
  • Auto-saving of changed table
  • Info about the current locale on settings page
  • Making table with current locale active at setting page load
  • Chinese language added
  • Fixed: slug not updated at woocommerce product duplication

4.3.5 (28.03.2020)

  • Tested up to WordPress 5.4
  • Fixed bug with disappearing of WooCommerce attributes

4.3.4 (22.02.2020)

  • Fixed non-conversion of slugs with WPML
  • Restricted conversion of post to public and nav_menu_item
  • Introduced ctl_post_types filter

4.3.3 (20.02.2020)

  • Reworked main plugin filter
  • Improved performance by minimizing number of calls
  • Updated Georgian table
  • Fixed slug duplication in taxonomies
  • Fixed warnings with WooCommerce when mbstring is not loaded
  • Fixed transliteration of draft post slug
  • Tables sorted by local alphabets

4.3.2 (29.12.2019)

  • Fixed problems with setting of max_input_vars on some hostings

4.3.1 (27.12.2019)

  • Added requirement to have max_input_vars >= 5000
  • Added automatic plugin deactivation if requirements are not met
  • Added attempt to auto-fix max_input_variable value

4.3 (14.12.2019)

  • Added Chinese table
  • Tested up to WordPress 5.3
  • Tested up to PHP 7.4
  • External library wp-background-processing scoped into own namespace to prevent errors in some cases

4.2.3 (29.08.2019)

  • Scoped Symfony Mbstring polyfill to avoid problems with composer autoloader on some sites.

4.2.2 (28.08.2019)

  • Added ACF (Advanced Custom Fields) plugin support
  • Added Serbian table
  • Added new filter ctl_pre_sanitize_filename
  • Fixed improper encoding of Ё, ё, Й, й characters in file names on some Mac computers (old known problem on Mac’s)

4.2.1 (23.06.2019)

  • Fixed problem with sessions
  • Fixed message sequence for conversion of existing slugs.
  • Added php version check to avoid fatal error on activation on old sites.
  • Added vertical tabs in plugin settings.

4.2 (28.05.2019)

  • Мінімально необхідна версія PHP піднята – до 5.6
  • Додані тести phpunit для всіх версій php від 5.6 до 7.3
  • Виправлено попередження php під час перетворення існуючих частин посилання
  • Fixed locale selection during conversion of existing post slugs when WPML is activated
  • Fixed bug with infinite redirection of some slugs after conversion of existing slugs

4.1.2 (22.05.2019)

  • Виправлено фатальну помилку у Cyr_To_Lat_Converter з php 5.2

4.1.1 (22.05.2019)

  • Виправлено фатальну помилку у Cyr_To_Lat_Converter з php 5.6

4.1 (21.05.2019)

  • Додано таблицю he_IL
  • Додано переклад плагіну на Українську
  • Додано переклад плагіну на Шведську
  • Додано тести phpunit. Всі класи плагіну покриті на 100%
  • Додано js тести. Всі js коди плагіну покриті на 100%
  • Виправлено помилку з Jetpack синхронізацією
  • Виправлена помилка з порожніми слагом при використанні символів поза локаллю

4.0 (24.04.2019)

  • Додано кнопку для конвертації існуючих посилань замість прапорця
  • Додано адмін повідомлення при конвертації існуючих посилань
  • Додано post_type і post_status параметри до wp-cli команди
  • Виправлено текстовий домен
  • Спрощений package.json для зменшення фінального js
  • Додані phpunit тести в основний клас плагіну
  • Доданий travis.yml для неперервної інтеграції GitHub, також покращено надійність коду

3.7 (12.04.2019)

  • Додано Білоруську, Македонську і Казахську таблицю
  • Виправлена помилка з MariaDB під час конвертації існуючих посилань
  • Виправлено помилки при збереженні користувацьких змін в iso9 таблиці

3.6.5 (11.02.2019)

  • Додані черги для фонового процесу конвертації посилань

3.6.4 (06.02.2019)

  • Виправлено _wp_old_slug помилку при перенаправлені.
  • Виправлено urldecode помилку в записах.

3.6.3 (04.02.2019)

  • Виправлено помилку при активації у мережі мультисайту

3.6.2 (01.02.2019)

  • Переміщено меню у розділ налаштувань
  • Виправлений текстовий домен.

3.6.1 (31.01.2019)

  • Текстовий домен скоректований.

3.6 (31.01.2019)

  • Додано сторінку налаштувань для плагіну.
  • Сторінка налаштувань дозволяє користувачам редагувати таблицю конвертацій онлайн.
  • Код конвертовано в ООП.
  • Код адаптовано відповідно до WordPress стандартів.
  • JS розроблена відповідно до ECMA-6 стандарту.
  • Сторінка налаштувань працює навіть з вимкнутим в браузері JS.
  • Додані composer і yarn.
  • Додані ресурси (банер, іконка, адміністративна іконка).

3.4 (21.01.2019)

  • Протестовано до WP 5.1
  • Форматування коду згідно WPCS стандартам.
  • Сувора відповідність.
  • Видалено {} з MySQL запитів для додання можливості перевірки імені таблиць в PhpStorm.
  • Оновлено .gitignore та README.md
  • Додано новий фільтр ctl_pre_sanitize_title

3.3 (18.01.2019)

  • wpcs 1.0
  • Виправлено багато помилок
  • Додано Gutenberg підтримку

3.2

  • Додано транслітерацію при публікації через XML-RPC
  • Виправлено помилку “Невірна Таксономія” при перегляді більш використовуваних позначок

3.1

  • Виправлено транслітерацію під час збереження чернетки

3.0

  • Додано автоматичну конвертацію посилань для існуючих записів, сторінок і термінів таксономій
  • Додано збереження існуючих записів та інтеграція постійних посилань сторінок
  • Додано траслітерацію для імен завантажень
  • Покращено таблицю транслітерацій відповідно до ISO 9 стандартів
  • Включає українські, російські, болгарські і грецькі символи
  • Додано фільтр для таблиці транслітерації

2.1

  • Оптимізовано виклик фільтрів

2.0

  • Додано перевірку для існуючих таксономій

1.0.1

  • Оновлено опис

1.0

  • Реліз першої версії плагіну.