В Timex 1.1.0 изменились две вещи. Ни одна не даёт красивого скриншота.

Первое: приложение теперь говорит на пяти языках. English, Español, Русский, हिन्दी, ไทย. Каждая надпись, каждый чип, каждый тултип, каждая инструкция на карточке перерыва, каждое сообщение об ошибке.

Второе: ты можешь экспортировать всё, что Timex знает о твоём времени — каждую сессию, каждое событие приложения, каждый перерыв, каждый стакан воды — в ZIP-файл одним кликом в Настройках.

С виду это не одна и та же фича. На деле — одна.

Три письма за неделю

Первое письмо после релиза 1.0 пришло от разработчика из Питера, который извинялся за то, что пишет по-английски, потому что не был уверен, что я читаю по-русски. (Читаю.) Второе — от фрилансера в Мадриде, который вежливо спрашивал, смогут ли его клиенты когда-нибудь прочитать timesheet PDF, которые он им отсылает. Трое из его пяти клиентов не говорят по-английски.

Третье было другим. Одна строчка: «Где мои данные?» — от человека, который попользовался Timex девять дней, решил, что это не его, и хотел забрать эти девять дней отслеженной активности куда-то ещё, прежде чем удалить приложение. Ему не нужен был CSV. Ему не нужен был отчёт. Ему нужны были данные.

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

Оба — версии одного: это же должно быть моим, разве нет?

Версия 1.0 была про то, работает ли Timex вообще. Версия 1.1 — про то, работает ли он для тебя: на твоём языке, с твоими данными, доступными на твоих условиях, без необходимости писать мне на почту, чтобы это случилось.

Пять языков, прямо в приложении

Каждая строка в Today, в попровере меню-бара, в окне Настроек, в overlay перерыва и в потоке активации лицензии теперь рендерится в:

  • English
  • Español
  • Русский
  • हिन्दी
  • ไทย

Даты выводятся в твоей локали (17 мая 2026 г. vs. May 17, 2026 vs. 17 พฤษภาคม 2569). Числа уважают твой десятичный разделитель. Переключатель языков — ряд пилюль в Настройках, нажимаешь — и приложение перерисовывается без перезапуска. На первом запуске грузится язык системы.

Скажу честно, чего в 1.1 нет: RTL-языков. Движок раскладки RTL-aware, но самих переводов пока нет. Когда у нас будет нормальный арабский или иврит, выкатим. Пока что лучше подождать, чем выпустить кривое первое впечатление справа налево.

Две конкретные вещи, на которые ушло больше, чем я думал:

  • Плюрализация в русском — это система из трёх форм (1 / 2–4 / 5+). «1 перерыв», «2 перерыва», «5 перерывов» — у каждой свой суффикс. Наивный {n} breaks в английском стиле плюрализации делает приложение роботом для русскоязычного читателя. Теперь делаем по-человечески.
  • Тайские форматы дат по умолчанию идут по буддийскому календарю — 2569 год по-тайски это 2026 по григорианскому. Today показывает тот, что выставлен в системе.

Мелочи. Но их стоит сделать правильно.

Экспорт всего в ZIP

Открываешь Настройки → Экспорт базы…. Получаешь ZIP-архив с твоей полной SQLite-базой, ровно в том виде, в котором её видит Timex. Каждая сессия, каждое событие приложения, каждый перерыв, каждая запись о воде, каждая настройка.

Чего нет в этом ZIP: ничего. Никакого зашифрованного блоба, никакого «облачного хендла», никакого «нужен интернет, чтобы это раскодировать». Это файл SQLite.

Но более важный вопрос: что с ним делать?

Честный ответ для большинства — это не «открой в sqlite3 из терминала». Это ответ для меня. Ответ для большинства: перетащи ZIP в одну из наших браузерных тулз. Все три работают целиком в браузере — ничего не уходит из вкладки, ничего не попадает на сервер, файл вообще не покидает твою машину.

  • Timesheet PDF — кидаешь ZIP, выбираешь диапазон дат, получаешь готовый для клиента PDF с биллабл-часами по приложению и проекту. Помнишь фрилансера из Мадрида? Он на самом деле просил именно это.
  • Wrapped — твой год (или месяц, или неделя) во времени: приложения, в которых ты жил, часы, которые удерживал фокус, и дни, когда не удерживал. Spotify-Wrapped, но про то, куда уходило внимание.
  • SQLite viewer — кидаешь ZIP, листаешь любые таблицы, запускаешь свои SQL-запросы. Для тех, кому нужен сырой ответ, а не отрендеренный.

Один и тот же файл экспорта, все три тулзы. Схема в файле — та же, на которой Timex работает внутри. Никакого специального «формата экспорта», который втихую является подмножеством.

Если браузер не нужен — это просто файл SQLite:

unzip timex-export-2026-05-17.zip
sqlite3 timex.db
sqlite> SELECT app, SUM(duration_ms)/1000/60 AS minutes
   ...> FROM sessions WHERE date(started_at) = '2026-05-17'
   ...> GROUP BY app ORDER BY minutes DESC;

Почему это важно: это единственный честный ответ на вопрос «а если я захочу уйти?». Большинство приложений отвечает «экспортируй в CSV, с такими-то ограничениями, без таких-то полей». Timex отвечает: «вот целый файл, на котором приложение работает. Вот тулзы, которые превращают его во что-то полезное. Вот выход, если он нужен. Мы надеемся, что ты вернёшься.»

Неэффектная половина: дизайн-система и доступность

В 1.1.0 есть третье изменение, которого не видно на скриншоте. Каждый радиус скругления, граница, hover state и брендовый цвет в приложении теперь берутся из одного набора токенов. До 1.1 половина компонентов была one-off CSS. У overlay перерыва был один hover у кнопок, у Настроек — другой. У попровера была одна форма чипа, у Today — другая. Работало, но честно рассказывало, как приложение собиралось: фича за фичей, быстро.

В том же релизе: у каждой кнопки «только иконка» появилась VoiceOver-метка. Степперы +/– у воды, шевроны дат, кнопка закрытия overlay перерыва — раньше озвучивались скринридером как просто «кнопка». Теперь говорят, что они делают.

Ни одно из этих изменений не меняет того, что приложение делает. Оба меняют то, как оно ощущается.

Почему это не 2.0

Резонный вопрос: разве выкатить приложение на пяти языках — это не повод для бамп-версии побольше?

Был бы, если бы ценность релиза была пропорциональна размеру диффа. Она не пропорциональна. Новые языки — это переводы строк, которые всегда были на месте. Экспорт — это одна кнопка, использующая код, который Timex и так гонял внутри. Ни одна из этих фич не изменила, что приложение делает — они изменили, кто может им пользоваться и на чьих условиях.

Это 1.1, не 2.0. Номер версии отслеживает форму приложения, а не объём работы.

Что дальше

Три штуки в очереди:

  • Больше языков, в порядке того, о чём пишут на почту. В очереди — немецкий, французский, португальский (Бразилия) и японский. Инфраструктура готова; нужны переводчики, которым мы доверяем.
  • Фильтрованный экспорт — забрать последние 30 дней или активность только одного приложения, а не всю базу. Двое уже попросили.
  • Синхронизация между маками без облака, если получится придумать, как, не нарушив принцип «твои данные, твой файл», на котором держится остальная часть приложения. Это сложная.

Если что-то из этого нужно быстрее — почта в футере.

Если ты на 1.0, бери 1.1 со страницы загрузки. Апгрейд сохранит всё. Если ты новичок — триал всё ещё 100 часов, без регистрации, без сбора email-а — и теперь на твоём языке.

— DK