1

Тема: Стандарт транслітерації

Віроломно, без оголошення війни з 1 квітня почав діяти стандарт транслітерації.
Пишуть, що тепер правильно Kyїv, Ukraїna (система А), Kyjiv, Ukrajina (система Б).

Якщо хтось матиме доступ до тексту - поділіться, годувати бюрократів на кровні $40 не дуже кортить.

2 Востаннє редагувалося leofun01 (07.04.2022 10:21:12)

Re: Стандарт транслітерації

Наказ про стандарт опублікували, а стандарт не опублікували. Хіба так можна ?
Зхоже на формальність, яку хтось провів під чиїмось тиском.

Текст: ДСТУ 9112:2021 (ISO 9:1995) pdf, wiki

Цікаво, транслітероване 'ї' - символ 'ï'. Вони не однакові.

Подякували: koala1

3

Re: Стандарт транслітерації

Нічого не ясно, але дуже цікаво :D

4

Re: Стандарт транслітерації

koala написав:

тепер правильно Kyїv, Ukraїna (система А), Kyjiv, Ukrajina (система Б).

Кросівоє.

Буду радий, якщо правда (сорі, бумери). Так може невдовзі й до їречеківки дійдемо.

5

Re: Стандарт транслітерації

Це вимога ISO, щоб все було платно.

6

Re: Стандарт транслітерації

Ні, це старий стандарт. А в нас якась адаптація.

Подякували: wander1

7 Востаннє редагувалося dot (07.04.2022 14:17:35)

Re: Стандарт транслітерації

leofun01 написав:

Наказ про стандарт опублікували, а стандарт не опублікували. Хіба так можна ?

Це ПРЯМЕ ПОРУШЕННЯ НОРМ ст. 44 Закону України «Про забезпечення функціонування української мови як державної», яка наділяє повноваженнями приймати стандарти української мови, зокрема її транслітерації, винятково Національну комісію зі стандартів державної мови.
Закликаю наявних у групі членів Національної комісії негайно втрутитися в цей процес і припинити незаконну діяльність ДНТБ України у мовній сфері.

leofun01 написав:

Зхоже на формальність, яку хтось провів під чиїмось тиском.

Tak i je. Prosuvaje transliteraciju — Maksym Vakulenko — odyn znannyj pojêxavšyj.

bebyk написав:

Так може невдовзі й до їречеківки дійдемо.

Ne treba, krašče vydozmênenu Gajycju, napryklad:

• [neobovjazkovo] elementy Maksymovyčôvky: o~i → ô (nôs → [nemaʼ] nosa), ѣ → ê (nesty → nês),
ch → x,
• na smak: dz → ʒ,  → ǯ.

Подякували: leofun01, bebyk2

8 Востаннє редагувалося bebyk (29.04.2022 13:00:44)

Re: Стандарт транслітерації

dot написав:
bebyk написав:

Так може невдовзі й до їречеківки дійдемо.

Ne treba, krašče vydozmênenu Gajycju, napryklad:

• [neobovjazkovo] elementy Maksymovyčôvky: o~i → ô (nôs → [nemaʼ] nosa), ѣ → ê (nesty → nês),
ch → x,
• na smak: dz → ʒ,  → ǯ.

Цілком мені імпонує гаєвиця, проте без ваших етимологічних вибриків. Гаєвиця навпаки ближча до фонетичної драгоманівки.

І скажу, чому я виснував так. Їречеківка має проблема з тим як передавати палаталізовані приголосні.

1. Скажімо, dia — це «діа» чи «дя». Diak — це «дяк», але diahrama — це «діаграма». Скрипниківка це б згладила (як от у польській подібні збіги), проте недоля скрипниківці бути сучасним стандартом.
Здається, з їречеківської «ia» й виростає теперішній транслітераційний жах на кшталт Iuliia, котрого дуже не люблю.
2. Всякі акути над пом'якшеними як от Ćć (Ць, ць) — це перевантажити розкладку й ускладнити друк.

Вважаю, що й для першого, і для другого диграфи кшталту nj, lj, sj, cj — адекватний компроміс. (Djak — це «дяк», але diahrama — це «діаграма», Julija — це «Юлія».)

Єдиний контр-аргумент — а як же відрізняти, де апостроф (себто твердий приголосний + йотований голосний, як от mjakyj, mjaz, zjavytysja), а де нема (себто м'який приголосний + голосний, як от njavčaty, ljalečka)?
Відповім просто: ті, для кого українська мова є рідною, апостроф не потрібен, бо українець ніколи не скаже мякий з «м'якою» м навіть якщо ви пропустите апостроф. Зрештою — ок, ставте апостроф, коли так хочеться (m'jakyj, p'janycja), однак, як на мене, то не доконечно.

Подякували: P.Y.1

9 Востаннє редагувалося dot (29.04.2022 14:35:43)

Re: Стандарт транслітерації

bebyk написав:

Єдиний контр-аргумент — а як же відрізняти, де апостроф (себто твердий приголосний + йотований голосний, як от mjakyj, mjaz, zjavytysja), а де нема (себто м'який приголосний + голосний, як от njavčaty, ljalečka)?
Відповім просто: ті, для кого українська мова є рідною, апостроф не потрібен, бо українець ніколи не скаже мякий з «м'якою» м навіть якщо ви пропустите апостроф. Зрештою — ок, ставте апостроф, коли так хочеться (m'jakyj, p'janycja), однак, як на мене, то не доконечно.

Tak, apostrof tut nepotrêbnyj, jakščo mova pro hubni (mpbfv) i zadni (kgxh) pryholosni. V hynšyx vypadkax, to zazvyčaj meža skladôv (zazvyčaj v morfologičnomu planê), (zhadane) z-javyty sja, super-jiža itd, abo sproščeni i + holosna: miljjon, ser-joznyj (r ne buvaje povnôstju mjakoju, jakščo mova pro deržavnu, ale ne dijalekt), pjesa. Jakščo vôdkynuty ce i unormuvaty pravylo, otrymujemo odnakovo znajomi slova: milijon, serijoznyj, pijesa itd. I oce vstavne i možna vpyxnuty i do zijava. Bukva r maje dodatkovu skladnôstj, kostrukt na zrazok пірʼя, kotroho, jakščo vykyduvaty apostrofa, možna vyrêšyty xiba ščo sxôdnjacjkym sposobom: pirrja.

Osj dekotryj tekst na rozdumy:

Наслідки асиміляції приголосним [r'] наступного [j] досить часто засвідчує українська періодична преса початку XX ст.: довірря, зневірря, недовірря, повірря, матіррю (Див.: Жовтобрюх М. А. Мова української періодичної преси. K., 1970, с. 86.)

Prosto tak apostrof tut vykyduvaty ne radju, bo:

Так акад. Ст. Смаль-Стоцький, критикуючи проєкт правопису, заперечує рацію вживання апострофів після р в таких словах, як "пір’я" тощо супроти таких як "рябий" тощо (див. "Україна" 1 – 2 кн., за 1927 р. ст. 233), а проте на величезній частині території українськогго народу розрізняються як різні слова, напр., "звіря", і "звір’я", "повірю" і "повір’ю"

Подякували: bebyk, P.Y.2

10

Re: Стандарт транслітерації

"повірю" і "повір’ю"

Чудово, ідеальна мінімальна пара, де апостроф є змістотворчим.

11

Re: Стандарт транслітерації

bebyk написав:

Гаєвиця навпаки ближча до фонетичної драгоманівки.

Гаєвиця близька, перш за все, до вуковиці (сербської кирилиці), яка стала зразком для драгоманівки. Пара вуковиця-гаєвиця — чудовий приклад єдиної орфографії з двома паралельними алфавітами, де перетворення з одного алфавіту в інший робиться простим перекодуванням (неоднозначний момент з диграфами dž, lj та nj, але то вже деталі).

Але, якщо рухатись до цього ідеалу, то українська латиниця має дзеркалити не малопоширену драгоманівку (якою ніби-то писав Франко, але з цією орфографією ні його рукописів, ні стародруків мені бачити не доводилось, навіть на 20₴ «автограф поета» не написано ним власноруч, а надруковано «рукописним» шрифтом), а повторювати власне ту кириличну орфографію, якою всі ми володіємо й якою надруковано абсолютну більшість українських текстів. Іншими словами, кожній літері сучасної української кирилиці має відповідати окрема літера латиниці, апостроф теж має зберігатись на своєму місці.

Така латиниця-33, звичайно, матиме проблему з засобами вводу. Тому паралельно має існувати й варіант, де додаткові літери замінено диграфами — щось подібне є в німецькій, де ä, ü, ö, ß можна замінювати на ae, ue, oe, ss). Дуже бажано подбати, щоб сполучення літер у слові не давало збігів з диграфами (таких, як у згоден—zhoden—жоден). Але, якщо так, то ця проблема стосуватиметься навіть і йотованих — якщо ja, ju, je, ji відповідатимуть я, ю, є, ї, то їх треба якось відрізняти від йа, йу, йе, йі на межі морфем (наявний, але найактивніший). Можна, звичайно, знехтувати проблемою двозначності диграфів, але тоді алгоритм перетворення з латиниці-26 на латиницю-33 чи кирилицю дуже ускладниться...

12

Re: Стандарт транслітерації

Від 01.04.2022 набуває чинності

01.04  :D

13

Re: Стандарт транслітерації

кожній літері сучасної української кирилиці має відповідати окрема літера латиниці, апостроф теж має зберігатись на своєму місці.

паралельно має існувати й варіант, де додаткові літери замінено диграфами

Моя спроба втілити ці ідеали (в жодному разі не стандарт, хоча було б добре, якби за стандарт узяли щось подібне. Ще я відверто познущався з літер Щщ та Ьь, керуючись власним збоченим потягом до естетики).

Moä sproba vtilyty ci idealy (v žodnomu razi ne standart, xoča bulo b dobre, äkby za standart uzäly ßosı podibne. Qe ä vidverto poznußavsä z liter Qß ta ɪı, keruüčysı vlasnym zbočenym potähom do estetyky).

Moaw sproba vtilyty ci idealy (v zwodnomu razi ne standart, xocwa bulo b dobre, awkby za standart uzawly qosjw podibne. Qe aw vidverto poznuqavsaw z liter Qq ta Jwjw, keruuwcwysjw vlasnym zbocwenym potawhom do estetyky).

#!py -3
translit='''
А       A 
Б       B
В       V
Г       H
Ґ       G
Д       D
Е       E
Є       Ë
Ж       Ž
З       Z
И       Y
І       I
Ї       Ï
Й       J
К       K
Л       L
М       M
Н       N
О       O
П       P
Р       R
С       S
Т       T
У       U
Ф       F
Х       X
Ц       C
Ч       Č
Ш       Š
Щ       Q
щ       ß
Ь       ɪ
ь       ı
Ю       Ü
Я       Ä
'''
digraphs='''
Ä       Aw
Ü       Uw
Ë       Ew
Ï       Iw
Ž       Zw
Š       Sw
Č       Cw
ß       q
ɪ       Jw
ı       jw
'''

if 0:'''
Ä       Ja      J'a
Ü       Ju      J'u
Ë       Je      J'e
Ï       Ji      J'i
Ž       Zh      Z'h
Š       Sh      S'h
Č       Ch      C'h
ß       q       q
ɪ       Jh      J'h
'''


translit=[*map(str.split, translit.strip().split('\n'))]
digraphs=[*map(str.split, digraphs.strip().split('\n'))]

d_cyr2lat=dict(translit)
for c in list(d_cyr2lat):
    if c.lower() not in d_cyr2lat:
        d_cyr2lat[c.lower()]=d_cyr2lat[c].lower()
        
d_lat2cyr={d_cyr2lat[c]:c for c in d_cyr2lat}
        
d_lat2asc=dict(digraphs)
for c in list(d_lat2asc):
    if c.lower() not in d_lat2asc:
        d_lat2asc[c.lower()]=d_lat2asc[c].lower()
        
d_asc2lat={d_lat2asc[c]:c for c in d_lat2asc}
for c in list(d_asc2lat):
    if c[0]<='Z':
        d_asc2lat[c.upper()]=d_asc2lat[c]

d_lat2cyr['ẞ']='Щ'
d_lat2asc['ẞ']='Q'

t_cyr2lat={ord(c):d_cyr2lat[c] for c in d_cyr2lat}
t_lat2cyr={ord(c):d_lat2cyr[c] for c in d_lat2cyr}
t_lat2asc={ord(c):d_lat2asc[c] for c in d_lat2asc}

def cyr2lat(s):
    return s.translate(t_cyr2lat)
    
def lat2asc(s):
    return s.translate(t_lat2asc)

def cyr2asc(s):
    return lat2asc(cyr2lat(s))
    
all2asc=cyr2asc

def asc2lat(s):
    for dg in d_asc2lat:
        s=s.replace(dg, d_asc2lat[dg])
    return s
    
def all2lat(s):
    return asc2lat(cyr2lat(s))
    
def latx2cyr(s):
    return s.translate(t_lat2cyr)
    
def all2cyr(s):
    return latx2cyr(asc2lat(s))
    
asc2cyr=lat2cyr=all2cyr

import re
def switch(s):
    def sswitch(s):
        s=s.group()
        return cyr2lat(s) if 'Є'<=s[0]<='ґ' else lat2cyr(s)
    return re.sub('[Є-ґ]+|[^Є-ґ]+', sswitch, s)
    
cyrXlat=latXcyr=switch
cyrXasc=ascXcyr=lambda s:lat2asc(latXcyr(s))

def ascx2cyr(s):
    return re.sub('[A-Za-z]+', lambda m: all2cyr(m.group()), s)

def cyrx2asc(s):
    return re.sub('[Є-ґ]+', lambda m: all2asc(m.group()), s)

if __name__=='__main__':
    import sys
    command=sys.argv[1] if len(sys.argv)>1 else 'cyrXlat'
    commands='''   cyr2lat cyr2asc lat2cyr lat2asc asc2lat asc2cyr
    all2cyr all2lat all2asc 
    latx2cyr ascx2cyr cyrx2asc 
    latXcyr cyrXlat cyrXasc ascXcyr'''
    if command in commands.split():
        command=eval(command)
        for s in sys.stdin:
            print(command(s), end='')
    elif command in '-h -? -help --help help'.split():
        print('''
            Convert text between Ukrainian Cyrillic alphabet (cyr), Latin-33 for Ukrainian (lat), and ASCII surrogates (asc)
            Usage: ukrlat33 [command]
            Command is one of the following: 
 %s help formats
 
            help        print this help
            formats     print alphabetical formats help
            cyr2lat     convert from Cyrillic to Latin-33
            cyrx2asc    convert from Cyrillic exactly to ASCII
            cyrXlat     convert in both directions
            By default, command is cyrXlat
            '''%commands)
    elif command=='formats':
        print('''
            This program uses the following alphabets:
            Cyrillic: Аа Бб Вв Гг Ґґ Дд Ее Єє Жж Зз Ии Іі Її Йй Кк Лл Мм Нн Оо Пп Рр Сс Тт Уу Фф Хх Цц Чч Шш Щщ Ьь Юю Яя
            Latin-33: Aa Bb Vv Hh Gg Dd Ee Ëë Žž Zz Yy Ii Ïï Jj Kk Ll Mm Nn Oo Pp Rr Ss Tt Uu Ff Xx Cc Čč Šš Qß ɪı Üü Ää
            ASCII (Latin-26) is similar to Latin-33 but it replaces non-ASCII letters with ASCII surrogates:
            %s
            (lower and capital variants of digraphs are also used: ja for ä/я, JA for Ä/Я etc.).
            Note that ASCII surrogates and uppercase eszet (ẞ for Q/Щ) may be used in Latin-33 input, but won't appear in Latin-33 output.
            To convert from Lating-33 to Cyrillic skipping digraphs conversion, use latx2cyr instead of lat2cyr.
            Since asc2cyr and cyr2asc are aliases for all2cyr and all2asc, use ascx2cyr and cyrx2asc 
            to avoid affecting non-Cyrillic non-ASCII characters.
            '''%',  '.join((k+': '+v for (k, v) in digraphs)))
    else:
        print('Unknown command.')