Přeskočit na obsah

Překlady šablon

Šablonu můžete posílat ve více jazycích. Má jeden výchozí jazyk a až 29 jazykových verzí (překladů). ID šablony je ve všech jazycích stejné – váš kód jen řekne, jaký jazyk chce, třeba locale: 'de', a Frontmail vybere správnou verzi.

Nejste omezeni na osm jazyků dashboardu: použít můžete jakýkoli jazyk zapsaný značkou BCP 47, například hu, nl nebo pt-BR.

Co se překládá a co je společné

Sekce “Co se překládá a co je společné”

Každá jazyková verze má vlastní:

  • Předmět,
  • HTML tělo,
  • Textovou verzi (automaticky vygenerovanou z HTML překladu, nebo napsanou ručně),
  • Jméno odesílatele – nepovinné; když ho necháte prázdné, použije se jméno z výchozího jazyka.

Všechno ostatní se nastavuje jednou, ve výchozím jazyce, a sdílejí to všechny jazyky: příjemci (Komu, CC, BCC, Odpovědět na), E-mail odesílatele, parametry, Při uložení vložit CSS do prvků, služba, nastavení ochrany, přílohy, automatická odpověď i sběr kontaktů.

Je to záměr: bezpečnostní pravidla šablony – dynamičtí příjemci a zamčený obsah, pevná pole odesílatele a validace parametrů – jsou na jednom místě, takže je žádný překlad nemůže oslabit. Jazyková verze smí používat jen parametry, které existují ve výchozím jazyce.

Přidávat a upravovat překlady smí role Vlastník, Admin a Vývojář.

  1. Otevřete šablonu. Nad kartami editoru je lišta Jazyky s výchozím jazykem (štítek Výchozí) a s jedním čipem pro každou jazykovou verzi.
  2. Klikněte na Přidat jazyk.
  3. V poli Jazyk vyberte jazyk ze seznamu nebo napište jeho kód (např. pt-BR) a zvolte Použít „pt-BR“.
  4. V části Začít z vyberte:
    • Kopie výchozího jazyka – text přeložíte sami,
    • Strojový překlad – přeloží ho služba s vlastním klíčem vaší organizace (viz Strojový překlad); pokud máte nastavených víc služeb, zvolte Službu,
    • Prázdná – začnete s prázdným předmětem a HTML.
  5. Klikněte na Přidat jazyk, obsah přeložte nebo zkontrolujte a klikněte na Uložit.

Dokud nový jazyk neuložíte, je to jen koncept (štítek nový). Strojový překlad vychází z uloženého výchozího jazyka – neuložené změny v něm nebudou.

Kliknutím na jazyk v liště Jazyky přepnete editor do tohoto jazyka. Editor ukáže Upravujete překlad: … a funguje jako obvykle:

  • Obsah – předmět a karty HTML, Vizuální a Text upravují překlad. Ukázková data a náhled jsou společné a náhled vykreslí překlad přesně tak, jak odejde. Parametry jsou tu jen pro čtení (Parametry sdílejí všechny jazyky. Upravte je ve výchozím jazyce.).
  • Nastavení – k překladu patří jen předmět, Jméno odesílatele a nastavení textové verze; společná pole mají poznámku Sdílené všemi jazyky.
  • Kód pro web a Poslat test mají pole Jazyk, takže si kód zkopírujete nebo testovací e-mail pošlete v libovolném jazyce.

Kontroly navíc porovnávají překlad s výchozím jazykem: parametr, který je jen v překladu, je chyba (nejdřív ho přidejte do výchozího jazyka), parametr použitý ve výchozím jazyce, který v překladu chybí, je upozornění.

Štítky Zastaralý a Strojový

Sekce “Štítky Zastaralý a Strojový”
  • Zastaralý – výchozí jazyk se od uložení překladu znovu uložil, takže překladu může něco chybět. Odesílání funguje dál. Překlad upravte a uložte, nebo – pokud pořád sedí – klikněte na Označit jako aktuální.
  • Strojový – uložená verze vznikla strojovým překladem. Než se na ni spolehnete, zkontrolujte ji.

Když máte vybraný překlad, nabízí lišta také Přeložit znovu (nový strojový překlad uloženého výchozího jazyka; nic se neuloží, dokud nekliknete na Uložit) a Smazat jazyk. Se smazaným jazykem zmizí i jeho verze a e-maily, které si ho vyžádají, odejdou ve výchozím jazyce.

Každé uložení překladu vytvoří jeho novou verzi – každý jazyk má vlastní číslování. Když máte vybraný překlad, karta Verze ukazuje Verze překladu … se sloupci Vychází z (verze výchozího jazyka, ke které byl překlad uložen) a Původ (Ruční nebo Strojový). Verze porovnáte a starší Obnovíte stejně jako u výchozího jazyka.

Každá zpráva si pamatuje jazyk i verzi překladu, se kterou byla vykreslená. Pozdržené e-maily v hold frontě odejdou s verzemi, které byly aktuální, když je Frontmail přijal.

Změna výchozího jazyka

Sekce “Změna výchozího jazyka”

Výchozí jazyk najdete v Nastavení → Obecné → Výchozí jazyk. Zvolit můžete jakýkoli jazyk kromě takového, který už má jazykovou verzi – tu nejdřív smažte.

Jazyk vždy výslovně určuje odesílatel. Frontmail ho neodhaduje z prohlížeče (Accept-Language) – pokud chcete jazyk návštěvníka, předejte ho sami.

Pro požadované locale Frontmail použije:

  1. bez locale → výchozí jazyk,
  2. přesnou shodu (na velikosti písmen nezáleží) → tento jazyk,
  3. stejný základní jazyk → de-AT dostane de; pt dostane verzi pt-…, třeba pt-BR,
  4. jinak → výchozí jazyk.

Neznámý jazyk není chyba – locale je jen přání. Odmítne se jen chybně zapsaná značka (např. "german!"), a to chybou 400 invalid_body.

Odpověď prozradí, který jazyk se skutečně použil:

{ "message_id": "msg_…", "status": "queued", "status_token": "…", "locale": "de" }

Přidejte locale do POST /v1/send (a do každé zprávy v POST /v1/send-batch):

{
"template_id": "tpl_01J9…",
"template_params": { "name": "Jana" },
"locale": "de"
}

POST /v1/send-form používá vyhrazené pole formuláře fm_locale. Pole s názvem locale zůstává běžným parametrem šablony, takže stávající formuláře fungují dál:

<select name="fm_locale">
<option value="cs">Čeština</option>
<option value="de">Deutsch</option>
</select>

Všechna SDK mají volbu locale a použitý jazyk vrací v result.locale.

Prohlížeč (@frontmail/browser) – sendForm ho pošle jako fm_locale; vlastní pole fm_locale ve formuláři má přednost:

const result = await send('svc_01J9…', 'tpl_contact', { name: 'Jana' }, { locale: 'de' });
await sendForm('svc_01J9…', 'tpl_contact', '#contact', { locale: document.documentElement.lang });
console.log(result.locale); // 'de'

React (@frontmail/react) – prop locale komponenty <FrontmailForm>, nebo options.locale u send / sendForm. Vue a Svelte fungují stejně:

<FrontmailForm serviceId="svc_01J9…" templateId="tpl_contact" locale="de">…</FrontmailForm>
const { send } = useSendEmail('svc_01J9…', 'tpl_contact');
await send({ name: 'Jana' }, { locale: 'de' });

Node.js (@frontmail/node):

const { locale } = await frontmail.send({ templateId: 'tpl_order', params: { order_id: 'A-1042' }, locale: 'de' });
await frontmail.sendBatch([{ templateId: 'tpl_reminder', params: { name: 'Jana' }, locale: 'cs' }]);

Android / Kotlin (dev.frontmail:frontmail):

val result = frontmail.send(
"tpl_contact",
mapOf("name" to name),
options = SendOptions(locale = Locale.getDefault().toLanguageTag()),
)
println(result.locale) // "de"

iOS / Swift (Frontmail pro Swift) – použijte Locale.preferredLanguages.first (např. de-AT); Locale.current.identifier obsahuje _ a platnou značkou není:

let result = try await frontmail.send(
templateID: "tpl_contact",
params: ["name": "Jan"],
options: SendOptions(locale: Locale.preferredLanguages.first)
)
print(result.locale ?? "default") // "de"

Flutter / Dart (frontmail) – použijte toLanguageTag() (např. de-AT); Locale.toString() používá _ a platnou značkou není:

final result = await frontmail.send(
templateId: 'tpl_contact',
params: {'name': 'Jan'},
options: SendOptions(locale: Localizations.localeOf(context).toLanguageTag()),
);
print(result.locale ?? 'default'); // "de"

V React Native použijte send(params, { locale: 'de' }) z useSendEmail. npx frontmail types vypíše jazyky každé šablony a vygeneruje pro ně typ – viz Node.js.

Automatické odpovědi, opětovné odeslání a EmailJS

Sekce “Automatické odpovědi, opětovné odeslání a EmailJS”
  • Automatická odpověď se řídí jazykem původní zprávy: šablona automatické odpovědi si pro tento jazyk vybere vlastní jazykovou verzi podle stejných pravidel (a případně použije svůj výchozí jazyk).
  • Odeslat znovu v Historii pošle zprávu znovu ve stejném jazyce, s aktuální verzí překladu. Pokud byl mezitím jazyk smazán, použije se výchozí jazyk.
  • Cesty kompatibilní s EmailJS (/api/v1.0/email/…) a @frontmail/emailjs-compat posílají vždy výchozí jazyk.

Formátování se řídí jazykem e-mailu

Sekce “Formátování se řídí jazykem e-mailu”

E-mail se vykreslí v jazyce, ve kterém odchází. formatDate, formatNumber a formatMoney formátují data, čísla a částky pro tento jazyk (německá verze vypíše 1. Oktober 2026 a 49,00 €). Patička Odesláno přes Frontmail v tarifu Free je v jazyce e-mailu, pokud je to jeden z osmi jazyků dashboardu, jinak v angličtině.

Frontmail vám šablonu přeloží pomocí OpenAI, Anthropic, Google Gemini nebo DeepL – a to s vlastním API klíčem vaší organizace („bring your own key“). Frontmail nikdy nepřekládá na svůj účet a strojový překlad nestojí žádné kredity Frontmailu; za použití vám účtuje přímo daná služba.

Strojový překlad se nikdy nespouští sám: proběhne jen tehdy, když v dialogu Přidat jazyk zvolíte Strojový překlad nebo kliknete na Přeložit znovu. Výsledkem je koncept, který před uložením zkontrolujete.

Jak nastavit klíč služby

Sekce “Jak nastavit klíč služby”

Přidávat a měnit klíče smí jen Vlastník a Admin. Vývojář vidí, které služby jsou nastavené (jen pro čtení), a může je k překladu používat.

  1. Otevřete Nastavení → Strojový překlad.
  2. U služby klikněte na Přidat klíč. Odkaz Získat klíč … otevře stránku s klíči dané služby.
  3. Vložte API klíč. U OpenAI, Anthropic a Gemini můžete vyplnit Model (nepovinné); když ho necháte prázdný, použije se výchozí model služby. DeepL volbu modelu nemá.
  4. Klikněte na Uložit klíč. Před uložením klíč ověříme malým požadavkem na službu.

Máte-li víc služeb, tlačítkem Nastavit jako výchozí určíte, která bude předvybraná. U každé nastavené služby najdete Nahradit klíč a Odebrat; po odebrání klíče zůstanou už uložené překlady beze změny.

Klíč ukládáme šifrovaně a už ho nikdy nezobrazíme – dashboard ukazuje jen jeho poslední čtyři znaky. Každou změnu zaznamená Audit log.

Jen předmět, HTML, textová verze a jméno odesílatele uloženého výchozího jazyka – textová verze jen tehdy, když je psaná ručně (automatická se vygeneruje z přeloženého HTML). Nic dalšího Frontmail neopustí: žádní příjemci, hodnoty parametrů, ukázková data, kontakty ani historie zpráv. Požadavek jde ze serverů Frontmailu přímo na oficiální API služby a na obsah se vztahují podmínky dané služby.

Jak se výsledek kontroluje

Sekce “Jak se výsledek kontroluje”

Frontmail službu žádá, aby výrazy Handlebars ({{name}}, {{#if …}}), HTML značky a atributy, odkazy a e-mailové adresy nechala beze změny, a výsledek pak ověří: překlad musí obsahovat přesně stejné výrazy Handlebars a stejné adresy odkazů a obrázků jako zdroj. Pokud ne, výsledek se zahodí s hláškou Strojový překlad změnil parametry, odkazy nebo strukturu HTML, a proto nebyl použit. (translation_invalid) – zkuste to znovu nebo s jinou službou. Nic se neuloží napůl.

Další chyby: translation_not_configured (není nastavený klíč), translation_provider_auth (služba klíč odmítla) a translation_provider_error (služba selhala – zkuste to později).

  • 30 strojových překladů za hodinu na organizaci.
  • 60 000 znaků zdrojového obsahu na jeden překlad; delší šablony dostanou payload_too_large.
  • Překlad musí doběhnout do 60 sekund.
  • Náklady účtuje služba účtu, ke kterému klíč patří. Překládání nespotřebovává kredity Frontmailu a odeslání přeloženého e-mailu stojí stejně jako každý jiný – jeden kredit.
  • 30 jazyků na šablonu – výchozí jazyk a 29 jazykových verzí.
  • Pro jazykovou verzi platí stejné limity velikosti jako pro obsah šablony.
  • Značka jazyka může mít nejvýš 35 znaků.

Exportovat (.json) zahrne všechny jazykové verze a Importovat je v nové šabloně znovu vytvoří. Starší exporty bez jazykových verzí se importují stejně jako dřív.