Home / Models / translate-windy-nano

Multilingual translation model translate-windy-nano

One CTranslate2 INT8 model for many language directions, fine-tuned by Windstorm Labs from facebook/m2m100_418M.

Task
Translation (multilingual)
Lineage
M2M-100
Format
CTranslate2 (INT8)
Hugging Face
WindyWord/translate-windy-nano
Last updated on HF
2026-07-27

Quality (as published in the model card)

FLORES-200 devtest, 1012 sentences per pair, beam 4. These numbers come from the Hugging Face model card; this site has not re-measured them, and they use a different setup from our pair screening (devtest, 1,012 sentences, spBLEU and chrF), so do not compare them directly with pair scores.

PairspBLEUchrF
English → Spanish25.9351.28
English → French43.5163.99
English → German33.4557.42
English → Italian28.5953.95
English → Portuguese44.7665.26
English → Russian29.6650.98
English → Chinese23.3126.63
English → Japanese19.7432.34
English → Korean16.9630.25
English → Arabic30.6851.15
English → Hindi29.0051.04
English → Swahili19.9948.30
Spanish → English26.8054.61
French → English39.9262.87
Chinese → English22.1150.57
Japanese → English21.2149.65
Mean28.4850.02

Covers 74 of the 76 languages in the Windy translation set. Telugu and Basque are not covered.

How to run

Shell
pip install ctranslate2 transformers sentencepiece huggingface_hub
Python
import ctranslate2
from huggingface_hub import snapshot_download
from transformers import AutoTokenizer

path = snapshot_download("WindyWord/translate-windy-nano")
tok = AutoTokenizer.from_pretrained(path)   # the tokenizer ships in the repo
translator = ctranslate2.Translator(path, device="cpu", compute_type="int8")

tok.src_lang = "en"
source = tok.convert_ids_to_tokens(tok.encode("Where is the train station?"))
target_prefix = [tok.convert_ids_to_tokens(tok.get_lang_id("es"))]
result = translator.translate_batch([source], target_prefix=[target_prefix], beam_size=4)
print(tok.decode(tok.convert_tokens_to_ids(result[0].hypotheses[0][1:])))

Tested: Pattern run on 2026-10-01 against WindyWord/translate-windy-nano with ctranslate2 4.8.2 and transformers 5.18.0 on CPU. Same code path as translate-windy-core. Not run on every model individually.

Licence and attribution

Licence
MIT
Upstream
facebook/m2m100_418M
Upstream licence
MIT
Attribution
Based on facebook/m2m100_418M (M2M-100) by Meta Platforms, Inc. Licensed MIT.

Copy this into your NOTICE file (or equivalent) when you ship the model:

NOTICE
This product uses the model WindyWord/translate-windy-nano
(https://huggingface.co/WindyWord/translate-windy-nano), published by Windstorm Labs (https://windstormlabs.com).
Based on facebook/m2m100_418M (M2M-100) by Meta Platforms, Inc. Licensed MIT.
Windstorm Labs modified the upstream weights; the model card describes what was changed.
Licensed under the MIT License: https://opensource.org/license/mit

This is a convenience, not legal advice. See Licensing.