Localized Keywords
Esta página aún no está disponible en tu idioma.
You can write mashinTalk in your language. Every keyword, type name, and modifier has a native translation, and for head-final languages (Japanese, Korean) the natural word order parses too. Seven locales ship today, with more coming.
The dictionaries below are machine-checked, which is not the same as reviewed by a speaker. None of the six non-English dictionaries has had native-speaker review yet, so treat the spellings as provisional and what they MEAN as settled. What has been checked, and what has not sets out exactly where each locale stands.
Supported Locales
Section titled “Supported Locales”| Locale | Directive | Example |
|---|---|---|
| English | (default, no directive needed) | machine greeter |
| Français | ecrit en francais |
machine greeter |
| Español | escrito en español |
máquina greeter |
| 日本語 | 日本語で記述 |
マシン greeter |
| 中文 | 编写于 中文 |
机器 greeter |
| Deutsch | geschrieben in deutsch |
Maschine 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.
Word Order
Section titled “Word Order”Localization covers word order, not just word choice. Japanese and Korean are head-final: role markers are postpositional particles that bind the phrase before them, and predicates come last. mashinTalk accepts the natural head-final surface and normalizes it to the same canonical machine:
English: compute check when input.score > 80日本語: check を 計算 入力.score > 80 の場合한국어: check 를 계산 입력.score > 80 의때Comparisons read naturally too: input.x is greater than 3 is 入力.xは3より大きい in Japanese and 입력.x는3보다 크다 in Korean. The parsed machine is identical in every locale.
Structure Keywords
Section titled “Structure Keywords”| Canonical | EN | FR | ES | JA | ZH | DE | KO |
|---|---|---|---|---|---|---|---|
| machine | machine | machine | máquina | マシン | 机器 | Maschine | 기계 |
| accepts | accepts | accepte | acepta | 受け取る | 接受 | akzeptiert | 받는다 |
| responds with | responds with | répond avec | responde con | で応答する | 回应 | antwortet mit | 로 응답한다 |
| behaves | behaves | se comporte | se comporta | 振る舞い | 行为 | verhält sich | 동작 |
| ensures | ensures | assure | asegura | 保証 | 确保 | gewährleistet | 보장 |
| achieves | achieves | atteint | logra | 達成 | 达成 | erreicht | 달성 |
| verifies | verifies | vérifie | verifica | 検証 | 验证 | überprüft | 검증 |
| expresses | expresses | expose | expresa | 表現 | 表达 | stellt dar | 표현 |
| stores | stores | stocke | almacena | 格納 | 存储 | speichert | 저장 |
| has | has | a | tiene | 持つ | 具有 | hat | 가진다 |
Step Keywords
Section titled “Step Keywords”| Canonical | EN | FR | ES | JA | ZH | DE | KO |
|---|---|---|---|---|---|---|---|
| compute | compute | calcule | calcula | 計算 | 算 | berechnet | 계산 |
| ask | ask | demande | pregunta | 聞く | 问 | fragt | 묻다 |
| decide | decide | décide | decide | 判断 | 判断 | entscheidet | 결정 |
| recall | recall | rappelle | recuerda | 思い出す | 回忆 | erinnert | 회상 |
| remember | remember | retient | memoriza | 記憶 | 记住 | merkt | 기억 |
| launch | launch | lance | lanza | 起動 | 启动 | startet | 시작 |
| wait for | wait for | suspend | aguarda | 待つ | 等待 | wartet auf | 기다리다 |
| for each | for each | pour chaque | para cada | それぞれ | 每个 | für jedes | 각각 |
Control Flow
Section titled “Control Flow”| Canonical | EN | FR | ES | JA | ZH | DE | KO |
|---|---|---|---|---|---|---|---|
| if | if | si | si | もし | 如果 | wenn | 만약 |
| else | else | sinon | sino | でなければ | 否则 | sonst | 아니면 |
| on failure | on failure | en cas d’échec | en caso de fallo | 失敗時 | 失败时 | bei Fehler | 실패 시 |
Governance
Section titled “Governance”| Canonical | EN | FR | ES | JA | ZH | DE | KO |
|---|---|---|---|---|---|---|---|
| permissions | permissions | autorisations | permisos | 権限設定 | 权限 | Berechtigungen | 권한 |
| allowed to | allowed to | autorisé à | autorizado a | 許可 | 允许 | darf | 허용 |
| not allowed to | not allowed to | interdit de | prohibido | 禁止されている | 禁止 | darf nicht | 금지됨 |
| goal | goal | objectif | objetivo | 目標 | 目标 | Ziel | 목표 |
| never | never | jamais | nunca | 決して | 绝不 | niemals | 금지 |
Test Keywords
Section titled “Test Keywords”| Canonical | EN | FR | ES | JA | ZH | DE | KO |
|---|---|---|---|---|---|---|---|
| test | test | test | prueba | テスト | 测试 | Test | 테스트 |
| given | given | étant donné | dado | 前提 | 给定 | angenommen | 주어진 |
| expect | expect | attend | espera | 期待 | 期望 | erwartet | 기대 |
| assuming | assuming | supposant | asumiendo | 仮定 | 假设 | vorausgesetzt | 가정 |
Field Declarations
Section titled “Field Declarations”Field declarations use locale-specific connectors and type names:
| Component | EN | FR | ES | JA | ZH | DE | KO |
|---|---|---|---|---|---|---|---|
| field as | as | en tant que | como | として | 为 | als | 로 |
| required | required | requis | requerido | 必須 | 必填 | erforderlich | 필수 |
| text type | text | texte | texto | テキスト | 文本 | Text | 텍스트 |
| number type | number | nombre | numero | 数値 | 数字 | Zahl | 숫자 |
| boolean type | boolean | booleen | booleano | 真偽 | 布尔 | Wahrheitswert | 불리언 |
Example: Field Declaration in Each Locale
Section titled “Example: Field Declaration in Each Locale”English: name as text, requiredFrançais: nom en tant que texte, requisEspañol: nombre como texto, requerido日本語: 名前は テキストとして、必須中文: 名字 为 文本, 必填Deutsch: name als Text, erforderlich한국어: 이름은 텍스트로서, 필수Note the head-final forms: in Japanese the topic marker は attaches to the name and として follows the type; in Korean 은/는 attaches to the name and 로서 follows the type. Marking the name with a different particle is a teaching error (the compiler names the correct marker) rather than a guess.
Extension Points
Section titled “Extension Points”A reusable library machine can leave one flow for the machine that includes it to supply, marked at the call site. The marker is a modifier like required, so it is spelled in your language too:
| Component | EN | FR | ES | JA | ZH | DE | KO |
|---|---|---|---|---|---|---|---|
| open flow | is open | est ouvert | es abierto | 開放 | 开放 | ist offen | 개방 |
English: run think, is openFrançais: exécute think, est ouvertEspañol: ejecuta think, es abierto日本語: think, 開放 を 実行中文: 运行 think, 开放Deutsch: führt aus think, ist offen한국어: think, 개방 을 실행Every locale also accepts the English is open, so a machine written before your language had a spelling keeps working. What changes is what the formatter writes back.
Adding a New Locale
Section titled “Adding a New Locale”A mashinTalk locale is data, not code. A head-initial language is a keyword dictionary plus content patterns (type names, modifiers, connectors); a head-final language adds a particle table and a small grammar descriptor. The compiler, runtime, governance, and all tooling work unchanged, and untranslated keywords fall back to English, so a locale can start partial and grow.
To contribute a locale, open a PR with:
- Keyword mappings (structural vocabulary; the first spelling is canonical, extra spellings are accepted aliases)
- Content patterns (type names, modifiers, connectors)
- For head-final languages: particle definitions and the grammar descriptor (word order, comparison words, field and loop forms)
- Localized machines added to the equivalence and execution gates, which prove every feature parses and executes identically to English
Every contribution is held by the same conformance gates that protect the shipped locales. Those gates prove a dictionary means what English means; they cannot tell you whether the words are the right words, which is why a locale’s spellings stay provisional until a speaker has read them.