TranslateGemma-WebGPU / src /constants.ts
nico-martin's picture
nico-martin HF Staff
added model facts
82a3cd7
Raw History Blame
3.67 kB
export const LANGUAGES = [
{ code: "ar_EG", name: "Arabic (Egypt)" },
{ code: "ar_SA", name: "Arabic (Saudi Arabia)" },
{ code: "bg_BG", name: "Bulgarian" },
{ code: "bn_IN", name: "Bengali" },
{ code: "ca_ES", name: "Catalan" },
{ code: "cs_CZ", name: "Czech" },
{ code: "da_DK", name: "Danish" },
{ code: "de_DE", name: "German" },
{ code: "el_GR", name: "Greek" },
{ code: "en", name: "English" },
{ code: "es_XX", name: "Spanish" },
{ code: "et_EE", name: "Estonian" },
{ code: "fa_IR", name: "Persian" },
{ code: "fi_FI", name: "Finnish" },
{ code: "fil_PH", name: "Filipino" },
{ code: "fr_CA", name: "French (Canada)" },
{ code: "fr_FR", name: "French" },
{ code: "gu_IN", name: "Gujarati" },
{ code: "he_IL", name: "Hebrew" },
{ code: "hi_IN", name: "Hindi" },
{ code: "hr_HR", name: "Croatian" },
{ code: "hu_HU", name: "Hungarian" },
{ code: "id_ID", name: "Indonesian" },
{ code: "is_IS", name: "Icelandic" },
{ code: "it_IT", name: "Italian" },
{ code: "ja_JP", name: "Japanese" },
{ code: "kn_IN", name: "Kannada" },
{ code: "ko_KR", name: "Korean" },
{ code: "lt_LT", name: "Lithuanian" },
{ code: "lv_LV", name: "Latvian" },
{ code: "ml_IN", name: "Malayalam" },
{ code: "mr_IN", name: "Marathi" },
{ code: "nl_NL", name: "Dutch" },
{ code: "no_NO", name: "Norwegian" },
{ code: "pa_IN", name: "Punjabi" },
{ code: "pl_PL", name: "Polish" },
{ code: "pt_BR", name: "Portuguese (Brazil)" },
{ code: "pt_PT", name: "Portuguese (Portugal)" },
{ code: "ro_RO", name: "Romanian" },
{ code: "ru_RU", name: "Russian" },
{ code: "sk_SK", name: "Slovak" },
{ code: "sl_SI", name: "Slovenian" },
{ code: "sr_RS", name: "Serbian" },
{ code: "sv_SE", name: "Swedish" },
{ code: "sw_KE", name: "Swahili" },
{ code: "sw_TZ", name: "Swahili (Tanzania)" },
{ code: "ta_IN", name: "Tamil" },
{ code: "te_IN", name: "Telugu" },
{ code: "th_TH", name: "Thai" },
{ code: "tr_TR", name: "Turkish" },
{ code: "uk_UA", name: "Ukrainian" },
{ code: "ur_PK", name: "Urdu" },
{ code: "vi_VN", name: "Vietnamese" },
{ code: "zh_CN", name: "Chinese (Simplified)" },
{ code: "zh_TW", name: "Chinese (Traditional)" },
{ code: "zu_ZA", name: "Zulu" },
] as const;
export const LANGUAGES_WITH_AUTO = [
{
code: "auto",
name: "Auto",
},
...LANGUAGES,
] as const;
export type LanguageCode = (typeof LANGUAGES_WITH_AUTO)[number]["code"];
export const getLanguageName = (code: LanguageCode): string => {
return LANGUAGES.find((lang) => lang.code === code)?.name || code;
};
export const MODEL_FACTS = [
"TranslateGemma 4B runs entirely in your browser. Your text never leaves your device.",
"Google's 4B model rivals the translation quality of models 3x its size, thanks to knowledge distilled from Gemini.",
"TranslateGemma's quality was refined using an ensemble of AI judges that score translations for accuracy and fluency.",
"Evaluated on 55 languages, but trained on nearly 500 language pairs, including many languages AI usually ignores.",
"Bengali has 300 million speakers but limited AI training data. TranslateGemma helps bridge this gap.",
"Built on Gemma 3, the same foundation Google uses across its AI products but fine-tuned specifically for translation.",
"The 4B model was designed for phones and edge devices. Google optimized it to run where cloud access isn't guaranteed.",
"Frozen embeddings during training helped TranslateGemma handle scripts and languages not in the training data.",
"TranslateGemma is fully open. Researchers can fine-tune it for their own languages, domains, or specialized terminology.",
] as const;