LM-Kit OneDocs2026.8.10lm-kit.com
Models

Working Across Languages

Teams choose local AI for data sovereignty, and those teams are disproportionately not English-first. This guide is the multilingual map: which model families hold up outside English, the endpoints built for language work, what to expect from OCR, transcription, and search on non-English corpora, and how to prove quality in YOUR language instead of assuming it.


1Chat models outside English#

Language coverage is a property of the model, not the server: the server runs whatever you pull, and the catalog states each model's coverage in its description. Among the current families, the Qwen3.5 dense models (qwen3.5:0.8b through qwen3.5:27b) state coverage of 200+ languages, and the later Qwen generations (qwen3.6:27b, qwen3.6:35b-a3b, qwen3.8:27b) build on that lineage. The Gemma 4 family (gemma4:e2b, gemma4:e4b, gemma4:12b, gemma4:26b-a4b, gemma4:31b) states coverage of over 140 languages. Where a model's description says nothing about languages, assume nothing.

Two honest caveats. First, "supports N languages" is a coverage claim, not a quality claim: fluency, terminology, and instruction-following degrade unevenly outside a model's best-represented languages, and they degrade faster in small models. Second, no published number predicts your language and your domain together; a model excellent in German chat may still fumble German legal terminology. The remedy for both is the same: measure on your own material before standardizing.

2The language endpoints#

Two native endpoints treat language itself as the task, and two more carry a cross-lingual lever. All of them accept whole documents, not just strings (the shapes are in the API reference, the toolbox overview in Text Analysis):

Endpoint Does The multilingual lever
POST /lmkit/v1/detect-language Identifies the language, with a confidence score languages restricts the candidate set when you know the plausible options, which sharpens routing
POST /lmkit/v1/translate Translates text or whole documents (PDF, HTML, DOCX, PPTX, XLSX, EML, MBOX, and images when the model has vision), structure preserved guidance steers terminology, proper-name handling, and register, applied to every chunk so long documents stay consistent
POST /lmkit/v1/summarize Summarizes target_language produces the summary in another language: a mixed-language archive reads in one language without a separate translation pass
POST /lmkit/v1/extract-keywords Extracts the carrying terms target_language yields keywords in the language your tagging system uses

Models resolve like everywhere else: the request's model, or the default slot for the capability. A capable general chat model translates well, and the same measure-first rule from section 1 picks the right size; translating an image requires a vision-capable model, and the request fails plainly when the model has none.

Detection in front, language-specific handling behind: detect, then route to translation, a language-matched prompt, or a per-language index. That composition is the inbox-triage and cross-language-corpus pattern in Text Analysis.

3Documents and OCR beyond English#

The document pipeline is language-agnostic on the format side; recognition quality on scans is where language enters. Two things to know:

  • The languages parameter on OCR requests narrows the recognition alphabet when you know the corpus language, which helps precision; the engine itself is configured in the OCR section.
  • The catalog's document-parsing models differ in script strength. glm-ocr states recognition across multiple languages; paddleocr-vl-1.6:0.9b is notably strong on Chinese text, including ancient documents and rare characters; infinity-parser2-flash targets low-latency document parsing. For non-Latin scripts especially, run a few of your own pages through the candidates before committing a batch.

Downstream analysis (classification, entities, PII, extraction) then works on whatever text recognition produced, so OCR quality in your language bounds everything behind it. Spot-check the recognized text first when a downstream result looks wrong.

4Transcription across languages#

Transcription runs on the Whisper family (whisper-tiny through whisper-large-turbo3), which transcribes many languages; the larger variants are the multilingual workhorses (the catalog states multilingual coverage explicitly for whisper-large2). Accuracy varies by language as well as by model size, and the two interact: a size that is fine for English voicemails may not be fine for accented regional speech in your language. Test two or three sizes on your own recordings before picking one, and read the response's confidence score as a triage signal, not a guarantee.

5Cross-language search and retrieval#

Semantic search can bridge languages when the embedding model was trained to: index in German, query in English, and matching happens in a shared vector space. The catalog carries several embedding models with stated multilingual coverage:

  • qwen3-embedding:0.6b / qwen3-embedding:4b / qwen3-embedding:8b: multilingual retrieval across the series; the 8B flagship states cross-lingual embeddings explicitly.
  • bge-m3: over 100 languages, with inputs up to 8,192 tokens; its companion bge-m3-reranker scores query-document pairs across the same range.
  • embeddinggemma-300m: 100+ languages in a compact, CPU-friendly model.
  • harrier-oss:0.6b: 90+ languages, including bitext mining.

The embedding model is a tenant-level choice, and changing it mid-corpus is a full re-embed, so decide before bulk-indexing. Full-text search is language-sensitive too: the tenant's normalization settings (case folding, diacritics, stemming) decide whether "Straße" and "Strasse" meet, and BM25 ranking is stemming-aware per language (Querying and Relevance). For mixed-language corpora, hybrid mode plus a multilingual embedder is the strong default; then prove it with golden sets whose queries are written in the languages your users actually type (Measuring Search Quality).

6Prompting: which language where#

The general craft of prompting compact local models is Prompting Local Models; this is the language-specific layer, honestly bounded because behavior varies by model:

  • State the answer language explicitly. "Answer in French" in the system prompt is more reliable than expecting the model to mirror the user, and small models drift toward English under pressure. Make the language a stated instruction, not an inference.
  • The system prompt can be English even when the traffic is not. Current instruction-tuned models follow English instructions while conversing in another language, and English prompts are easier to maintain against most prompt-engineering references. The reverse also works: write the system prompt in the language you can review most precisely, because a subtly wrong prompt costs more than a foreign-language one.
  • Domain terminology belongs in the prompt in the TARGET language. If the model must say "Rechnungsabgrenzungsposten", show it the word; do not trust translation-on-the-fly for terms of art. The same lever exists on /lmkit/v1/translate as guidance.
  • Whatever you choose, freeze it and measure it. A prompt-language change is a variable like any other: same sample, one change, fixed seed (the method).

7Per-language evaluation#

Everything above ends at the same place: build a labeled sample PER LANGUAGE that matters to you, not one English sample plus hope. Thirty to a hundred real items per task and language ranks models, validates OCR, and catches the regressions that coverage claims hide. Where a compact model is close but not there in your language, fine-tuning on your own corrected outputs is the escalation path that keeps the deployment local and the model small.

8Stated plainly#

  • Language coverage is a model property; the catalog states it per model, and coverage is not quality.
  • Detection, translation with terminology guidance, and cross-lingual summarization are native endpoints that accept whole documents.
  • Cross-language retrieval works when the tenant's embedding model is multilingual; decide before indexing, prove with golden sets in your users' languages.
  • State the answer language explicitly in prompts; measure per language on your own material, because no published claim predicts your domain in your language.