Title: Cyr-To-Lat
Author: Sergey Biryukov
Published: <strong>2 vasario, 2008</strong>
Last modified: 1 balandžio, 2026

---

Ieškoti įskiepiuose

![](https://ps.w.org/cyr2lat/assets/banner-772x250.png?rev=2434252)

![](https://ps.w.org/cyr2lat/assets/icon.svg?rev=2834364)

# Cyr-To-Lat

 Autorius [Sergey Biryukov](https://profiles.wordpress.org/sergeybiryukov/)

[Parsisiųsti](https://downloads.wordpress.org/plugin/cyr2lat.6.7.0.zip)

[Live Preview](https://lt.wordpress.org/plugins/cyr2lat/?preview=1)

 * [Informacija](https://lt.wordpress.org/plugins/cyr2lat/#description)
 * [Atsiliepimai](https://lt.wordpress.org/plugins/cyr2lat/#reviews)
 *  [Diegimas](https://lt.wordpress.org/plugins/cyr2lat/#installation)
 * [Kūrimas](https://lt.wordpress.org/plugins/cyr2lat/#developers)

 [Pagalba](https://wordpress.org/support/plugin/cyr2lat/)

## Aprašymas

Converts Cyrillic characters in post, page, and term slugs to Latin characters. 
Useful for creating human-readable URLs.

#### Features

 * The only plugin with a fully editable transliteration table. Allows adding/removing
   and editing pairs like ‘Я’ => ‘Ya’, or even ‘Пиво’ => ‘Beer’
 * Converts any number of existing post, page, and term slugs in background processes
 * Saves existing post and page permalinks integrity
 * Performs transliteration of attachment file names
 * The plugin supports Russian, Belorussian, Ukrainian, Bulgarian, Macedonian, Serbian,
   Greek, Armenian, Georgian, Kazakh, Hebrew, and Chinese characters
 * [Has many advantages over similar plugins](https://kagg.eu/en/the-benefits-of-cyr-to-lat/)
 * [Officially compatible with WPML](https://wpml.org/plugin/cyr-to-lat/)

Based on the original Rus-To-Lat plugin by Anton Skorobogatov.

Sponsored by [Blackfire](https://www.blackfire.io/).

### Plugin Support

 * [Support Forum](https://wordpress.org/support/plugin/cyr2lat/)
 * [Telegram Group](https://t.me/cyr2lat)

## Ekrano nuotraukos

 * [[
 * Tables settings page
 * [[
 * Converter settings page
 * [[
 * Block editor with transliterated slug
 * [[
 * WPML Certificate

## Diegimas

 1. Upload the `cyr2lat` folder to the `/wp-content/plugins/` directory.
 2. Activate the plugin through the ‘Plugins’ menu in WordPress.

## DUK

### How can I define my own substitutions?

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

    ```
    /**
     * 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?

For instance, if your non-standard locale is uk_UA, you can redefine it to `uk` 
by adding the following code to your theme’s `function.php` file:

    ```
    /**
     * 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 the cyr2lat plugin during regeneration:

    ```
    wp media regenerate --skip-plugins=cyr2lat
    ```

### Can I contribute?

Yes, you can!

 * Join in on our [GitHub repository](https://github.com/mihdan/cyr2lat)
 * Join in on our [Telegram Group](https://t.me/cyr2lat)

### Where do I report security bugs found in this plugin?

Please report security vulnerabilities by email to:

**security@kagg.eu**

When reporting a vulnerability, please include as much information as possible to
help us reproduce and investigate the issue, such as:

 * A clear description of the vulnerability
 * Steps to reproduce
 * Proof-of-concept or exploit code (if available)
 * Affected versions

We will review your report and respond as quickly as possible.

## Atsiliepimai

![](https://secure.gravatar.com/avatar/cb0988a9ac760bb67cec7d466a13fd6d6d2962774f011a134a881941341d9626?
s=60&d=retro&r=g)

### 󠀁[Рекомендую плагін Cyr-To-Lat для WooCommerce](https://wordpress.org/support/topic/%d1%80%d0%b5%d0%ba%d0%be%d0%bc%d0%b5%d0%bd%d0%b4%d1%83%d1%8e-%d0%bf%d0%bb%d0%b0%d0%b3%d1%96%d0%bd-cyr-to-lat-%d0%b4%d0%bb%d1%8f-woocommerce/)󠁿

 [Theposudka](https://profiles.wordpress.org/dkovtonjuk/) 10 gegužės, 2025 1 reply

Плагін Cyr-To-Lat відмінно працює на моєму WooCommerce магазині.

![](https://secure.gravatar.com/avatar/b60fde26c92fa6c3c00b6f9fefe9f5f0181168e7f823aed1800b644be3a686ce?
s=60&d=retro&r=g)

### 󠀁[Нема російської мови](https://wordpress.org/support/topic/%d0%bd%d0%b5%d0%bc%d0%b0-%d1%80%d0%be%d1%81%d1%96%d0%b9%d1%81%d1%8c%d0%ba%d0%be%d1%97-%d0%bc%d0%be%d0%b2%d0%b8/)󠁿

 [andr777](https://profiles.wordpress.org/andr777/) 22 lapkričio, 2024 1 reply

Рос мову прибрали в плагіні чи це глюк ? Якщо прибрали то до якої версії вона була?

![](https://secure.gravatar.com/avatar/f4fd2fc4d108aac189bd78ec8b66732db397d00abcfe4e5b50d3d69f5a1809cd?
s=60&d=retro&r=g)

### 󠀁[Problems with some languages](https://wordpress.org/support/topic/problems-with-some-languages/)󠁿

 [alexmcmeekin2017](https://profiles.wordpress.org/alexmcmeekin2017/) 6 gegužės,
2024 2 replies

The plugin supports Russian, Belorussian, Ukrainian, Bulgarian, Macedonian, Serbian
and Kazakh characters. Unfortunately, support for other languages (Greek, Armenian,
Georgian, Hebrew, and Chinese) does not work at all.

![](https://secure.gravatar.com/avatar/87b5bcf8f8138281d7dccbe5592209795243a807430b0893b8b5b642bcfe2174?
s=60&d=retro&r=g)

### 󠀁[Ура! Заработало!](https://wordpress.org/support/topic/%d1%83%d1%80%d0%b0-%d0%b7%d0%b0%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0%d0%bb%d0%be/)󠁿

 [vl33](https://profiles.wordpress.org/vl33/) 12 vasario, 2024 1 reply

С последним обновлением стали корректно работать ранее созданные атрибуты, раньше
после выгрузки отключал плагин, сейчас работает как надо. Спасибо!

![](https://secure.gravatar.com/avatar/6d0e788a4cf4a21a11ffd20c3b73a91b80dbe34aee5f66f9632190c826b74d57?
s=60&d=retro&r=g)

### 󠀁[Метки и категории не отключаемы](https://wordpress.org/support/topic/%d0%b2-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0%d1%85-%d0%bd%d0%b5%d1%82-%d0%be%d1%82%d0%ba%d0%bb%d1%8e%d1%87%d0%b5%d0%bd%d0%b8%d1%8f-%d0%bc%d0%b5%d1%82%d0%be%d0%ba/)󠁿

 [AndreyPominov](https://profiles.wordpress.org/pominov/) 15 spalio, 2023 3 replies

Плагин отличный (6.0.5), транслитерировал урлы (слаги для продвинутых) записей, 
страниц и меню и всего остального.Обратите внимание, что транслитерацию урлов всех
меток (/tag/) и категорий (/category/) он тоже сделает, а в настройках нет отдельных
пунктов отвечающих за метки и категории.

![](https://secure.gravatar.com/avatar/bd2be7695dda10c20c0bbb57fc0981337ff6f5538d902e1881e3428762f0e373?
s=60&d=retro&r=g)

### 󠀁[Не перетворює літеру Є](https://wordpress.org/support/topic/%d0%bd%d0%b5-%d0%bf%d0%b5%d1%80%d0%b5%d1%82%d0%b2%d0%be%d1%80%d1%8e%d1%94-%d0%bb%d1%96%d1%82%d0%b5%d1%80%d1%83-%d1%94/)󠁿

 [tux255](https://profiles.wordpress.org/tux255/) 19 birželio, 2023 1 reply

Не перетворює літеру Є, вона залишається без змін.

 [ Perskaityti visus atsiliepimus (96) ](https://wordpress.org/support/plugin/cyr2lat/reviews/)

## Programuotojai ir komandos nariai

“Cyr-To-Lat” yra atviro kodo programa. Prie jos sukūrimo prisidėję žmonės surašyti
toliau.

Autoriai

 *   [ Sergey Biryukov ](https://profiles.wordpress.org/sergeybiryukov/)
 *   [ mihdan ](https://profiles.wordpress.org/mihdan/)
 *   [ kaggdesign ](https://profiles.wordpress.org/kaggdesign/)
 *   [ karevn ](https://profiles.wordpress.org/karevn/)
 *   [ webvitaly ](https://profiles.wordpress.org/webvitaly/)

Įskiepis “Cyr-To-Lat” išverstas į 10 kalbų. Dėkojame [vertėjams](https://translate.wordpress.org/projects/wp-plugins/cyr2lat/contributors)
už jų darbą.

[Išverskite “Cyr-To-Lat” į savo kalbą.](https://translate.wordpress.org/projects/wp-plugins/cyr2lat)

### Domina programavimas?

[Peržiūrėkite kodą](https://plugins.trac.wordpress.org/browser/cyr2lat/), naršykite
[SVN repozitorijoje](https://plugins.svn.wordpress.org/cyr2lat/), arba užsiprenumeruokite
[kodo pakeitimų žurnalą](https://plugins.trac.wordpress.org/log/cyr2lat/) per [RSS](https://plugins.trac.wordpress.org/log/cyr2lat/?limit=100&mode=stop_on_copy&format=rss).

## Pakeitimų istorija

#### 6.7.0 (01.04.2026)

 * The minimum required PHP version is now 7.4.
 * The minimum required WordPress version is now 6.0.
 * Fixed a fatal error occurred with WP-CLI in a rare case.
 * Fixed transliteration of WC local attributes.
 * Tested with WordPress 7.0.

#### 6.6.0 (30.11.2025)

 * Fixed the deprecated function message in Main.php with WordPress 6.9.
 * Tested with PHP 8.4.
 * Tested with WordPress 6.9.
 * Tested with WooCommerce 10.3.

#### 6.5.0 (24.10.2025)

 * Fixed transliteration of tags during editing.

#### 6.4.1 (03.05.2025)

 * Fixed the layout of messages on the Tables page.
 * Tested with WordPress 6.8.
 * Tested with WooCommerce 9.8.

#### 6.3.0 (22.12.2024)

 * Added a warning message on the Tables page when the active table does not match
   the site locale.
 * Removed fix for translation after WordPress 6.5+ due to performance issues.

#### 6.2.3 (24.11.2024)

 * Fixed deprecation error with PHP 8.4.
 * Tested with PHP 8.4.

#### 6.2.2 (15.11.2024)

 * Fixed _load_textdomain_just_in_time notice with WordPress 6.7.
 * Some translations were empty with WordPress 6.5+.

#### 6.2.1 (13.11.2024)

 * Fixed layout of the Converter page.
 * Fixed issues reported by Plugin Check Plugin.

#### 6.2.0 (13.11.2024)

 * Dropped support for PHP 7.0 and 7.1. The minimum required PHP version is now 
   7.2.
 * The minimum required WordPress version is now 5.3.
 * Fixed the notice about the _load_textdomain_just_in_time function being called
   incorrectly.
 * Tested with WordPress 6.7.
 * Tested with WooCommerce 9.4.

#### 6.1.0 (09.03.2024)

 * Tested with WordPress 6.5.
 * Tested with WooCommerce 8.6.
 * Fixed error on the 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 the SettingsBase.
 * Fixed the 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 the 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](https://plugins.svn.wordpress.org/cyr2lat/trunk/changelog.txt).

## Metainformacija

 *  Version **6.7.0**
 *  Atnaujinta **prieš 2 savaitės**
 *  Aktyvių instaliacijų **300 000+**
 *  WordPress versija ** 6.0 ar naujesnė **
 *  Ištestuota iki **7.0**
 *  PHP versija ** 7.4 ar naujesnė **
 *  Kalbos
 * [Dutch](https://nl.wordpress.org/plugins/cyr2lat/), [Dutch (Belgium)](https://nl-be.wordpress.org/plugins/cyr2lat/),
   [English (US)](https://wordpress.org/plugins/cyr2lat/), [Georgian](https://ka.wordpress.org/plugins/cyr2lat/),
   [Russian](https://ru.wordpress.org/plugins/cyr2lat/), [Spanish (Chile)](https://cl.wordpress.org/plugins/cyr2lat/),
   [Spanish (Ecuador)](https://es-ec.wordpress.org/plugins/cyr2lat/), [Spanish (Spain)](https://es.wordpress.org/plugins/cyr2lat/),
   [Spanish (Venezuela)](https://ve.wordpress.org/plugins/cyr2lat/), [Swedish](https://sv.wordpress.org/plugins/cyr2lat/)
   ir [Ukrainian](https://uk.wordpress.org/plugins/cyr2lat/).
 *  [Išversti į savo kalbą](https://translate.wordpress.org/projects/wp-plugins/cyr2lat)
 * Žymos
 * [cyrillic](https://lt.wordpress.org/plugins/tags/cyrillic/)[slugs](https://lt.wordpress.org/plugins/tags/slugs/)
   [translation](https://lt.wordpress.org/plugins/tags/translation/)[transliteration](https://lt.wordpress.org/plugins/tags/transliteration/)
 *  [Daugiau](https://lt.wordpress.org/plugins/cyr2lat/advanced/)

## Įvertinimai

 4.7 out of 5 stars.

 *  [  84 5-star reviews     ](https://wordpress.org/support/plugin/cyr2lat/reviews/?filter=5)
 *  [  4 4-star reviews     ](https://wordpress.org/support/plugin/cyr2lat/reviews/?filter=4)
 *  [  3 3-star reviews     ](https://wordpress.org/support/plugin/cyr2lat/reviews/?filter=3)
 *  [  1 2-star review     ](https://wordpress.org/support/plugin/cyr2lat/reviews/?filter=2)
 *  [  5 1-star reviews     ](https://wordpress.org/support/plugin/cyr2lat/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/cyr2lat/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/cyr2lat/reviews/)

## Autoriai

 *   [ Sergey Biryukov ](https://profiles.wordpress.org/sergeybiryukov/)
 *   [ mihdan ](https://profiles.wordpress.org/mihdan/)
 *   [ kaggdesign ](https://profiles.wordpress.org/kaggdesign/)
 *   [ karevn ](https://profiles.wordpress.org/karevn/)
 *   [ webvitaly ](https://profiles.wordpress.org/webvitaly/)

## Pagalba

Atsakyta klausimų per pastaruosius 2 mėn.:

     3 iš 3

 [Peržiūrėti pagalbos forumą](https://wordpress.org/support/plugin/cyr2lat/)