Зробіть своїм

Мови та письмо справа наліво

Інтерфейс Gitcito перекладено. Мова — це налаштування Gitcito, а не операційної системи: розробник з англомовною macOS, який радше читав би японською, вибирає її саме тут, а розробникові на системі з івритом, який воліє мати застосунок англійською, ніхто не нав’язує іншого.

Налаштування → Загальні → Мова.

Вибір мови

Що є в комплекті

English Español Deutsch Français
Português (Brasil) Italiano Nederlands Polski
Türkçe Русский Українська 简体中文
日本語 한국어 العربية עברית

Кожен рядок у списку написано його ж мовою. Той, хто шукає корейську, видивляється 한국어, а не слово «корейська» тією мовою, з якої він якраз намагається піти.

Про прапори

Прапор називає країну; локаль називає мову. Ці дві речі справді не збігаються — арабська є офіційною мовою у понад двадцяти державах, а португальська розсіяна на двох континентах. Піктограми дотримуються тієї самої угоди, якою користується вибір локалі в кожній операційній системі: основний регіон локалі. Вони тут для того, щоб їх упізнавали з першого погляду, а не для того, щоб заявляти, кому належить мова.

Їх намальовано як векторну графіку, а не взято емодзі — і це навмисно. Windows взагалі не постачає емодзі прапорів: 🇩🇪 відображається там як квадратик із літерами «DE».

Справа наліво

Арабська та іврит дзеркалять увесь інтерфейс: бічна панель переїздить праворуч, панелі й тулбари перевертаються, піктограми, що кудись вказують, починають вказувати в інший бік.

Перемикання відбувається миттєво й не потребує перезапуску.

Gitcito арабською з дзеркальним компонуванням

Що навмисно не дзеркалиться

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

Лишається LTR Чому
Граф комітів Позиції доріжок обчислюються в пікселях; дзеркальний контейнер розійшовся б із намальованими лініями
Діфи та вміст файлів Код пишеться зліва направо, а дзеркальний діф неможливо читати
Blame і вивід розв’язання конфліктів З тієї самої причини — це текст програми, а не проза
Вбудований термінал Він малює власну сітку; вивід git іде зліва направо
Шляхи, SHA, рефи й команди refs/heads/main читається лише в один бік

Кожен із цих острівців ізольовано, щоб уривок арабської всередині нього — назва гілки, повідомлення коміта, ім’я файла — не міг переставити текст навколо себе.

Межі

Тут ми чесні щодо того, де все закінчується:

  • Повідомлення комітів, назви гілок і вміст файлів Gitcito ніколи не перенаправляє. Вони показані так, як їх написав автор. Повідомлення коміта івритом у списку з ізоляцією LTR відображається як іврит, але рядок навколо нього не перевертається, щоб йому догодити.
  • Сторонні поверхні зберігають власний напрямок — термінал це xterm, а попередній перегляд Markdown відтворює документ так, як його написано.
  • Імена файлів зі змішаним напрямком — річ складна. Шлях з арабською текою всередині англійського дерева ізолюється, а не переставляється, і це правильно, хоча першого разу може виглядати несподівано.

Цей довідник теж перекладено

Не лише кнопки. Кожна сторінка, яку ви читаєте, існує всіма мовами зі списку вище — пояснення, таблиці того, що робить кожна опція, розділи про те, чого функція робити не буде. Перемикання мови інтерфейсу перемикає разом із ним і довідник — і в застосунку, і на сайті.

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

На сайті кожна сторінка має перемикач мови, який лишає вас на тій сторінці, яку ви читали, бо змінити мову це не те саме, що почати спочатку.

Що перекладено машиною і чого це коштує. Англійську та іспанську написано руками. Решту переклала модель за глосарієм, а потім перевірив скрипт: кожну сторінку, кожне посилання, кожен шлях до зображення, кожен блок коду байт у байт проти англійської. Так ловиться поламана структура. Так не ловиться речення, яке правильне, але дерев’яне. Якщо сторінка погано читається вашою мовою, це баг, про який варто повідомити.

Як додати мову

Словники лежать по одному файлу на локаль у src/renderer/src/i18n/, і англійський файл є еталоном, за яким типізаційно перевіряються всі інші — відсутній ключ це помилка компіляції, а не тихий відкат до англійської. Набір тестів також перевіряє, що кожен {placeholder}, який підставляється в рядок, переживає переклад, тож речення не може загубити sha свого коміта дорогою до іншої мови.

Із довідником усе влаштовано так само: docs/help/ містить англійські сторінки, а docs/help/<locale>/ — кожен переклад, по файлу на сторінку й з тією самою назвою файла. npm run lint:docs перевіряє, що кожна перекладена сторінка має англійський оригінал, що її front matter заповнений повністю і що її посилання та зображення розв’язуються на каталог глибше.

Внески вітаються — по сторінці за раз це нормально, а виправити незграбний переклад не менш корисно, ніж додати відсутній.

Дивіться також: Теми та зовнішній вигляд · Профілі

Покращити цей переклад на GitHub