Skip to content

Multilingual Overview

KanjiIQ supports 51 languages for both UI and flashcard content — making it one of the most linguistically diverse Japanese learning platforms available.

Supported Languages

Tier 1: High-Traffic Languages

These languages are prioritized for quality and coverage:

Language Code Script
English en Latin
Spanish es Latin
Portuguese pt Latin
French fr Latin
German de Latin
Chinese (Simplified) zh-CN Han
Chinese (Traditional) zh-TW Han
Japanese ja CJK
Korean ko Hangul
Russian ru Cyrillic

Tier 2: Medium-Traffic Languages

Language Code Language Code
Arabic ar Thai th
Hindi hi Dutch nl
Indonesian id Swedish sv
Italian it Bengali bn
Polish pl Hebrew he
Turkish tr Vietnamese vi

Tier 3: Underserved Communities

KanjiIQ deliberately supports languages often overlooked by other learning platforms:

Category Languages
European Catalan, Danish, Finnish, Greek, Icelandic, Norwegian, Romanian, Ukrainian
Celtic Irish, Scottish Gaelic, Welsh, Manx
Pacific Fijian, Hawaiian, Samoan, Tahitian, Tongan
Asian Burmese, Malay, Mongolian, Nepali, Punjabi, Tamil, Telugu, Tagalog
Other Basque, Galician, Latin, Swahili

Why 51 languages?

Most Japanese learning apps only support 5-10 major languages. KanjiIQ was built with the philosophy that learners from underserved language communities — Welsh speakers, Basque speakers, Hawaiian speakers — deserve the same quality learning experience as English or Spanish speakers.

Two Layers of Localization

KanjiIQ localizes at two distinct levels:

1. UI Localization

All interface text (buttons, labels, navigation, instructions) is translated into 51 languages using Flutter's ARB-based localization system.

frontend/lib/l10n/
├── app_en.arb    # English (source template)
├── app_ja.arb    # Japanese
├── app_fr.arb    # French
├── app_de.arb    # German
├── app_haw.arb   # Hawaiian
└── ... (51 files)

See i18n Implementation for technical details.

2. Content Localization

Flashcard meanings, vocabulary definitions, and example sentences are translated into all 51 languages and stored as JSONB in PostgreSQL:

{
  "en": "mountain",
  "es": "montaña",
  "fr": "montagne",
  "haw": "mauna"
}

See Database Architecture for the JSONB storage strategy.

Locale-Based Language Selection

Rather than presenting all 51 languages to every user, KanjiIQ uses intelligent locale detection to show only relevant languages. A user in Brazil sees Portuguese, Spanish, and English by default, while a user in Japan sees Japanese, English, Chinese, and Korean.

See Locale Detection for the full detection system.