И туган тел, и матур тел, әткәм-әнкәмнең теле! («О родной язык, о прекрасный язык, язык моих отца и матери!» — Габдулла Тукай, «Туган тел», 1909)

TL;DR. Мы выкатили Татарнетес — национальную обёртку над Kubernetes, где команды, сообщения, ошибки и даже перерывы на чай с чак-чаком и т.п. на татарском. Рядом — TatarOS Linux (обёртка над Talos, которая поднимает кластер с Татарнетесом) и Татарнетес UI (панель на фоне татарского келәма). Всё под собственной лицензией Tatarch 2.0.

Под капотом i18n на чистом bash 3.2 без единой зависимости, три системы письма (кириллица, яңалиф, гарәп язуы), детерминированный чайный график (кластер рандомно останавливается на попить чай с молоком и бабушкиными кыстыбыями) и первый черновик татарской IT-терминологии Kubernetes. А ещё мы прогнали всё на реальном кластере CozyStack — с живыми kubectl/talosctl, RBAC, метриками и одним пойманным багом.

Репозитории tatar-ncf: tatarnetes · tataros · tatarnetes-ui. Лицензия — Tatarch 2.0.

Проект посвящается Саше, Роме, Максу и Рамилю из одного замечательного кубер-чатика.

Тур по консоли на живом кластере
Тур по консоли на живом кластере

1. Зачем нам это вообще

Помимо того, что это просто троллинг, у нас была вполне и серьёзная задумка: туган тел (родной язык) заслуживает того, чтобы жить не только в стихах, но и в терминале! Татарской IT-терминологии для cloud-native почти нет: как по-татарски «reconciliation», «ingress», «replica»? Мы решили не ждать, а предложить — пусть спорный, но живой черновик, который можно дополнять через pull request.

Поэтому Татарнетес — это три вещи одновременно: (1) весёлый инструмент, который поднимает настроение; (2) настоящая инженерная песочница по i18n в bash; (3) вклад в цифровизацию языка — глоссарий и локализация, которые может править любой носитель.

2. Почему запуск 20 сентября

Дату выбирали не «для галочки». Конец сентября у татар — муллык чоры, пора изобилия, когда с полей и садов собирают җимеш (плоды). А в нашей лицензии Tatarch 2.0 любое произведение — код, программа, книга — так и называется: «Җимеш», плод труда. Рәхим итегез — угощайтесь.

И приятное совпадение: 20 сентября 1970 года родился татарский писатель и поэт Марат Кәбиров — один из тех, кто первым затащил татарскую литературу в цифру. Литература, ушедшая в код; код, заговоривший на языке литературы — это по-нашему. Так что Татарнетес — это подарок всей татарской земле и международному татарскому сообществу, от Казани до Стамбула, от Хельсинки до Сан-Франциско. Милләтем данлыклы, халкым юмарт, коды ирекле.

3. Демо за 30 секунд

kubectl get pods знает каждый. А теперь:

ayda күрсәт кузаклар

ayda (әйдә — «давай, пошли!») переводит татарскую команду в kubectl и выполняет её.

Как ayda переводит команду в kubectl
Как ayda переводит команду в kubectl

Ресурсы получили осмысленные татарские имена: под — кузак (стручок, ведь и англ. pod — стручок), node — төен (узел), service — хезмәт, namespace — мәйдан, ingress — капка (ворота), secret — сер, volume — күләм.

Татарские имена ресурсов
Татарские имена ресурсов

При успехе тебя встречает добрая рожица в түбәтәе и хвалит Татарстан; при ошибке — она же, но сердитая, и лёгкое татарское ворчание. Между делом — строка Тукая или горячий эчпочмак.

Успешный вызов: рожа в тюбетейке, мактау и гарнир
Успешный вызов: рожа в тюбетейке, мактау и гарнир

И — да — обычный kubectl тоже работает: ayda get pods пройдёт насквозь. Есть и krew-плагин: kubectl ayda ....

get nodes: узлы кластера по-татарски
get nodes: узлы кластера по-татарски

4. Архитектура: тонкая обёртка

Татарнетес не форкает Kubernetes построчно. Это тонкая, безопасная для пайпов обёртка над kubectl: разобрать татарский, перевести в kubectl, выполнить, обернуть ответ в национальные декорации. Схематично поток такой:

пользователь → ayda (bash) ───────────────→ kubectl → Kubernetes API
                 1. resolve_verb (глагол, латин-фолбэк)
                 2. resolve_noun (первый позиционный токен = ресурс)
                 3. чайный шлюз (tea_now?)
                 4. запуск + захват stderr
                 5. рожа/мактау/шелтә + гарнир (всё в stderr)

Строк bash — 1936 (ayda + tos + lib/), и это включает шесть систем письма-логики, i18n-движок, корпус и тесты. Ни одной внешней зависимости, только bash, sed, awk, grep — и целевой bash3.2 (тот самый, что стоит на macOS по умолчанию: без ассоциативных массивов, с граблями мультибайта). Это осознанное ограничение: инструмент должен запускаться везде.

5. i18n на чистом bash 3.2

Самое интересное — как локализация живёт без gettext-рантайма.

Источник правды — .po. Строки интерфейса лежат в locale/tt.po (39 msgid) и en.po в обычном gettext-формате, где татарский — канонический:

msgid "err.unknown_verb"
msgstr "Мондый әмер юк: «%s»"

Сборка каталога. scripts/build-catalog.sh (awk) генерит из .po чистый bash — case-функцию lib/catalog.sh, чтобы в рантайме не было ни парсинга, ни зависимостей:

catalog_lookup() { # $1=lang $2=key
  case "$1:$2" in
    tt:err.unknown_verb) printf '%s' 'Мондый әмер юк: «%s»' ;;
    en:err.unknown_verb) printf '%s' 'No such command: "%s"' ;;
    ...
    *) printf '%s' "$2" ;;
  esac
}

Функция t() достаёт строку, подставляет аргументы и, если язык татарский, прогоняет через транслитерацию:

t() {
  local key="$1"; shift
  local fmt; fmt="$(catalog_lookup "$AYDA_LANG" "$key")"
  local out; out="$(printf "$fmt" "$@")"
  if [ "$AYDA_LANG" = "tt" ]; then printf '%s' "$out" | alif_render; else printf '%s' "$out"; fi
}

Синхронность каталога сторожит CI: отдельный job пересобирает catalog.sh из .po и падает, если появился diff. Так перевод и рантайм не разъезжаются.

Сингармонизм. Множественное число мы не хардкодим, а порождаем по гармонии гласных: суффикс -лар/-ләр (задний/передний ряд), а после носовых м/н/ң-нар/-нәр:

tn() {  # кузак→кузаклар, төен→төеннәр, хезмәт→хезмәтләр, мәйдан→мәйданнар, сер→серләр
  local w="$1" lastvow lastch front=0 nas=0
  lastvow="$(printf '%s' "$w" | grep -oE '[аәоөуүыиеэюёяАӘОӨУҮЫИЕЭ]' | tail -1)"
  lastch="$(printf '%s' "$w" | grep -oE '.$')"
  case "$lastvow" in ә|ө|ү|е|и|э|ю|ё|Ә|Ө|Ү|Е|И|Э) front=1 ;; esac
  case "$lastch"  in м|н|ң|М|Н|Ң) nas=1 ;; esac
  if [ "$front" -eq 1 ]; then [ "$nas" = 1 ] && echo "${w}нәр" || echo "${w}ләр"
  else                        [ "$nas" = 1 ] && echo "${w}нар" || echo "${w}лар"; fi
}

Всё это покрыто юнит-тестами (28 проверок в tatarnetes, 12 в tataros).

6. Три письменности одного народа

Татарский за век сменил три алфавита — и каждый это культурный пласт. Татарнетес умеет во все три:

AYDA_ALIF=cyrl  ayda ярдәм    # кириллица (по умолчанию)
AYDA_ALIF=latin ayda ярдәм    # яңалиф — латиница 1920–30-х
AYDA_ALIF=arab  ayda ярдәм    # яңа имля — татарское арабское письмо
Девиз лицензии в трёх письменностях
Девиз лицензии в трёх письменностях

Латиницей можно и вводить команды (для клавиатур без кириллицы). Причём мы не заводили второй словарь: сначала пробуем распознать как есть, а если не вышло — транслитерируем ввод в кириллицу и пробуем снова. Английские kubectl-глаголы при этом не ломаются:

resolve_noun() {
  local n="$1" r c
  r="$(translate_noun "$n")"; [ "$r" != "$n" ] && { printf '%s' "$r"; return 0; }  # нашли как есть
  c="$(printf '%s' "$n" | latin_to_cyrl)"                                          # латин → кирилл
  r="$(translate_noun "$c")"
  if [ "$r" != "$c" ]; then printf '%s' "$r"; else printf '%s' "$n"; fi            # иначе — как ввели
}
Ввод команды латиницей
Ввод команды латиницей

Арабское письмо (яңа имля, реформа 1920-х) — фонематическое: каждый звук отдельной буквой, все гласные записываются, различаются передний/задний ряд (о ۇ / ө ۆ, у و / ү ۈ). В начале слова гласная получает носитель-хамзу ئ. Выводим в логическом порядке — RTL и соединение букв делает сам терминал. Word-initial hamza добавляем через awk (по словам, byte-safe), а буквы меняем отдельными подстановками:

cyrl_to_arab() {
  awk '{ n=split($0,a,/ /); o=""
    for(i=1;i<=n;i++){ w=a[i]
      if (w ~ /^(а|ә|о|ө|у|ү|ы|и|э|е|я|ю|ё|А|Ә|О|Ө|У|Ү|Ы|И|Э|Е)/) w="ئ" w
      o=o (i>1?" ":"") w } print o }' \
  | sed -e 's/я/یا/g' -e 's/а/ا/g' -e 's/ә/ە/g' -e 's/о/ۇ/g' -e 's/ө/ۆ/g' \
        -e 's/у/و/g' -e 's/ү/ۈ/g' -e 's/к/ك/g' -e 's/т/ت/g' ...   # по одной букве
}

Проверяли не на глаз, а по кодпоинтам:

Татарнетес → تاتارنېتېس
U+062A TEH · U+0627 ALEF · U+062A TEH · U+0627 ALEF · U+0631 REH · U+0646 NOON
· U+06D0 E · U+062A TEH · U+06D0 E · U+0633 SEEN   =  т-а-т-а-р-н-е-т-е-с
Версия в арабском письме (яңа имля, RTL)
Версия в арабском письме (яңа имля, RTL)

7. Кластер уходит на чәй

Несколько раз в сутки Татарнетес останавливается на чай с молоком и кыстыбыем. Стучишься в это время — получаешь картинку и вежливое «Кыстырылма, туганкай — безгә дә чәй эчәргә кирәк!».

Перерыв на чай в консоли
Перерыв на чай в консоли

График детерминированный — выводится из календарного дня, три окна по 7 минут:

tea_windows() {
  today=$(date +%Y%m%d); seed=$(( 10#$today )); i=1
  while [ "$i" -le 3 ]; do
    m=$(( (seed * (i * 37 + 13) + i * 101) % 1440 ))   # минута суток 0..1439
    echo "$m 7"; i=$(( i + 1 ))
  done
}

Та же формула зеркалится в ui/app.js (teaWindowsFor), поэтому консоль и браузер видят одинаковые окна до минуты. Пьёт кластер чай по-настоящему везде — в пайпах и в CI тоже: чәй — это чәй, выход 42. Не хочешь ждать — честная кнопка AYDA_NO_TEA=1 (её же используют наши тесты), а форснуть перерыв для демо — AYDA_FORCE_TEA=1. Робот, впрочем, чаю не откажет — просто знает пароль.

8. pipe-safety и перевод ошибок

Весь «арт» (рожа, мактау, гарнир, ковёр) уходит в stderr, а stdout остаётся чистым — поэтому ayda күрсәт кузаклар -o json | jq работает как обычный kubectl. Чтобы при этом перехватить и перевести ошибку, мы жонглируем дескрипторами: stdout ребёнка идёт «насквозь» (fd 3), а stderr ловим в переменную:

{ ERRTEXT="$("$KUBECTL_BIN" "$kverb" ${kargs[@]+"${kargs[@]}"} 2>&1 1>&3 3>&-)"; RC=$?; } 3>&1

Дальше по тексту ошибки подбираем татарскую подсказку, не пряча оригинал: NotFound«Табылмады — исемен яки мәйданны тикшер», Forbidden«Рөхсәт юк — хокукларыңны (RBAC) тикшер», timeout, connection refused и т. д.

Реальная ошибка kubectl с татарской подсказкой
Реальная ошибка kubectl с татарской подсказкой
Неизвестная команда: сердитая рожа и ворчание
Неизвестная команда: сердитая рожа и ворчание

9. Характер как фичи

Мы старались, чтобы «национальный характер» стал не стереотипом, а полезной фичей.

  • Хуҗалыкчыллык (бережливость). Просишь много реплик — система по-татарски напомнит про экономию: «Акчаны әрәм итмә!» Порог настраивается AYDA_FINOPS_MAX.

  • Кунакчыллык (гостеприимство). При первом заходе в новый контекст тебя встретят как гостя: «Рәхим итегез! Яңа төбәк (контекст): …. Кунагыбыз бул!» (запоминаем последний контекст в ~/.cache/ayda/last_ctx).

  • Календарь. По пятницам — «Җомгагыз мөбарәк булсын!», на Нәүрүз/Сабантуй/байрамы — праздничный баннер (даты 2026-го выверены по Указу Раиса Татарстана).

10. Культурный корпус и борьба с галлюцинациями

Стихи и пословицы вынесены в data/*.tt (9 стихотворных фрагментов, 14 пословиц), чтобы носитель мог дополнять их через PR. Здесь у нас железное правило: классику искажать нельзя. Все строки Тукая, Җәлила, Дәрдмәнда, Сибгата Хакима и народные мәкальләр выверены по источникам, а не по памяти нейросети (в data/VERIFICATION.tt.md — таблица источников). Там, где источник не удалось подтвердить, автор в корпус не попал — точность важнее полноты.

Народная мәкаль как гарнир
Народная мәкаль как гарнир

11. Лицензия Tatarch 2.0

Юридически Tatarch 2.0 эквивалентна Apache License 2.0 — те же права и условия (грант авторских прав, патентный грант с ретолиацией, четыре условия распространения, отказ от гарантий, ограничение ответственности). Совместимость мы берегли специально. Отличается форма и дух:

  • Эпическая преамбула вместо канцелярии: лицензия открывается словами о славной истории, щедрости и кунакчыллыке татарского народа — и звучит как дастан.

  • «Җимеш». Произведение называется не «Work», а Җимеш (плод), и распространяется «иркен, татар кунакны каршылагандай» («свободно, как татарин встречает гостя»).

  • Народное достояние. Каждое произведение провозглашается духовно принадлежащим всему великому татарскому народу. Тут же — честная юридическая оговорка: это почётное заявление, оно не создаёт имущественных прав, копирайт остаётся у правообладателя. Красивая метафора не должна мешать реальному использованию.

  • Двуязычие, татарский — первым (и вся документация тоже). Латиница/арабица — авто-транслит.

Если коротко: берите так же свободно, как под Apache 2.0 — просто у этой свободы есть түбәтәй.

12. TatarOS Linux и Татарнетес UI

Три проекта складываются в один национальный стек:

Милли стек: TatarOS → Татарнетес → UI
Милли стек: TatarOS → Татарнетес → UI

TatarOS Linux — обёртка над Talos (иммутабельная ОС для Kubernetes). CLI называется tos и важно отличается идеологически: он поднимает кластер не с Кубернетесом, а с Татарнетесом. tos татарнетес-конфиг выдаёт доступ — и в кластере тебя ждёт саф Татарнетес.

tos сәламәтлек — health вживую
tos сәламәтлек — health вживую

Татарнетес UI — форк официального дашборда: татарская палитра (яшел-ак-кызыл плюс алтын), фон — настоящий татарский келәм (тамга, лаләләр-тюльпаны, ислими-вязь), а идентификаторы нод — это тамга, родовые знаки. В перерыв панель тоже закрывается и показывает шамаиль-баннер.

Дашборд: поды на фоне ковра
Дашборд: поды на фоне ковра
Төеннәр: тамга как идентификаторы нод
Төеннәр: тамга как идентификаторы нод
Чайный перерыв в браузере: шамаиль-баннер
Чайный перерыв в браузере: шамаиль-баннер

13. Как проверяли

Тут начинается самое интересное — мы не поверили себе на слово и прогнали всё на реальном кластере CozyStack: изолированный тенант tncf, тенант-Kubernetes на Talos v1.13.6 / k8s v1.35.6 (2 ноды), отдельный kubeconfig, каждая команда с явным --context.

ayda — вся боевая матрица прошла на живом кластере:

Проверка

Факт (live)

exit

ayda күрсәт кузаклар/төеннәр

реальные поды/ноды + оформление в stderr

0

ayda kürsät kuzaklar (латиница)

идентично кириллице

0

ayda get pods (passthrough)

обычный kubectl

0

ayda сөйлә кузак yuk-pod

Error … NotFound + «Табылмады…»

1

RBAC: SA без прав

Error … Forbidden … cannot list pods + «Рөхсәт юк…»

1

FinOps: --replicas=12

реально масштабирует до 12 + «Акчаны әрәм итмә! 12 реплика…»

0

pipe-safety: … -o json | jq '.items|length'

4 (арт не попал в stdout)

0

AYDA_ALIF=latin/arab

латиница / RTL-арабица

0

ayda абырвалг

64

AYDA_FORCE_TEA=1 ayda …

экран чая

42

Латентность (медиана 5 прогонов): ayda 774 мс vs kubectl 812 мс. Накладные обёртки — в пределах шума (≈0, фактически −5%). То есть «национальный слой» не стоит вам производительности.

tos на настоящем Talos. Против managed-кластера cluster-операции упираются в hosted control-plane (worker-ноды не форвардят tenant-запросы — no request forwarding), поэтому мы подняли отдельную standalone Talos-ноду v1.11.2 и прогнали day-2 глаголы вживую:

  • tos вакыт → реальные NTP-данные; tos дисклар → диски; tos сәламәтлек → health;

  • tos яңадан-кабызреальный ребут ноды (actor ID, sequence START, нода ушла и вернулась);

  • tos татарнетес-конфиг → реальный рабочий kubeconfig 2270 байт (CA-data, server: https://10.244.76.195:6443, cluster tatarnetes). Хедлайн-фича доказана вживую.

А ещё боем поймали баг. tos күрсәт төеннәр мапился в talosctl get nodes — а у talosctl нет COSI-ресурса nodes (resource "nodes" is not registered), команда всегда падала. Починили: төен → members (cluster.Member), обновили словарь, help, доки и тесты. Это ровно то, ради чего гоняют боем — на моках такое не всплывает.

14. Грабли

Тут всё из кода самого проекта и с боевого прогона:

  • sed на macOS режет по байтам, а не по буквам. Кириллица/арабица — по 2 байта, и класс [Хх] в BSD sed матчит отдельные байты, кроша UTF-8. Из-за этого первая версия арабицы была битой; лечится подстановками по целой букве + проверкой по кодпоинтам.

  • Слишком жадный перевод переименовал чужой под. Под, буквально названный эш («работа»), команда превращала в get pods jobs. Починка: переводим только первый позиционный токен (тип ресурса), имена и значения флагов не трогаем.

  • bash 3.2 и кавычка-ёлочка «$verb» — многобайтная » «прилипает» к имени переменной; спасают фигурные скобки ${verb}. И printf "$fmt" с %s без аргумента молча съедает плейсхолдер.

  • [из боя] Talos apid отвергает client-cert без EKU clientAuth (tls: bad certificate). Самодельный O=os:admin cert из Talos-CA заработал только с extendedKeyUsage=clientAuth.

  • [из боя] managed CozyStack = hosted control-plane: worker-Talos не форвардят tenant-запросы; talosctl version идёт, а get/health/kubeconfig требуют standalone control-plane.

  • [из боя] talosctl get nodes не существует — см. выше, төен → members.

15. Итоги и как помочь

Готовность по итогам боевого прогона: ayda и UI — к публичному показу готовы сразу; tos — как обёртка готов, а для «живого» татарнетес-конфиг нужен standalone Talos control-plane (это особенность стенда, не баг).

git clone https://github.com/tatar-ncf/tatarnetes.git
cd tatarnetes && ./install.sh
ayda ярдәм

Помочь просто и приятно:

  • перевести интерфейс — правишь locale/*.po, шлёшь PR (кода касаться не надо);

  • дополнить глоссарийdocs/terminology.tt.md (сейчас 36 терминов);

  • добавить строфу классика — обязательно с указанием источника.

Метрики проекта

Строк bash (ayda+tos+lib)

1936

Ключей локализации (tt.po)

39

Терминов в глоссарии

36

Юнит-проверок (tatarnetes / tataros)

28 / 12

Корпус (стихи / пословицы)

9 / 14

Систем письма

3 (кирилл / яңалиф / яңа имля)

Накладные ayda vs kubectl

≈0 (−5%)

Репозиториев

3

Галерея

Полный словарь команд
Полный словарь команд
Помощь на татарском
Помощь на татарском
Логи пода
Логи пода
Хезмәтләр (services)
Хезмәтләр (services)
Стих Тукая как гарнир
Стих Тукая как гарнир
Сәлам! Приветствие
Сәлам! Приветствие
tos: члены кластера (get members)
tos: члены кластера (get members)
tos help на английском
tos help на английском
UI: хезмәтләр
UI: хезмәтләр
UI: урнаштырулар
UI: урнаштырулар
UI: мәйданнар
UI: мәйданнар

Скринкасты (GIF): тур по консоли (живой прогон) · тур по UI.

Ссылки

Организация: github.com/tatar-ncf — Tatar-Native Computing Foundation

Репозитории:

Полезное:

Йомгак

Мы сделали это, потому что туган тел заслуживает жить и в терминале. Технологии не обязаны быть холодными: пусть кластер носит түбәтәй, угощает чәкчәком и уходит на чай — но при этом честно переводит ошибки, не тормозит и переживает боевой прогон. Всё — под Tatarch 2.0, всё — бөек татар халкына, всему великому татарскому народу и татарам всего мира.

Рәхмәт яугыры! Татарстан алга! Яшә, ирекле код! ?⚪?

Комментарии (48)


  1. yermolaev
    20.09.2026 08:20

    Айда уж :)


  1. ugenk
    20.09.2026 08:20

    Селям алейкум полный


  1. almaz_emb
    20.09.2026 08:20

    Шутки шутками, а языки вымирают именно потому, что перестает применяться в работе, делопроизводстве, официальный коммуникациях, оставаясь инструментом для бытового общения.


    1. TimurTukaev Автор
      20.09.2026 08:20

      согласен, и это частью мотивации было (ну плюс шутки про чак-чак и т.п.)))


    1. kerberos464
      20.09.2026 08:20

      Deleted


    1. kerberos464
      20.09.2026 08:20

      С одной стороны, вы правы, а с другой стороны, было бы удобно, если бы все люди планеты говорили на одном языке, разве нет?


      1. TimurTukaev Автор
        20.09.2026 08:20

        Это было бы функционально, но разве было бы хорошо, если бы вся еда была на один вкус, все женщины и мужчины одинаковые, а The Love, Бетховен и Арво Пярт исполняли одну и ту же мелодию? Наверное, это был бы очень логичный мир, но в нем бы не было эмоций и вкуса к жизни.


        1. DaneSoul
          20.09.2026 08:20

          а The Love, Бетховен и Арво Пярт исполняли одну и ту же мелодию

          Вот только тут пример обратный - любая мелодия ложится на универсальную нотную запись, которая является фактически единым языком музыки. Как видите, разнообразию творческого выражения это никак не мешает.

          Точно также, если взять литературу на любом популярном языке, то там можно найти произведения любого жанра, на любой вкус. Более того, даже после перевода на другой язык произведения сохраняют свою ценность. Хотя какие-то тонкие языковые нюансы могут теряться, но тем не менее идеи автора можно передать практически любым языком.


          1. TimurTukaev Автор
            20.09.2026 08:20

            ой ли) и шнитке сюда ляжет со своей двенадцатитоновой системой?) да даже у перечисленных выше исполнителей языки сильно разные -- просто алфавит похож)


      1. almaz_emb
        20.09.2026 08:20

        Благими намерениями... Пятый год на Украине выясняют на каком языке там должны разговаривать...


      1. Xiran
        20.09.2026 08:20

        Чего же в этом хорошего? Разные языки - разные обособленные пространства, уникальная культура. Если бы у всех был бы один язык то и культура была бы одна. Странно и даже неприятно. А знание другого языка - ключ к проходу в другое культурное пространство, знак уважения к нему.


        1. TimurTukaev Автор
          20.09.2026 08:20

          язык это еще и кристаллизованная картина мира и уникальный способ мыслить


  1. MKrivosheev
    20.09.2026 08:20

    Пришлось залогиниться (впервые за несколько лет), чтобы лайкнуть


  1. adelkhalitov
    20.09.2026 08:20

    Асаламалейкум. Егетләр, сез яхшы эш башкардыгыз. Шулай дәвам итегез!

    Киләсе елдан сезнең программагызны кулланырмын, барлык корпоратив инструкцияләрне яңадан язармын.


    1. TimurTukaev Автор
      20.09.2026 08:20

      Рәхмәт, туган! Бу процессны башлагач, сине кыстыбый белән чәкчәк белән сыйларга шат булырбыз!


  1. osj
    20.09.2026 08:20

    Менә Көбернәтәсне дә Татарнетеска алмаштырып куйдылар инде. Хәзер подлар урынына - эчпочмаклар, ә нодаларны чәк-чәккә утыртачаклар. Ә продка деплой ясау - бары тик әбинең фатихасы белән генә. Булдырабыз!

    Ну вот и заменили-таки Кубернетес на Татарнетес. Теперь вместо подов - эчпочмаки, а ноды будут сажать на чак-чак. А деплоить в прод - только с благословения бабушки. Мы сможем!


    1. TimurTukaev Автор
      20.09.2026 08:20

      У нас получится! Получится!


  1. 0xInnominatus
    20.09.2026 08:20

    Насколько татарский понимаем другими тюркскими народами? Есть ли у тюрков аналог межславянского языка? Так‑то проект интересный, а если его могут использовать без проблем не только татары, но и вообще все народы тюркской группы от турков до якутов, то вполне себе перспективный (возможно в этом случае стоит перейти с кириллицы на латиницу или что сейчас преобладает среди тюркоговорящих?).


    1. TimurTukaev Автор
      20.09.2026 08:20

      ну отеу у меня понмает более-менее узбеков, казахов прям очень хорошо. с татарами и башкирами естественно проблем нет. а вот в межславянский язык я что-то вообще не верю, какая-то странная конструкция) зато праславянский приходилось в университете изучать -- он интересный с исторической точки зрения


      1. 0xInnominatus
        20.09.2026 08:20

        ну отеу у меня понмает более-менее узбеков, казахов прям очень хорошо. с татарами и башкирами естественно проблем нет.

        В таком случае нужды в отдельном «межтюркском» языке у вас нет, так как языки очень взаимопонятны. В этом случае выходит проект может сразу в куче локаций использоваться, успехов с этим!

        межславянский язык я что-то вообще не верю, какая-то странная конструкция

        Я в целом тоже, так как в целом славяне понимают друг друга без перевода достаточно хорошо, хоть и наверное хуже тюрков (я условно с коллегами поляками, украинцами, русскими и то ли словаками, то ли словенами,‑ нужно будет спросить их на досуге кто они, без переводчика вполне себе говорю и понимаю, главное не сильно торопиться, хотя местами переходим на английский). На условном DOU или ныне почившем ПрекрасноеIT тоже вряд ли у кого‑то были серьёзные проблемы с пониманием другого языка. Межславянский скорее как пример привёл, так как некоторые славяне друг друга понимают ужасно плохо (условных болгар, как мне кажется, что русские, что поляки, что чехи не понимают особо в среднем).


        1. TimurTukaev Автор
          20.09.2026 08:20

          я и поляков с трудом понимаю) и чехов)


        1. TimurTukaev Автор
          20.09.2026 08:20

          я и поляков с чехами почти не понимаю)


      1. DaneSoul
        20.09.2026 08:20

        а вот в межславянский язык я что-то вообще не верю, какая-то странная конструкция

        А по моему подход замечательный, другой вопрос что без административного продвижения шансов на распространение мало.


        1. TimurTukaev Автор
          20.09.2026 08:20

          ну просто появляется вопрос -- а кому оно надо?) и зачем?) есть ли такая задача как "общаться славянам между собой" -- сомнительно. если уж общаться, то со всеми народами, а все народы не славяне:) то есть выглядит изначально как решение, для которого енет задачи. ну там всякие панславянские идеи 18-19 веков или когда там они были -- возможно. но даже для этого необходимо было бы какое-то административное объединение всех сславян. а если территориально славян объединить, то в эту же территориальную общность попадет немало неславянских народов неизбежно, и снова межславянский язык проиграет) и админресурсом такие вещи трудно внедрять: когда нет живой трации, носителей живых и т.п., то и язык никак зажить своей жизнью не сможет


          1. 0xInnominatus
            20.09.2026 08:20

            а кому оно надо?) и зачем?) есть ли такая задача как "общаться славянам между собой"

            Не, он задумывался не для общения, а для того чтобы не дублировать документацию, надписи, состав на этикетах, вывески, инструкции и так далее на 10 похожих языках. В теории может удешевить создание продуктов и оказание услуг и сделать их доступнее для ЦА. То есть в принципе как раз близко к теме статьи.


            1. TimurTukaev Автор
              20.09.2026 08:20

              Ну я все равно слабо верю в такую идею -- уже слишком разные щаконодательства придется подружить между собой))


              1. 0xInnominatus
                20.09.2026 08:20

                уже слишком разные щаконодательства придется подружить между собой))

                Почему? Подавляющая часть славян живёт в едином экономическом пространстве ЕС: там же плюс минус единые стандарты для продаваемой продукции и как раз наибольшая вариативность славянских языков от словенского до русинского, так что при желании как раз не было бы никаких проблем вместо десятка составов на славянских языках писать только два на межславянском (кириллицей и латиницей, чтобы всем было понятно),‑ текущее регулирование насколько мне известно это позволяет и в целом это сейчас чуть ли не единственное живое направление развития разного рода вариаций межславянских языков.


                1. qvvah
                  20.09.2026 08:20

                  Подавляющая часть славян живёт в едином экономическом пространстве ЕС...

                  В плане вариативности - да, ЕС в лидерах, но в плане чистого количества - кажется, вы забыли учесть восточных славян (в ЕС не входят, но это примерно ~50-55% от всех славян вместе). И, я кажется не совсем вас понял, но вы предлагаете заменить славянские языки ЕС на межславянский? Думаю, это неправильно в плане сохранения и преумножения культуры славянских народов, да и мировой культуры в целом.


                  1. 0xInnominatus
                    20.09.2026 08:20

                    но в плане чистого количества - кажется, вы забыли учесть русских

                    Почему? Русские тоже, в конце концов для 6% населения ЕС русский является родным языком (то есть по числу носителей сопоставимо со всякими чешскими, словенскими и так далее - тот же порядок цифр по числу носителей). Просто сейчас в ЕС много надписей типа составов на этикетках дублируется на множестве славянских языков и они не сильно друг от друга отличаются, а могли бы быть написаны на межславянском, что делало бы создание упаковок дешевле, а товары доступнее.

                    И, я кажется не совсем вас понял, но вы предлагаете заменить славянские языки ЕС на межславянский? Думаю, это неправильно в плане сохранения и преумножения культуры славянских народов.

                    Не, я ничего не предлагаю. Просто говорю, что многие реальные проекты применения межславянского языка сейчас крутятся вокруг снижения издержек при изготовлении и продаже товаров на территории славяноязычных стран Еврозоны и ассоциированных государств (чтобы не переводить излишне бумагу на инструкции во всяких упаковках от лекарств и так далее).


                    1. qvvah
                      20.09.2026 08:20

                      Экономически это звучит разумно, но, думаю, всё-таки лучше оставить множество языков.

                      Полушутливый пример: по вашему образцу на тех же этикетках заменяем все романские языки на современную латынь, английский и немецкий - на голландский (или какой-нибудь промежуточный, всё равно похожи), можно сразу педаль в пол прожать и писать на этикетках на современном индоевропейском, а все остальные - пусть его учат. Языки ведь праиндоевропейские, между "apple - apfel - ябл(оком)" родство невооруженным глазом видно... Бумага экономится? Ещё как. Только на культурное и языковое разнообразие это повлияет со временем отрицательно, кмк.


          1. qvvah
            20.09.2026 08:20

            Славянам надо, для возвращения к своим корням. Потом можно и ПБС изучить, и PIE с древними пластами. Интерес к межславянскому пока не велик, но он стабильно растёт. Да и несколько веков назад не нужно было никакого межславянского: все славяне и так друг друга понимали.

            Проблема тут в головах: вместо общей мировой культуры с местными "надстройками" и их взаимосвязями люди предпочитают видеть различия и слишком на них зацикливаются. Это сильно мешает как славянам между собой, так и всем остальным народам. Если людям нужно найти общий язык - они найдут, только если это не коренные сентинельцы: эти сразу убивают и закапывают.

            А то ведь вашими аргументами можно и любой межтюркский/пантюркский проект "забраковать", на тех же основаниях, которые вы перечислили.


    1. TimurTukaev Автор
      20.09.2026 08:20

      по поводу латиницы -- в нашем проекте используется и альтернативная татарская исьменность, основанная на латинице, а также письменность, основанная на арабском


      1. Kairat
        20.09.2026 08:20

        Қазақтан сәләм! Егетләр, Q белән Ƣ, Ə белән Ь хәрефләрсез бу яңалиф түгел, яңа латин бит ))
        Посмотрел ваши функции транслитерации. Разве в татарском используются Къ и Гъ?


        1. TimurTukaev Автор
          20.09.2026 08:20

          Перепроверю, спасибо!


    1. kleidemos
      20.09.2026 08:20

      Когда-то встречал мысль вида, “если перемещаться от Москвы до Варшавы то жители соседних деревень друг друга понимают, но в конечных точках языки различаются слишком сильно”. С приходом общего образования тезис, скорее всего, потерял силу, но на интервале от Уфы до Казани градиент всё ещё ощущается. Причём местные знают, что “здесь” говорят чуть иначе, чем “там”, и поэтому базовый татарин/башкир умеет в рантайме без усилий конвертировать речь собеседника в понятный для себя вариант языка. Благодаря этому общение в смешанных семьях может выглядеть по милому забавно, если слушатель способен отслеживать ньюансы речи.


      1. TimurTukaev Автор
        20.09.2026 08:20

        да, интересный эффект постепености изменений)


    1. qvvah
      20.09.2026 08:20

      Если пару минут погуглить, то можно узнать что взаимопонимание между представителями тюркских языков достаточно большое (особенно внутри одной группы), кроме северо-восточных (сибирских) - с ними потяжелее, и кроме чувашского языка (он совершенно особенный). Для себя решил, что если буду учить тюркские языки - начну с киргизского: видел сравнительную таблицу по спискам Сводеша, судя по ней на киргизский повлияли многие языки тюркской группы (он хорош как "входной билет", чтобы легче понимать/доизучить остальных). Впрочем, могу ошибаться, лингвистом не являюсь.


    1. sledopit
      20.09.2026 08:20

      Есть озьтюрк, но проект особо не взлетел.

      https://ru.wikipedia.org/wiki/%D0%A1%D1%80%D0%B5%D0%B4%D0%BD%D0%B5%D1%82%D1%8E%D1%80%D0%BA%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA

      Я не филолог, но по ощущениям вариативность в тюркских языках весьма высокая. Даже внутри одного татарского условным мишарам соседних казанцев бывает непросто понимать. Хотя казалось бы и те и другие татары. Не на уровне русский - сербский, конечно. Но ощутимо для комфортной беседы.


  1. ENick
    20.09.2026 08:20

    Изучаю вопрос распознавания письменного казахского языка. В доке Qwen и татарский и казахский язык входят в одну группу Тюрских языков. Интересно, какая ситуация с распознаванием письменного татарского языка? На Huggingface представлена одна модель tatar-ocr, но только для машинописного текста.


    1. TimurTukaev Автор
      20.09.2026 08:20

      А с чем связан такой интерес, если не секрет? Какие-то работчие задачи или что-то вроде культурологического пет-проекта?


      1. ENick
        20.09.2026 08:20

        Работа


        1. TimurTukaev Автор
          20.09.2026 08:20

          круто! это прям интересный проект, судя по всему


  1. qvvah
    20.09.2026 08:20

    Хорошая штука!

    Может сделать локализацию для Linux на северном наречии: с доской, треской и тоской? Не троллинга ради, но культурного просвещения для. А то современное поколение совсем забыло о том, как говорили их прабабушки и прадедушки на Русском Севере. Этак потом и южане присоединятся, и сибиряки - с "мультифорами" вместо "файлов".


    1. TimurTukaev Автор
      20.09.2026 08:20

      тоже вариант))


  1. almaz045
    20.09.2026 08:20

    Добавьте мишарский диалект еще!) Без просто цей эцебез, чей тигел)) Мишерлер де бик куп))


    1. TimurTukaev Автор
      20.09.2026 08:20

      надо подумать)


  1. Insurgent2018
    20.09.2026 08:20

    интересно, потратили ресурсы - на что-то бесполезное, и...все.


    1. TimurTukaev Автор
      20.09.2026 08:20

      а то вы всю жизнь тратите свое время и ресурсы исключительно на полезные вещи. это эмоции и радость, возможно, для вас это звучит как что-то бесполезное. тогда бесполезно сочувствую всем своим бесполезным сердцем