Pravidla

Max PrilutskiyCEO a spoluzakladatel6 min čtení

Pravidlo je jedna konkrétní pojmenovaná jazyková konvence, kterou lokalizační engine používá pro cílový jazyk: „v adresách zkracujte Straße na Str.“, ne „buďte neformálnější“. Pravidla jsou uložená v sadách pravidel — kontejnerech vlastněných organizací, které engine používá po připojení. Díky tomu může jedna sada pravidel řídit každý engine, který ji potřebuje.

Pravidla se dříve nazývala instrukce

V dashboardu se jim říká pravidla a seskupují se do sad pravidel. REST API stále zpřístupňuje jednotlivé pravidlo na /instructions a názvy jeho polí zůstávají beze změny — změnilo se jen to, kam se pravidlo zapisuje: rulesetId nahradilo ownerEngineId.

Jak to funguje#

Sada pravidel patří vaší organizaci, ne enginu. Teprve když ji k enginu připojíte, začnou se její pravidla používat — do enginu se nic nekopíruje.

ObjektPole
Sada pravidelNázev, popis. Může obsahovat libovolný počet pravidel.
PravidloNázev, cílový jazyk (nebo *), text.

Když dorazí požadavek na překlad, engine shromáždí všechna pravidla ve všech připojených sadách pravidel, jejichž cílový jazyk odpovídá hodnotě targetLocale v požadavku, a přidá je do promptu pro LLM spolu s hlasem značky a glosářem. Pravidla si nekonkurují: zahrnou se všechna odpovídající pravidla, seřazená od nejpřesnější shody jazyka, aby byla ta nejkonkrétnější vodítka na začátku.

PolePopis
NázevKrátký štítek, který pravidlo identifikuje (např. „německé formální oslovování“)
Cílový jazykJazyk, na který se toto pravidlo vztahuje, nebo * pro všechny jazyky (Libovolný jazyk v dashboardu)
TextJazykové pravidlo napsané přirozeným jazykem

Více pravidel pro jeden jazyk

Vytvořte tolik pravidel, kolik daný jazyk potřebuje. Každé pravidlo by mělo řešit jednu věc — právě díky tomu se dá samostatně testovat, vyhodnocovat pomocí AI hodnocení pravidel a bezpečně smazat.

Sady pravidel patří organizaci#

AkceDůsledek
Vytvořit sadu pravidelExistuje na úrovni organizace a nic neovlivňuje, dokud ji nepřipojíte
Připojit ji k enginuKaždé pravidlo v ní se použije na překlady tohoto enginu
Připojit ji k několika enginůmStejná pravidla budou řídit všechny — upravíte jednou, každý engine se jimi bude řídit
Připojit několik sad pravidel k jednomu enginuVšechna jejich pravidla se zkombinují
Odpojit ji od enginuEngine ji přestane používat. Sada pravidel i její pravidla zůstanou zachované.
Smazat sadu pravidelDokud ji ještě používá nějaký engine, smazání bude odmítnuto — nejdřív ji odpojte. Smazáním odstraníte i její pravidla.
Smazat engineSady pravidel i pravidla zůstanou. Patří organizaci, ne enginu.

Sady pravidel spravujete v části Infrastructure → Rulesets. Karta Rules v sadě pravidel obsahuje její pravidla; na kartě Settings najdete přehled engine vaší organizace, kde můžete sadu pravidel přiřadit k engine nebo její přiřazení zrušit. Naopak na kartě Settings u engine je sekce Rulesets, která ukazuje, jaké sady pravidel engine používá, a pomocí Add ruleset k němu můžete připojit další.

Předdefinovaná pravidla#

Lingo.dev spravuje katalog hotových pravidel — konvencí pro jednotlivé jazyky, které většina týmů potřebuje, ale málokoho napadne je sepsat. Připojují se přímo k engine, ne přes sadu pravidel, a kdykoli je můžete odpojit.

V dashboardu pro předdefinovaná pravidla není samostatná obrazovka. Katalog můžete procházet a položky připojovat přes API nebo MCP server:

VoláníNástroj MCPÚčel
GET /predefined-instructionspredefinedInstructions_listVypsat katalog
GET /engines/:id/predefined-instructionsengines_listPredefinedInstructionsVypsat předdefinovaná pravidla, která engine používá
PUT /engines/:id/predefined-instructionspredefinedInstructions_setForEngineNahradit sadu pravidel, která engine používá — pošlete úplný seznam ids; vše, co vynecháte, se odpojí
DELETE /engines/:id/predefined-instructions/:predefinedInstructionIdpredefinedInstructions_detachPřestat u engine používat jednu položku
GET /predefined-instructions/:id/engines?organizationId=predefinedInstructions_listEnginesVypsat engine vaší organizace, které používají danou položku

Každá položka katalogu má cílový jazyk, název, popis, type (standard, convention nebo preference) a category. Položky se stejným groupKey představují alternativy pro tentýž jazyk — engine může používat nanejvýš jednu z nich a požadavek, který vybere dvě, bude zamítnut. Připojení i odpojení vyžaduje u engine oprávnění engine:edit; katalog může číst kdokoli přihlášený.

Kurátorovaná pravidla se v promptu řadí před ta vaše, takže pravidlo, které napíšete, základní nastavení zpřesní nebo přepíše, místo aby s ním soupeřilo.

Pravidla vs. hlas značky#

Obojí ovlivňuje výstup překladu, ale každé na jiné úrovni:

Hlas značkyPravidlo
RozsahCelkový tón, styl, formálnostJedno konkrétní jazykové pravidlo
Pro každý jazykJeden text pro každý jazyk, jeden hlas pro každý jazyk a engineVíce pravidel pro jeden jazyk
PoužitíPoužije se jeden nejlépe odpovídající textZkombinují se všechna odpovídající pravidla
Zástupný znakAno (* funguje jako výchozí hlas)Ano (* platí pro všechny jazyky)
Příklad„Používej neformální du, technický tón“„V adresách vždy zkracuj Straße na Str.“

Hlas značky použijte k tomu, abyste určili, jak váš produkt v daném jazyce mluví — formálnost, rejstřík, styl vět.

Pravidla použijte k zachycení konkrétních konvencí, které by model jinak minul — zkratek, interpunkce, formátování jednotek nebo jazykově specifických gramatických vzorců.

Fungují spolu: hlas značky nastavuje celkový projev, pravidla řeší okrajové případy.

Jak psát efektivní pravidla#

Každé pravidlo by mělo být jedno samostatné, jednoznačné tvrzení. Engine zahrnuje celý jeho text do promptu LLM, takže na srozumitelnosti opravdu záleží.

Dobrá pravidla#

text
Always use the Oxford comma in English lists.
text
In Japanese, use full-width parentheses ()instead of half-width ().
text
For German addresses, abbreviate "Straße" to "Str." and
"Nummer" to "Nr."
text
When translating percentage values for French, add a
non-breaking space before the percent sign: 42 %.

Čemu se vyhnout#

  • Vágním doporučením, která se překrývají s hlasem značky („buď neformálnější“) — to patří spíš do hlasu značky
  • Více nesouvisejících konvencí v jednom pravidle — rozdělte je, aby šlo každou testovat samostatně
  • Pravidlům, která jsou v rozporu s glosářem — termíny z glosáře mají v hierarchii enginu přednost

Zástupný jazyk#

Nastavte cílový jazyk na * (Libovolný jazyk v dashboardu), aby se pravidlo použilo napříč všemi jazyky. Hodí se to pro konvence nezávislé na jazyce:

text
Never translate product feature names: "Smart Compose",
"Quick Actions", "Flow Builder".
text
Preserve Markdown formatting in all translated strings.
Keep bold (**), italic (*), and link syntax [text](url) intact.

Když engine zpracovává požadavek, zahrnou se jak pravidla pro konkrétní jazyk, tak pravidla se zástupným znakem — kombinují se, nepřepisují.

Použití pravidel přes API#

Pravidla se použijí automaticky při volání endpointu localize. Engine shromáždí všechna pravidla odpovídající targetLocale požadavku (plus případná pravidla *) ze sad pravidel, které používá, spolu se všemi připojenými předdefinovanými pravidly. Žádné další parametry nejsou potřeba.

VoláníÚčel
POST /rulesetsVytvořit sadu pravidel pro organizaci
GET /organizations/:id/rulesetsVypsat sady pravidel organizace včetně počtu pravidel a enginů
GET /rulesets/:id/rulesVypsat pravidla v sadě pravidel
POST /instructions with rulesetIdPřidat pravidlo do sady pravidel
PUT /engines/:id/rulesetsNahradit sadu sad pravidel, které engine používá
DELETE /engines/:id/rulesets/:rulesetIdPřestat u enginu používat jednu sadu pravidel
GET /engines/:id/instructionsVypsat všechna pravidla, která engine používá prostřednictvím svých sad pravidel (předdefinovaná pravidla jsou uvedená samostatně)

ownerEngineId na POST /instructions stále funguje — zapisuje do vlastní sady pravidel enginu a vytvoří ji, pokud engine žádnou nemá. Doporučujeme ale rulesetId.

Přístup#

org:ruleset:read a org:ruleset:edit řídí sady pravidel i pravidla v nich; připojení jedné z nich k engine také vyžaduje u daného engine oprávnění engine:edit. Oprávnění pro konkrétní sadu pravidel dává uživateli možnost číst a upravovat jednu sadu pravidel místo všech sad pravidel v organizaci; tato oprávnění se nastavují přes API nebo MCP, ne v dashboardu. Viz Role a oprávnění.

Správa pravidel přes MCP#

Pokud používáte Lingo.dev MCP server, váš AI coding assistant může pravidla i sady pravidel vytvářet, upravovat a mazat přímo:

text
"Create a ruleset called German conventions and apply it to
the marketing engine."
text
"Add a rule to that ruleset: always abbreviate Straße to Str.
in addresses."
text
"Add a wildcard rule: never translate the term Smart Compose."
text
"List the predefined rules for German and attach the ones
you recommend to the marketing engine."

Další kroky#