Aller au contenu
Developer Preview — APIs and language features may change before 1.0

Localized Keywords

Ce contenu n’est pas encore disponible dans votre langue.

You can write mashinTalk in your language. Every keyword, type name, and modifier has a native translation. Seven locales ship today, with more coming.

Supported Locales

LocaleDirectiveExample
English(default, no directive needed)machine greeter
Françaisecrit en francaismachine greeter
Españolescrito en españolmáquina greeter
日本語で書かれた 日本語マシン greeter
中文编写于 中文机器 greeter
Deutschgeschrieben in deutschMaschine greeter
한국어로 작성됨 한국어기계 greeter

Place the written in directive on the first line of your .mashin file. All keywords after that line are resolved from that locale’s dictionary.

Structure Keywords

CanonicalENFRESJAZHDEKO
machinemachinemachinemáquinaマシン机器Maschine기계
acceptsacceptsaccepteacepta受け取る接受akzeptiert받는다
responds withresponds withrépond avecresponde conで応答する回应antwortet mit로 응답한다
implementsimplementsimplémenteimplementa実装实现implementiert구현
ensuresensuresassureasegura保証确保gewährleistet보장
achievesachievesatteintlogra達成达成erreicht달성
verifiesverifiesvérifieverifica検証验证überprüft검증
expressesexpressesexposeexpresa表現表达stellt dar표현
storesstoresstockealmacena格納存储speichert저장
hashasatiene持つ具有hat가진다

Step Keywords

CanonicalENFRESJAZHDEKO
computecomputecalculecalcula計算berechnet계산
askaskdemandepregunta聞くfragt묻다
decidedecidedécidedecide判断判断entscheidet결정
recallrecallrappellerecuerda思い出す回忆erinnert회상
rememberrememberretientmemoriza記憶记住merkt기억
launchlaunchlancelanza起動启动startet시작
wait forwait forsuspendaguarda待つ等待wartet auf기다리다
for eachfor eachpour chaquepara cadaそれぞれ每个für jedes각각

Control Flow

CanonicalENFRESJAZHDEKO
ififsisiもし如果wenn만약
elseelsesinonsinoでなければ否则sonst아니면
on failureon failureen cas d’échecen caso de fallo失敗時失败时bei Fehler실패 시

Governance

CanonicalENFRESJAZHDEKO
permissionspermissionsautorisationspermisos権限設定权限Berechtigungen권한
allowed toallowed toautorisé àautorizado a許可允许darf허용
not allowed tonot allowed tointerdit deprohibido禁止されている禁止darf nicht금지됨
goalgoalobjectifobjetivo目標目标Ziel목표
neverneverjamaisnunca決して绝不niemals금지

Test Keywords

CanonicalENFRESJAZHDEKO
testtesttestpruebaテスト测试Test테스트
givengivenétant donnédado前提给定angenommen주어진
expectexpectattendespera期待期望erwartet기대
assumingassumingsupposantasumiendo仮定假设vorausgesetzt가정

Field Declarations

Field declarations use locale-specific connectors and type names:

ComponentENFRESJAZHDEKO
field asasen tant quecomoとしてals
requiredrequiredrequisrequerido必須必填erforderlich필수
text typetexttextetextoテキスト文本Text텍스트
number typenumbernombrenumero数値数字Zahl숫자
boolean typebooleanbooleenbooleano真偽布尔Wahrheitswert불리언

Example: Field Declaration in Each Locale

English: name as text, required
Français: nom en tant que texte, requis
Español: nombre como texto, requerido
日本語: 名前 として テキスト, 必須
中文: 名字 为 文本, 必填
Deutsch: name als Text, erforderlich
한국어: 이름 로 텍스트, 필수

Adding a New Locale

Adding a locale requires mapping approximately 120 keywords and content patterns. The compiler, runtime, governance, and all tooling work unchanged. See the mashinTalk specification for the full keyword list.

To contribute a locale, open a PR with:

  1. Keyword mappings (structural vocabulary)
  2. Content patterns (type names, modifiers, connectors)
  3. Particle definitions (for SOV languages like Japanese and Korean)
  4. Example machines demonstrating every step type