
La transliteración es una traducción latina de palabras cirílicas ( Anna → Anna , Samara → Samara ). Se utiliza en pasaportes, licencias de conducir, entrega transfronteriza, catálogos de bibliotecas y muchos otros procesos internacionales.
Dio la casualidad de que recientemente me sumergí en este tema, y en Wikipedia está poco divulgado. Por lo tanto, te diré qué es qué (spoiler: si crees que la transliteración es mala, en realidad es peor).
Y, por supuesto, como se trata de Habr, ofreceré bibliotecas de código abierto para resolver el problema.
Tabla de contenido:
Quien es culpable
Translit es una situación de libro de texto "tenemos 14 estándares malos, propongamos otro". A lo largo del siglo XX, las personas respetables y respetables idearon estándares nuevos y nuevos para la transliteración.

Cómo se multiplican los estándares // xkcd
  , . ,   → Iuliia  , ,   ICAO Doc 9303 [1] — Machine Readable Travel Documents.
, , . - ,    Ljogkijj ( 16876-71[2]) — .
Zato naši kosmičeskie korabli borozdili prostory vselennoj.
 21    : ICO Doc 9303 ( → Iuliia)  ISO 9:1995 ( → Ûliâ),    7.79-2000[3]. ,  .
  «»,       [4],   Yuliya.   ,  .
Yuliya, syesh yeshchyo etikh myagkikh frantsuzskikh bulok iz Yoshkar-Oly, da vypey altayskogo chayu.
,   (   ).    yeshchyo. ,     —  E → YE, → SHCH   → YO   .
     .    — [5], [6]. - → SCH.   → Yurii,   → Usole,  .   !
( ). , ISO, , , . — [7].
  .   20  ,   (,    ).   14  . «»,   xkcd.
,    — , id  .   ?  :       .
Habr, chto ty delaesh, ahaha, prekrati
      « », ,   . , .
 — « »,     Iuliia → . ,   ,    ,   .
—  ,  .   DaryaRodionova — « »[8].
.
( )
/.   ICAO Doc 9303 — . , : ,   . -310[9] .
import iuliia
source = " "
iuliia.translate(source, schema=iuliia.ICAO_DOC_9303)
# Iuliia Shcheglova
(cyr–lat).  7.79-2000 (aka ISO 9:1995).    .
import iuliia
source = ",        -"
iuliia.translate(source, schema=iuliia.GOST_779)
# Ûliâ, sʺešʹ eŝ ètih mâgkih francuzskih bulok iz Joškar-Oly
iuliia.translate(source, schema=iuliia.GOST_779_ALT)
# Yuliya, s``esh` eshhyo `tix myagkix franczuzskix bulok iz Joshkar-Oly`
. ,    .
import iuliia
source = " "
iuliia.translate(source, schema=iuliia.MOSMETRO)
# Yuliya Scheglova
. .     .
import iuliia
source = ",  -,   "
iuliia.translate(source, schema=iuliia.WIKIPEDIA)
# Rossiya, gorod Yoshkar-Ola, ulitsa Yana Krastynya
( )
,   [10].   ,  ,   ,  . , , . JavaScript, Python Go,  —  .
  .
7.79-2000
, ISO 9:1995. , . .
,        -,
   
↓ ↓ ↓
Ûliâ, sʺešʹ eŝ ètih mâgkih francuzskih bulok iz Joškar-Oly,
da vypej altajskogo čaû
Yuliya, s``esh` eshhyo `tix myagkix franczuzskix bulok iz Joshkar-Oly`,
da vy`pej altajskogo chayu
52290-2004
. , . .
,        -,
   
↓ ↓ ↓
Yuliya, syesh' eshche etikh myagkikh frantsuzskikh bulok iz Yoshkar-Oly,
da vypey altayskogo chayu
7.0.34-2014
. . . : , .
,        -,
   
↓ ↓ ↓
Yuliya, s''esh' eshhyo etix myagkix francuzskix bulok iz Joshkar-Oly,
da vypej altajskogo chayu
Yuliya, sesh eshhyo etikh myagkikh francuzskikh bulok iz Yoshkar-Oly,
da vypey altayskogo chayu
. , .
,        -,
   
↓ ↓ ↓
Iuliia, sesh esce etih miagkih francuzskih bulok iz Ioshkar-Oly,
da vypei altaiskogo chaiu
ICAO DOC 9303
. , — . . .
,        -,
   
↓ ↓ ↓
Iuliia, sieesh eshche etikh miagkikh frantsuzskikh bulok iz Ioshkar-Oly,
da vypei altaiskogo chaiu
UNGEGN 1987 V/18
. 16876-71. , .
,        -,
   
↓ ↓ ↓
Julija, sʺešʹ ešč ètih mjagkih francuzskih bulok iz Joškar-Oly,
da vypej altajskogo čaju
BGN/PCGN
. , - .
,        -,
   
↓ ↓ ↓
Yuliya, s”yesh’ yeshch etikh myagkikh frantsuzskikh bulok iz Yoshkar-Oly,
da vypey altayskogo chayu
ALA-LC
. . .
,        -,
   
↓ ↓ ↓
I͡ulii͡a, sʺeshʹ eshch ėtikh mi͡agkikh frant͡suzskikh bulok iz Ĭoshkar-Oly,
da vypeĭ altaĭskogo chai͡u
Iuliia, s"esh' eshche etikh miagkikh frantsuzskikh bulok iz Ioshkar-Oly,
da vypei altaiskogo chaiu
BS 2979:1958
. Oxford University Press. , .
,        -,
   
↓ ↓ ↓
Yuliya, sʺeshʹ eshch étikh myagkikh frantsuzskikh bulok iz Ĭoshkar-Olȳ,
da vȳpeĭ altaĭskogo chayu
Yuliya, s"esh' eshche etikh myagkikh frantsuzskikh bulok iz Ioshkar-Oly,
da vypei altaiskogo chayu
. . 16876-71. , .
,        -,
   
↓ ↓ ↓
Julija, sʺešʹ ešč ètix mjagkix francuzskix bulok iz Joškar-Oly,
da vypej altajskogo čaju
, . BGN/PCGN . , .
,        -,
   
↓ ↓ ↓
Yuliya, syesh yeshchyo etikh myagkikh frantsuzskikh bulok iz Yoshkar-Oly,
da vypey altayskogo chayu
, . , . , .
,        -,
   
↓ ↓ ↓
Yuliya, syesh esche etikh myagkikh frantsuzskikh bulok iz Yoshkar-Oly,
da vypey altayskogo chayu
.
. .
,        -,
   
↓ ↓ ↓
Yuliya, sesh esche etikh myagkikh frantsuzskikh bulok iz Ioshkar-Oly,
da vypei altaiskogo chayu
.
. ..
,        -,
   
↓ ↓ ↓
Yuliya, syesh eschyo etikh myagkikh frantsuzskikh bulok iz Yoshkar-Oly,
da vypey altayskogo chayu
    —    (N+1) , «»    .
    . ,   — ,     .
mehanizm Python, JavaScript Go.     ,     ツ
UPD !
(Python):
import iuliia
# list all supported schemas
for schema_name in iuliia.Schemas.names():
    print(schema_name)
# transliterate using specified schema
source = " "
iuliia.translate(source, schema=iuliia.ICAO_DOC_9303)
# "Iuliia Shcheglova"
# or pick schema by name
schema = iuliia.Schemas.get("wikipedia")
iuliia.translate(source, schema)
# "Yuliya Shcheglova"
Go:
import iuliia "github.com/mehanizm/iuliia-go"
func main() {
    translated, err := iuliia.Wikipedia.Translate(" ")
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(translated)
}
>> 'Yuliya Shcheglova'
 JSON,   . - —  , ツ
    —      ? ?
Enlaces de texto:
- Doc. 9303 de la OACI
- GOST 16876-71
- GOST 7.79-2000, también conocido como ISO 9: 1995
- Diagrama de Wikipedia
- Esquema Yandex.Money
- Esquema Yandex.Map
- Circuito mosmetro
- Cómo escribir tu propio transliterador
- MIA 310
- Guía completa de transliteración