Локализация больших кодовых баз с помощью LLM: Рабочий процесс разработчика для 4500 UI-ключей

Разработчик задокументировал свой процесс локализации крупного игрового проекта с примерно 4500 ключами интерфейса, хранящимися в файле en-US.json размером 500 КБ. Он использовал многоэтапный рабочий процесс с LLM для обработки извлечения, перевода и улучшения качества.
Первоначальные попытки извлечения и перевода
Сначала он использовал Claude для сканирования кодовой базы, извлечения жёстко заданных строк интерфейса и их миграции в стандарты i18n, создав файл локали. Для перевода на итальянский он изначально попробовал Claude и Gemini Pro (через Gemini CLI и Antigravity). Обе облачные модели выдавали переводы неприемлемого качества. Gemini Pro также столкнулась с ошибками из-за большого файла, потребовав его разделения на 10 меньших частей.
Переход на локальные модели и ключевое прозрение
Затем он попробовал TranslateGemma локально через LM Studio, переводя ключ за ключом. Хотя качество было немного лучше, оно всё ещё оставалось неприемлемым. Ключевым прозрением стало то, что слова в интерфейсе часто неоднозначны, и для перевода требуется устранение неоднозначности и контекст использования.
Чтобы решить эту проблему, он вернулся к Claude для создания второго файла. Для каждого из 4500 ключей Claude анализировал использование в коде, чтобы предоставить контекст: где появляется строка, её функция (метка кнопки, описание, подсказка для ввода) и её влияние на игровой процесс.
Финальный конвейер перевода
Он построил автоматизированный конвейер перевода со следующими шагами:
- Группировка ключей вместе с их сгенерированным контекстом.
- Использование промпта, сфокусированного на функциональном (а не буквальном) переводе.
- Обеспечение сохранения заполнителей и тегов.
- Отправка запросов локальной модели через LM Studio.
TranslateGemma не справилась с форматом промпта, насыщенного контекстом, поэтому он сменил модели. Тестирование проводилось на Mac Mini M1 с 16 ГБ унифицированной памяти.
Производительность моделей и результаты
Qwen 3 4B показала хорошие результаты, но Qwen 3 8B оказалась оптимальной, допуская меньше грамматических ошибок и предлагая лучшие формулировки, оставаясь при этом управляемой для локального запуска. Финальный конвейер может перевести более 4500 ключей на несколько языков, занимая примерно 8 часов на одну локаль на его машине. Он использует квантованную модель, чтобы можно было продолжать работу, пока она выполняется в фоновом режиме.
Разработчик отмечает, что этот подход дал качество, достаточное для выпуска, и показался ему лучше, чем многие автоматически переведённые проекты, которые он видел.
📖 Read the full source: r/LocalLLaMA
👀 Смотрите также

Сбои в работе AI-агентов для генерации кода: реальные паттерны из ежедневного использования
Разработчик, использующий Claude Code в качестве основного инструмента разработки в течение 2 месяцев, сообщает о конкретных паттернах сбоев в производственной среде, включая развертывание финансовых данных клиента на публичных URL-адресах и 7 из 12 сбоев, обнаруженных вручную, а не автоматизированными системами.

Создание помощника по продажам за $20 в месяц с помощью OpenClaw
Разработчик создал систему продаж на основе OpenClaw, которая отслеживает электронную почту для поиска потенциальных клиентов, исследует перспективы, пишет персонализированные письма для привлечения и готовит краткие материалы для встреч. Система работает на Mac Mini, а затраты на API составляют 20–35 долларов в месяц.

Самостоятельный хостинг против управляемого OpenClaw: 4-месячное сравнение разработчика
Разработчик перешёл с самостоятельного хостинга OpenClaw за 4 месяца на управляемый сервис RunLobster за $49/месяц. Самостоятельный хостинг требовал постоянного обслуживания, включая скрипты переподключения, отладку обновлений конфигурации и борьбу с неожиданными счетами за API.

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