19 languages: ML Kit coverage, picker and auto-detect

Last updated: 2026-09-03

The app translates between 19 languages on-device via Google ML Kit. The full list: Arabic, Chinese (Simplified), Czech, Dutch, English, French, German, Croatian, Hungarian, Italian, Japanese, Korean, Polish, Portuguese, Romanian, Russian, Slovak, Slovenian and Spanish. New languages are added as ML Kit publishes on-device models for them.

Language picker

The picker is the single entry point for choosing source and target languages, accessed from the language bar at the top of the camera page or text translate page.

The source and target pickers can be opened independently. Choosing a source that is the the same as the target highlights this in the picker to prevent an accidental same-to-translation.

Auto-detect for source

When source is set to Auto Detect, the app needs to pick a specific ML Kit source language per translation. Two strategies are used:

Auto-detect never falls through silently. The page always has a specific ML Kit source language when the translation runs.

Why 19 and not more

The count is bounded by what ML Kit publishes as on-device models. Languages outside this list cannot be translated on-device with ML Kit. The list is curated: every entry has a downloadable model of 10–50 MB. The picker excludes languages that ML Kit does not support, even if they are valid BCP 47 codes.

i18n of the UI

The app's own interface (menus, settings, error messages) is translated into 10 languages: Arabic, English, German, Korean, French, Japanese, Russian, Spanish, Vietnamese and Chinese (Simplified). The translation languages are a superset of the i18n set for several common pairs (en ↔ ja, en ↔ zh, en ↔ es, en ↔ fr).