Transliterator

July 12, 2024

Transliterator Plugin

Universal transliterator for permalinks, posts, tags, categories, media, files, search and more, rendering them universally readable.

This plugin provides a seamless solution for converting WordPress content between Cyrillic and Latin scripts. Crafted to be user-friendly and lightweight, it facilitates the conversion process with minimal clicks. It also incorporates support for unique shortcodes, enabling selective transliteration of designated content sections and delivering superior flexibility in how content is presented. Make your site latin now!

FEATURES

✅ WordPress Cyrillic to Latin and Latin to Cyrillic
✅ Converts Cyrillic, European and Georgian characters in post, page and term slugs to Latin characters.
✅ Transliterate Cyrillic filenames to Latin
✅ Transliterate Cyrillic permalinks to Latin
✅ Allow Cyrillic Usernames
✅ Search posts, pages, custom post types written in cyrillic using both latin and cyrillic script
✅ WP-CLI Support

BENEFITS

✅ Compatible with Multilanguage Plugins
✅ Compatible with any WordPress template
✅ Compatible with SEO plugins
✅ Possibility of partial transliteration
✅ Scalable and customizable
✅ It does not affect on the HTML, CSS or JS codes
✅ Multilingual support
✅ Transcription mode selection
✅ Diacritical support (currently for the Serbian language)
✅ Support for special characters
✅ Support PHP version 8.1
✅ Page speed impact: insignificant

LANGUAGE SUPPORT

Serbian Latinisation – Serbian language (locale: sr_RS). Adheres to the Serbian language rules with the addition of specific characters unique to Serbian.
Bosnian Latinisation – Bosnian language. Follows the Serbian language rules with the inclusion of additional special characters unique to Bosnian.
Montenegrin Latinisation – Montenegrin language. Incorporates the rules of the Serbian language with additional special characters unique to Montenegrin.
Russian Latinisation – Russian language (locale: ru_RU). Implements Russian language transliteration rules.
Belarusian Latinisation – Belarusian language (locale: bel). Adopts Belarusian language transliteration rules.
Bulgarian Latinisation – Bulgarian language (locale: bg_BG). Follows Bulgarian language transliteration standards.
Macedonian Latinisation – Macedonian language (locale: mk_MK). Utilizes Macedonian language transliteration guidelines.
Kazakh Latinisation – Kazakh language (locale: kk). Applies Kazakh language transliteration methods.
Ukrainian Latinisation – Ukrainian language (locale: uk). Implements Ukrainian language transliteration practices.
Georgian Latinisation – Georgian language (locale: ka_GE). Follows Georgian language transliteration standards.
Greek (Elinika) Latinisation – Greek language (locale: el). Utilizes Greek language transliteration methods.
Arabic Latinisation – Arabic language (locale: ar). Adopts Arabic language transliteration rules.
Armenian Latinisation – Armenian language (locale: hy). Follows Armenian language transliteration practices.
Uzbek Latinisation – Uzbek language (locale: uz_UZ). Implements Uzbek language transliteration guidelines, accommodating both Cyrillic and Latin scripts.
Tajik Latinisation – Tajik (Tajikistan) language (locale: tg). Utilizes Tajik language transliteration methods, focusing on Cyrillic to Latin script.
Kyrgyz Latinisation – Kyrgyz (Kyrgyzstan) language (locale: kir). Follows Kyrgyz language transliteration standards, primarily from Cyrillic to Latin script.
Mongolian Latinisation – Mongolian language (in Cyrillic script) (locale: mn). Adopts Mongolian language transliteration rules for Cyrillic script.
Bashkir Latinisation – Bashkir language (locale: ba). Implements Bashkir language transliteration practices.
🔸 More languages are coming soon…

PLUGINS SUPPORT

This plugin is made to support all known plugins and visual editors.

We also do special compatible functions with:

WooCommerce
Polylang
Elementor Website Builder
CF Geo Plugin
Yoast SEO
Data Tables Generator by Supsystic
Slider Revolution
Avada theme
Themify
Divi (Theme & Builder)

It’s crucial to understand that while our plugin is compatible with most others, the sheer diversity of WordPress installations and the thousands of available plugins mean there’s a small chance of encountering conflicts. We strive to ensure maximum compatibility, but given the vast number of variables, we can’t guarantee flawless operation in all instances. If you experience issues, they may stem from incompatibility with other plugins. We encourage you to reach out to us or the respective plugin authors for resolution. Regularly updating all your plugins and your WordPress installation is the most common solution for most problems.

This plugin can also serve as an alternative to SrbTransLatin, Cyr-To-Lat, Allow Cyrillic Usernames, Filenames to latin, Cyrillic Permalinks, Latin Now!, Cyr to Lat enhanced, Cyrlitera and other similar plugins. We have managed to combine all the necessary functionalities into one plugin, but if you want to have all the separate functions, we invite you to use some of these excellent plugins.

It is important for you to know that any functionality in our plugin can be turned off if you do not need it, as well as the ability to filter certain hooks and filters. We have tried to provide maximum flexibility and compatibility to everyone.

Documentation

Everything you need to do is to go to Settings->Transliteration and setup plugin according to your needs. Just follow descriptions and you will easily manage it.

Shortcodes

This plugin has two shortcodes that work independently of the plugin settings. These two shortcodes aim to transliterate some content. This is great if you have an article and want to display part of the text in Cyrillic, and if your entire portal is displayed in Latin.

Cyrillic to Latin:

[rstr_cyr_to_lat]Ћирилица у латиницу[/rstr_cyr_to_lat] 

Latin to Cyrillic:

[rstr_lat_to_cyr]Latinica u ćirilicu[/rstr_lat_to_cyr] 

Skip transliteration:

[rstr_skip]Keep this in original script[/rstr_skip] 

Add an image depending on the language script:
With this shortcode you can manipulate images and display images in Latin or Cyrillic depending on the setup.

[rstr_img lat="YOUR_SITE_URL/logo_latin.jpg" cyr="YOUR_SITE_URL/logo_cyrillic.jpg"] 

(The documentation for these shortcodes is inside the plugin settings or see the screenshot.)

Language script menu
This shortcode displays a selector for the transliteration script.

[rstr_selector] 

(The documentation for these shortcodes is inside the plugin settings or see the screenshot.)

Available Tags

These tags have a special purpose and work separately from short codes and can be used in fields where short codes cannot be used. These tags have no additional settings and can be applied in plugins, themes, widgets and within other short codes.

Cyrillic to Latin:

{cyr_to_lat}Ћирилица у латиницу{/cyr_to_lat} 

Latin to Cyrillic:

{lat_to_cyr}Latinica u ćirilicu{/lat_to_cyr} 

Skip transliteration:

{rstr_skip}Keep this in original script{/rstr_skip} 

Permalink Tool

This tool can rename all existing Cyrillic permalinks to Latin inside the database. This tool is in the configuration of this plugin.

PHP Functions

We also thought of PHP developers where we have enabled several useful functions that they can use within WordPress themes and plugins. The documentation for these functions is inside the plugin settings.

Installation

  1. Go to WP-Admin->Plugins->Add new, search term “WordPress Transliteration” and click on the “install” button
  2. OR, upload serbian-transliteration.zip to /wp-content/plugins directory via WordPress admin panel or upload unzipped folder to your plugins folder via FTP
  3. Activate the plugin through the “Plugins” menu in WordPress
  4. Go to Settings->Transliteration to update options

Screenshots

  1. Cyrillic page before serbian transliteration

    Cyrillic page before serbian transliteration

  2. Latin page after serbian transliteration

    Latin page after serbian transliteration

  3. Transliteration settings

    Transliteration settings

  4. Converter for transliterating Cyrillic into Latin and vice versa

    Converter for transliterating Cyrillic into Latin and vice versa

  5. Permalink tools

    Permalink tools

  6. Shortcodes

    Shortcodes

  7. Available PHP Functions

    Available PHP Functions

  8. Language script inside Menus

    Language script inside Menus

  9. Automated test

    Automated test

FAQ

What is Romanization or Latinisation?

Romanisation or Latinisation, in linguistics, is the conversion of writing from a different writing system to the Roman (Latin) script, or a system for doing so. Methods of romanization include transliteration, for representing written text, and transcription, for representing the spoken word, and combinations of both.

Which Romanization does this plugin support?

This plugin supports several world letters written in Cyrillic and enables their Romanization

  • Romanization of Serbian what include Bosnian and Montenegrin
  • Romanization of Russian
  • Romanization of Belarusian
  • Romanization of Bulgarian
  • Romanization of Macedonian
  • Romanization of Kazakh
  • Romanization of Ukrainian
  • Romanization of Greek
  • Romanization of Arabic (EXPERIMENTAL)
  • Romanization of Armenian (EXPERIMENTAL)

Each of these transliterations is created separately and follows the rules of the active language.

What is the best practice for transliteration?

Through various experiences, we came to the conclusion that it is best to create the entire site in Cyrillic and enable transliteration for Latin.

The reason for this solution lies in the problem of transliteration of Latin into Cyrillic due to encoding and, depending on the server, can create certain problems, especially in communication with the database. Creating a site in Cyrillic bypasses all problems and is very easily translated into Latin.

Is Latin better for SEO than Cyrillic?

According to Google documentation and discussions on forums and blogs, it is concluded that Latin is much better for SEO and it is necessary to practice Latin at least when permalinks and file names are in Latin, while the text can be in both letters but Latin is always preferred.

Can I translate Cyrillic letters into Latin with this plugin?

YES! Without any problems or conflicts.

Can I translate Latin into Cyrillic with this plugin?

YES! This plugin can translate a Latin site into Cyrillic, but this is not recommended and often causes problems. It is suggested that this approach be approached experimentally.

The best practice is to create a Cyrillic site including all other content and in the end just add transliteration to navigation so that the visitor can choose the desired script.

How to transliterate Cyrillic permalinks?

This plugin has a tool that transliterates already recorded permalinks in your database. This option is safe but requires extra effort to satisfy SEO.

With this tool, you permanently change the permalinks in your WordPress installation and a 404 error can occur if you visit old Cyrillic paths.

Therefore, you must re-asign your sitemap or make additional efforts to redirect old permalinks to new ones, which our plugin does not do.

If you are using WP-CLI, this function can also be started with a simple shell command: wp transliterate permalinks

How can I define my own substitutions?

Inside your theme’s functions.php you can define your own substitutions for each language using filters:

add_filter( 'rstr/inc/transliteration/{$locale}', 'function_callback', 10, 1 ); 

Here’s an example.

/* * Modify conversion table for Serbian language. * * @param array $map Conversion map. * * @return array */ function my_transliteration__sr_RS( $map ) { // Example For 2 or more letters $new_map = [ 'Ња' => 'nja', 'Ње' => 'nje', 'Обједињени' => 'Objedinjeni' ]; $map = array_merge($new_map, $map); // Example for one letter $new_map = [ 'А'=>'X', 'Б'=>'Y', 'В'=>'Z' ]; $map = array_merge($map, $new_map); return $map; } add_filter( 'rstr/inc/transliteration/sr_RS', 'my_transliteration__sr_RS', 10, 1 ); 

Changelog

1.12.20

  • Fixed caching support
  • Fixed transliteration modes
  • Fixed method errors
  • Added “Light mode” as default

1.12.19

  • Fix Fatal error on page builders

1.12.18

  • Fix flush cache bug
  • Fixed PHP errors
  • Additional optimizations

1.12.17

  • Fixing problems with cache plugins
  • Fixing a memory leak bug
  • Removing support for some PHP5.6 versions

1.12.16

  • Fixed activation error

1.12.15

  • Fixed issue with WooCommerce memory buffer
  • Fixed activation issue

1.12.14

  • Fix memory leak on WooComerce
  • Improved cache support

1.12.13

  • Fixed problems with editors that using the REST-API
  • Fixed MySQL bugs
  • Fixed translation bugs
  • Optimized PHP code
  • Getting ready for version 1.13.0

1.12.12

  • Added WordPress REST API support
  • Fixed WooCommerce REST API transliteration
  • Fixed filter loading priorities

1.12.11

  • Removed first visit auto mode, forced to latin
  • Fixed PHP bugs in admin notices
  • Improved translations

1.12.10

  • Added support for the LSCache, Hyper Cache,Simple Cache, Autoptimize and WP-Optimize
  • Improved “Light mode”

1.12.9

  • Added support for PHP versions below 7.4.
  • Fixed a PHP error related to the T_DOUBLE_ARROW syntax.

1.12.8

  • Added new experimental “Light mode”
  • Additional optimization of output buffers

1.12.7

  • PHP bugfix in Standard mode

1.12.6

  • Fixing WooCommerce minicart
  • Fixing problem with percentages in textdomains
  • Optimized PHP code

1.12.5

  • Fixed script_selector() function
  • Refactored code
  • Improved plugin optimization for better performance

1.12.4

  • Enhanced plugin optimization for better performance
  • Code refactoring for improved readability and maintenance
  • Corrected search functionality for more accurate results
  • Advanced database caching for faster data access
  • Upgraded Memcache implementation for more efficient cache management

1.12.3

  • Plugin optimization
  • Improved translations
  • Fixed bugs in plugin detection

1.12.2

  • Fixed transliteration of AJAX calls
  • Fixed Woocommerce mini cart transliterations
  • Fixed Template Switcher
  • Improved translations

1.12.1

  • Fixed problems with specifiers
  • Optimized transliterations
  • Added new languages
  • Fixed HTML transliterations

1.12.0

  • Fixed problems with Avada theme
  • Fixed problems in WooCommerce plugin
  • Fixed bugs in cyrillic encodings
  • Added Georgian language
  • Improvement of the Arabic language
  • Improvement of the Armenian language

1.11.8

  • Fixed problems with translations

1.11.7

  • Fixed percentage problems
  • Fixed Elementor bugs

1.11.6

  • Fixed UX bugs
  • Fixed translations

1.11.5

  • Fixed warnings in PHP

1.11.4

  • Added language exclusion
  • Fixed bugs from previous version

1.11.3

  • Fixed plugin and theme transliteration
  • Fixed problem with duplicated percentages

1.11.2

  • Fixed Avada theme support
  • Fixed “print formatted” text support
  • Fixed lat to cyr transliteration

1.11.1

  • Fixed transliteration bug on certain themes
  • Fixed WooCommerce integration

1.11.0

  • ATTENTION: IMPORTANT UPDATE, PLEASE BE CAUTIOUS.
  • Transliteration mode modified
  • DOM component added
  • HTML content check added
  • Read and write buffer mode changed
  • PHP code optimized
  • Deprecated codes removed
  • Transliteration added for emails through PHP mailer

Details

  • Version: 1.12.20
  • Active installations: 3,000
  • WordPress Version: 5.4
  • Tested up to: 6.6.1
  • PHP Version: 7.0

Ratings


5 Stars
4 Stars
3 Stars
2 Stars
1 Stars