Cyr-To-Lat

აღწერა

გარდაქმნის კირილიცას სიმბოლოებს ჩანაწერის, გვერდისა და ელემენტის იარლიყებში ლათინურ სიმბოლოებად. გამოსადეგი URL-ების შესაქმნელად.

მახასიათებლები

  • The only plugin with fully editable transliteration table. Allows to add/remove and edit pairs like ‘Я’ => ‘Ya’, or even ‘Пиво’ => ‘Beer’
  • გარდაქმნის არსებული ჩანაწერების, გვერდებისა და ელემენტების ნებისმიერ რაოდენობას
  • ინახავს არსებული ჩანაწერის და გვერდის მუდმივი მისამართების მთლიანობას
  • ასრულებს დანართი ფაილების სახელების თარგმნას
  • The plugin supports Russian, Belorussian, Ukrainian, Bulgarian, Macedonian, Serbian, Greek, Armenian, Georgian, Kazakh, Hebrew, and Chinese characters
  • Has many advantages over similar plugins
  • ოფიციალურად თავსებადია WPML-თან

ეფუძნება ანტონ სკორობოგატოვის მიერ შექმნილი ორიგინალი Rus-To-Lat პლაგინს.

Sponsored by Blackfire.

Plugin Support

ეკრანული სურათები

  • Tables settings page
  • Converter settings page
  • Block editor with transliterated slug
  • WPML Certificate

დაყენება

  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' );

How can I redefine non-standard locale?

მაგალითად, თუ თქვენი არასტანდარტული ლოკალი არის uk_UA, შეგიძლიათ შეცვალოთ იგი uk-ზე , შემდეგი კოდის დამატებით თქვენი თემის function.php ფაილში:

/**
 * Use non-standard locale.
 *
 * @param string $locale Current locale.
 *
 * @return string
 */
function my_ctl_locale( $locale ) {
    if ( 'uk_UA' === $locale ) {
        return 'uk';
    }

    return $locale;
}
add_filter( 'ctl_locale', 'my_ctl_locale' );

How can I define my own transliteration of titles?

Add similar code to your theme’s functions.php file:

/**
 * Filter title before sanitizing.
 *
 * @param string|false $result Sanitized title.
 * @param string       $title  Title.
 *
 * @return string|false
 */
function my_ctl_pre_sanitize_title( $result, $title ) {
    if ( 'пиво' === $title ) {
        return 'beer';
    }

    return $result;
}
add_filter( 'ctl_pre_sanitize_title', 10, 2 );

How can I define my own transliteration of filenames?

Add similar code to your theme’s functions.php file:

/**
 * Filter filename before sanitizing.
 *
 * @param string|false $result   Sanitized filename.
 * @param string       $filename Title.
 *
 * @return string|false
 */
function my_ctl_pre_sanitize_filename( $result, $filename ) {
    if ( 'пиво' === $filename ) {
        return 'beer';
    }

    return $result;
}
add_filter( 'ctl_pre_sanitize_filename', 10, 2 );

How can I allow the plugin to work on the frontend?

Add the following code to your plugin’s (or mu-plugin’s) main file. This code won’t work being added to a theme’s functions.php file.

/**
 * Filter status allowed Cyr To Lat plugin to work.
 *
 * @param bool $allowed
 *
 * @return bool
 */
function my_ctl_allow( bool $allowed ): bool {
    $uri = isset( $_SERVER['REQUEST_URI'] ) ?
        sanitize_url( wp_unslash( $_SERVER['REQUEST_URI'] ) ) :
        '';

    if ( 0 === strpos( $uri, '/divi-comments' ) ) {
        return true;
    }

    return $allowed;
}

add_filter( 'ctl_allow', 'my_ctl_allow' );

How can I limit post types for background conversion?

Add similar code to your theme’s functions.php file:

/**
 * Filter post types allowed for background conversion.
 *
 * @param array $post_types Allowed post types.
 *
 * @return array
 */
function my_ctl_post_types( $post_types ) {
    return [
        'post'          => 'post',
        'page'          => 'page',
        'attachment'    => 'attachment',
        'product'       => 'product',
        'nav_menu_item' => 'nav_menu_item',
    ];
}
add_filter( 'ctl_post_types', 'my_ctl_post_types' );

How can I convert many posts/terms using wp-cli?

Use the following command in the console:

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

Where
-post_type is a list of post types,
-post_status is a list of post statuses.

How can I regenerate thumbnails safely?

Regeneration of thumbnails with the command wp media regenerate can break links in old posts as file names become transliterated.

To avoid it, deactivate cyr2lat plugin during regeneration:

wp media regenerate --skip-plugins=cyr2lat

შემიძლია წვლილი შევიტანო?

Yes, you can!

მიმოხილვები

12.02.2024 1 reply
С последним обновлением стали корректно работать ранее созданные атрибуты, раньше после выгрузки отключал плагин, сейчас работает как надо. Спасибо!
15.10.2023 3 replies
Плагин отличный (6.0.5), транслитерировал урлы (слаги для продвинутых) записей, страниц и меню и всего остального.Обратите внимание, что транслитерацию урлов всех меток (/tag/) и категорий (/category/) он тоже сделает, а в настройках нет отдельных пунктов отвечающих за метки и категории.
02.05.2023 4 replies
Українська транслітерація не відповідає постанові Кабінету Міністрів України від 27 січня 2010 р. № 55, яка визначає стандарт для транслітерації української мови, треба вручну виправляти.
93 რევიუს წაკითხვა

მონაწილეები & დეველოპერები

“Cyr-To-Lat” ღია პროგრამული უზრუნველყოფაა. შემდეგმა ადამიანებმა წვილი შეიტანეს მის განვითარებაში.

მონაწილეები

“Cyr-To-Lat” ითარგმნა 9 ენაზე. გმადლობთ თარჯიმნებო თქვენი წვლილისათვის.

გადათარგმნეთ Cyr-To-Lat თქვენს ენაზე.

დაინტერესებული ხართ დეველოპმენტით?

დაათვალიერეთ კოდი, შეამოწმეთ SVN რეპო, ან გამოიწერეთ შექმნის ჟურნალი : RSS.

ცვლილებები

6.1.0 (09.03.2024)

  • Tested with WordPress 6.5.
  • Tested with WooCommerce 8.6.
  • Fixed error on System Info tab when post types or post statuses are not set.

6.0.8 (14.02.2024)

  • Improved detection of the Gutenberg editor.
  • Fixed processing of product attributes.

6.0.7 (11.02.2024)

  • Tested with WooCommerce 8.5.
  • Added redirect from the cyrillic post title when creating a new post.
  • Added description of post types and post statuses on the Converter page.
  • Fixed displaying all file descriptions in the Theme Editor in the current locale.
  • Fixed PHP warning in SettingsBase.
  • Fixed output of variable product attributes.

6.0.6 (14.01.2024)

  • Tested with WordPress 6.4.
  • Tested with WooCommerce 8.4.
  • Tested with PHP 8.3.
  • Fixed documentation on ctl_allow filter.
  • Fixed improper display of the “rate plugin” message on options.php.

6.0.5 (09.10.2023)

  • Fixed displaying file descriptions in the Theme Editor; now in the current locale.

6.0.4 (23.09.2023)

  • Fixed disappeared file descriptions on the Theme File Editor page.

6.0.3 (29.07.2023)

  • Fixed the fatal error with Jetpack sync.

6.0.2 (26.07.2023)

  • Fixed fatal error in admin_footer_text().

6.0.1 (26.07.2023)

  • Fixed the fatal error on the System Info page with empty options.

6.0.0 (26.07.2023)

  • Dropped support of PHP 5.6. The Minimum required PHP version is 7.0 now.
  • Tested with WordPress 6.3.
  • Tested with WooCommerce 7.9.
  • Added System Info tab.
  • Added filter ‘ctl_allow’
  • Fixed console error when saving table data.
  • Fixed the current table setting on the Tables page with WPML.

See changelog for all versions.