Локализация
PRECC отображает строку состояния и короткие сообщения на 28 языках. Переводы скомпилированы в бинарный файл, поэтому выбор языка не вызывает дополнительного ввода-вывода во время хука.
Установка языка
Установите переменную окружения PRECC_LANG в поддерживаемый код языка. Она имеет приоритет над всеми остальными источниками.
$ PRECC_LANG=zh precc savings
$ export PRECC_LANG=ja
Сохранение через consent.toml
Добавьте [ui] preferred_language = "ja" (или любой поддерживаемый код) в ~/.config/precc/consent.toml, чтобы сохранить выбор между оболочками без экспорта переменной окружения.
# ~/.config/precc/consent.toml
[ui]
preferred_language = "ja"
Порядок разрешения
PRECC сначала проверяет PRECC_LANG, затем [ui] preferred_language в consent.toml, и в конце откатывается к английскому. Побеждает первый непустой сигнал, который кэшируется на время жизни процесса.
1. PRECC_LANG (environment variable)
2. consent.toml ([ui] preferred_language)
3. "en" (default)
Покрытие
Таблица переводов содержит 28 языковых столбцов. Ячейки, которые мы не можем проверить вручную, оставляются пустыми и при поиске откатываются к английскому, вместо того чтобы показывать выдуманный текст. Если вы можете улучшить перевод, пришлите его в апстрим.
en es de zh fr pt ja vi nl hu ar fa tr ko
th my mn bo pl ru zt da sv fi it is2 ro cs
Почему это остаётся быстрым
Переводы хранятся как массивы const времени компиляции внутри бинарника precc-core, а не в SQLite. Хук выполняет один поиск по массиву в памяти, поэтому стоимость перевода неизмерима по сравнению с бюджетом хука в < 5 мс p99.