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

Last updated: 2026-09-03

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

Каждая языковая модель ML Kit занимает примерно 10–50 МБ на диске и сохраняется при перезапусках приложения. Страница менеджера моделей перечисляет все 19 поддерживаемых языков с их состоянием загрузки и позволяет загружать или удалять каждый. В этой статье объясняется, когда использовать страницу, что означают состояния модели и какое хранилище ожидать.\n\n## Когда посещать менеджер моделей\n\nДля большинства пользователей страница менеджера моделей не нужна: выберите язык на странице камеры или странице текстового перевода, и приложение загрузит соответствующую модель по требованию при первом переводе. Модель остается на устройстве для каждого последующего перевода.\n\nСтраница менеджера моделей предназначена для пользователей, которые хотят:\n\n- Предварительно загрузить для офлайн-поездок. Перед поездкой загрузите каждую языковую пару, которая вам понадобится. Перевод будет работать в самолёте, в аэропорту, в отеле и в поезде.\n- Проверить хранилище. Посмотрите, какие языки загружены и сколько места использует каждый.\n- Удалить неиспользуемые языки. Восстановите хранилище, удалив модели, которые вам больше не нужны.\n\n## Состояния модели\n\nКаждый язык находится в одном из четырёх состояний:\n\n- Не загружено. Отображается кнопка «Загрузить». Нажмите, чтобы начать загрузку.\n- Загружается. Отображается неопределённый спиннер. ML Kit не предоставляет обратных вызовов о прогрессе, только о завершении; спиннер разрешается в «Загружено» или «Ошибка».\n- Загружено. Отображается значок с кнопкой «Удалить». Нажмите, чтобы удалить модель и восстановить хранилище.\n- Ошибка. Кнопка «Повторить» заменяет «Загрузить». Распространённые причины: нет сети, заблокирован сотовый, мало места на диске. Повторите попытку после устранения основной проблемы.\n\n## Последовательные загрузки\n\nНесколько запросов на загрузку в быстрой последовательности помещаются в очередь, а не параллелизируются. Собственный плагин iOS не обрабатывает параллельные вызовы manageModel чисто: второй запрос отменяет первый. Приложение сериализует загрузки через одну связанную Future, поэтому параллельные запросы разрешаются один за другим. UI показывает только активную загрузку в неопределённом состоянии; запросы в очереди ждут своей очереди.\n\n## Стоимость хранилища\n\n- На модель. 10–50 МБ в зависимости от языка.\n- Все 19 языков. Примерно 300–600 МБ.\n- Роль. Модель может служить как источником, так и целью; одна модель поддерживает обе роли для языка.\n\n## Удаление модели\n\nУдаление окончательно. Хранилище немедленно восстанавливается. Чтобы снова перевести на этот язык, следующий перевод запускает новую загрузку. Автоматической очистки нет; модель остаётся, пока вы её не удалите или не удалите приложение, и то и другое удаляет все загруженные модели.\n\n## Конфиденциальность\n\nМодели загружаются с серверов распространения ML Kit. Загрузка — это однократная операция для каждого языка. Никакой аналитики о том, какие модели вы загружаете, никакой телеметрии за пределами агрегированных счётчиков, никакого отслеживания по пользователям.\n\n## Практический рабочий процесс\n\n1. Откройте страницу менеджера моделей со страницы настроек.\n2. Нажмите «Загрузить» рядом с каждым нужным языком.\n3. Подождите, пока спиннер для каждой строки не разрешится в «Загружено».\n4. Переводите офлайн — для этих языков дальнейшие загрузки не нужны.\n5. По возвращении удалите языки, которые вам больше не нужны, чтобы восстановить хранилище.\n\nДля одноразовых поездок это занимает минуту. Для постоянного многоязычного использования оставьте часто используемые языки загруженными и удалите остальные.