
La translittération est une traduction latine de mots cyrilliques ( Anna → Anna , Samara → Samara ). Il est utilisé dans les passeports, les permis de conduire, la livraison transfrontalière, les catalogues de bibliothèques et de nombreux autres processus internationaux.
Il se trouve que j'ai récemment plongé dans ce sujet, et sur Wikipédia, il est mal divulgué. Par conséquent, je vais vous dire ce qui est quoi (spoiler - si vous pensez que la translittération est mauvaise, alors c'est en fait pire).
Et bien sûr, puisque c'est Habr - je proposerai des bibliothèques open-source pour résoudre le problème.
Table des matières:
Qui est coupable
Translit est une situation de manuel "nous avons 14 mauvaises normes, trouvons-en une autre." Tout au long du 20e siècle, des personnes respectables et respectables ont élaboré de nouvelles et nouvelles normes de translittération.

Comment les normes se multiplient // 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, . - — , ツ
— ? ?
Liens texte:
- Doc OACI 9303
- GOST 16876-71
- GOST 7.79-2000, alias ISO 9: 1995
- Diagramme de Wikipedia
- Schéma Yandex.Money
- Schéma Yandex.Map
- Circuit Mosmetro
- Comment écrire votre propre translittérateur
- MIA 310
- Guide complet de translittération