Cyrillic, Greek, Georgian or Armenian in a URL gets percent-encoded, and a link
that reads %d0%ba%d0%b8%d1%97%d0%b2 is no use to anyone. Transliteration
fixes that. The question is which Latin letters to use, and tables written so
the Latin can be turned back into the original produce addresses no one would
type, such as shhastya or czokol.
PlugForge Transliteration Standards uses the romanisation standards that countries and the
United Nations publish: a resolution of Ukraine’s Cabinet of Ministers,
Bulgaria’s Transliteration Act, Georgia’s national system and others. Some of
them change a letter by its place in the word. Bulgarian ия is ia at the end of
a word and iya inside one, and the plugin follows rules like that as written.
Nothing changes until you choose a standard for a language.
kyiv. All 76 worked examples in its annex come out exactly.iuzhno. BGN/PCGN 1947, what English-language publishing uses:yuzhno. ГОСТ 7.79-2000 system B, the reversible scheme describedczokol.sofia.sabac. https://arhiiv.eki.ee/wgrs/rom1_sr.htmkesendre.viciebsk. https://arhiiv.eki.ee/wgrs/rom1_be.htmangelos. https://arhiiv.eki.ee/wgrs/rom1_el.htmtbilisi.qyzylorda.yerevan.An address keeps plain letters only. WordPress folds diacritics away, so
Serbian Ћирилица and Чирилица both end up as cirilica, and the apostrophes
the Georgian and Armenian standards write are dropped.
Installing the plugin changes no existing address.
The “What would change” screen lists your existing posts whose slug does not
match the standard you chose, with the address each has now, the address it
would get and the language of the post. A row that would collide with another
is marked and left for you to resolve by hand. Reading the list or downloading
it as a CSV changes nothing.
A button under the list rewrites the posts on that page, after you tick a box
to confirm. WordPress keeps each old post slug and redirects it to the new one,
so links already published go on working.
Pages, categories, tags and media files already on your site are never
converted. WordPress keeps no record of their old addresses, so nothing would
redirect them.
Whole words and whole phrases for brand names and for spellings someone’s
passport already carries. One per line: the word or phrase, an equals sign,
what it becomes.
вордпрес = wordpress
Жуковський = Zhukovsky
Matching ignores case, and spaces, hyphens and underscores between words count
as the same join. Only whole words are replaced. Digits and symbols that belong
to a name, as in Формула 1 or AT&T, have to be written as they appear.
On a site with one language, the standard follows the site language. With
Polylang, it follows the language set on each post or term, so two posts in the
same admin can go through two different standards. On such a site, a slug that
carries no language, such as one created by WP-CLI, is left alone.
The language is never guessed from the text: Гора is hora in Ukrainian and
gora in Russian, and the letters are identical.
WPML is not supported, because it has not been tested with this plugin.
Tested with WooCommerce 11. New product slugs, product categories and tags,
shipping classes, attribute names and terms, downloadable files and product
images are all transliterated. Coupon codes are left alone, because customers
type them and codes already printed have to go on working. So is the product
permalink base, which you set yourself.
translit_standards_language: The language code to transliterate by. Returntranslit_standards_result: The transliterated string, with the text thetranslit_standards_site_languages: The language codes the settings screen