Gemma 4 E2B Español for Fluent Books (ES3b, Q5_K_M GGUF)
A model for Fluent Books that translates the sentences of a Spanish novel into Russian, on the device. 1,760,370,208 bytes (Q5_K_M), SHA-256 f3083075576a0d0ba31529d6042ca8e3f5e7ff5c5c972c2aa822542376757339. For a device with 6 GB of memory or more; the lighter model for the others is gemma4-e2b-es-compact-fluent-books.
It is not a chat model and not a general translator: it answers one question, the app's "translate this sentence from a novel" (prompt below).
How it was made
google/gemma-4-E2B-itwith its vocabulary cut to 48,000 tokens for Spanish and Russian.- LoRA fine-tune on 38,336 rows (sentences of public-domain Spanish novels translated by larger Gemma and Claude agents, checked rows for traps, set expressions, collocations and names) — ES2.
- ES2 trained one more epoch on 15,157 rows: 1,657 judged rows with set expressions, 1,500 rows that tell whether an expression is used in a sentence, and 12,000 rows of the earlier data — ES3b (this model).
- Merged and quantized to Q5_K_M.
What it does, measured (our own sets, 6–7 Nov 2026; two judges, a translation counts only if both mark it right; the file as the app runs it)
| ES3b | light model | Apple Translation | |
|---|---|---|---|
| 87 set expressions the model never saw (Buitrago, DLE) | 56 (64 %) | 43 (49 %) | 39 (45 %) |
| 161 set expressions and idioms (our set; ES2: 106) | 113 (70 %) | — | — |
| 143 proverbs in sentences of novels (Sbarbi) | 64 (45 %) | 48 (34 %) | 42 (29 %) |
| FLORES-200 es→ru, chrF++ (1,012 sentences, greedy) | 44.41 | 39.53 | — |
The earlier version ES2 got 364 of 454 (80 %) on our six sets of traps (gender, address, aspect, ser/estar, clitics …), expressions, collocations and names; On the other measurements ES3b is level with ES2 (FLORES chrF++ 44.41 against 44.43; choice of a word's meaning 340 against 341 of 418; proverbs 64 against 69 of 143, not a significant difference) and better on expressions it had not seen (6 against 0 differing rows, p = 0.03, on the 87 expressions; 11 against 4 on the 161).
Memory (llama.cpp, CPU, a 2,048-token context, one sentence): about 2.2 GB. On a device with Metal not measured.
What it does not do well
- Proverbs. Fewer than half are rendered as a Russian saying; the rest come out word for word.
- Slang (a check of 31 sentences from a slang dictionary: about a quarter right, for ES2 and the earlier ES3), regional words, and very long sentences.
- Only the sentence is translated. The model does not choose the meaning of a word or explain it (the app has no Spanish dictionary yet).
- A small model can fall into Latin letters inside a Russian word; the app forbids tokens of plain Latin letters in the answer. Our measurements used the same ban.
- Our sets are small and ours; the judges were language-model agents.
Training data
- Sentences from public-domain Spanish novels (Project Gutenberg), translated by Claude and Gemma agents.
- Wiktionary and Wikipedia (CC BY-SA) as a source of phrases, forms and word frequencies.
- Phrase lists and labels from licensed learner's and phraseological dictionaries and idiom books owned by the authors. The books' text is not distributed here.
- No sentence of our evaluation sets was trained on.
Use
llama.cpp (a build that knows Gemma 4). Gemma 4 turns, no thinking:
<bos><|turn>system
You are a literary translator from Spanish into Russian.<turn|>
<|turn>user
Translate this sentence from a novel into natural Russian. Keep its meaning exactly; output only the translation.
<the Spanish sentence><turn|>
<|turn>model
Base model: Google's Gemma 4 E2B (Apache-2.0); thanks to the Gemma team.