@lokascript/i18n 2.9.2 → 2.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/types.ts","../../src/dictionaries/en.ts","../../src/dictionaries/es.ts","../../src/dictionaries/ko.ts","../../src/dictionaries/zh.ts","../../src/dictionaries/fr.ts","../../src/dictionaries/de.ts","../../src/dictionaries/ja.ts","../../src/dictionaries/ar.ts","../../src/dictionaries/tr.ts","../../src/dictionaries/id.ts","../../src/dictionaries/qu.ts","../../src/dictionaries/sw.ts","../../src/dictionaries/pt.ts","../../src/dictionaries/it.ts","../../src/dictionaries/vi.ts","../../src/dictionaries/pl.ts","../../src/dictionaries/ru.ts","../../src/dictionaries/uk.ts","../../src/dictionaries/hi.ts","../../src/dictionaries/bn.ts","../../src/dictionaries/th.ts","../../src/dictionaries/ms.ts","../../src/dictionaries/tl.ts","../../src/dictionaries/he.ts","../../src/dictionaries/index.ts","../../src/utils/locale.ts","../../src/utils/tokenizer-adapter.ts","../../src/validators/schema.ts","../../src/validators/index.ts","../../src/translator.ts","../../src/plugins/webpack.ts"],"names":["en","es","ja","ko","zh","fr","de","ar","tr","id","pt","qu","sw","it","vi","pl","he","supportedLocales"],"mappings":"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","file":"webpack.cjs","sourcesContent":["// packages/i18n/src/types.ts\n\n/**\n * Dictionary category names as a union type for type-safe access.\n */\nexport type DictionaryCategory =\n | 'commands'\n | 'modifiers'\n | 'events'\n | 'logical'\n | 'temporal'\n | 'values'\n | 'attributes'\n | 'expressions';\n\n/**\n * All valid dictionary categories.\n */\nexport const DICTIONARY_CATEGORIES: readonly DictionaryCategory[] = [\n 'commands',\n 'modifiers',\n 'events',\n 'logical',\n 'temporal',\n 'values',\n 'attributes',\n 'expressions',\n] as const;\n\n/**\n * Dictionary structure for i18n translations.\n * Maps English canonical keywords to locale-specific translations.\n *\n * Note: Index signature removed for stricter type safety.\n * Use DICTIONARY_CATEGORIES to iterate over categories.\n */\nexport interface Dictionary {\n commands: Record<string, string>;\n modifiers: Record<string, string>;\n events: Record<string, string>;\n logical: Record<string, string>;\n temporal: Record<string, string>;\n values: Record<string, string>;\n attributes: Record<string, string>;\n expressions: Record<string, string>;\n}\n\n// =============================================================================\n// Type Guards\n// =============================================================================\n\n/**\n * Type guard to check if a string is a valid dictionary category.\n */\nexport function isDictionaryCategory(key: string): key is DictionaryCategory {\n return DICTIONARY_CATEGORIES.includes(key as DictionaryCategory);\n}\n\n/**\n * Safely get a category from a dictionary with type narrowing.\n * Returns undefined if the category doesn't exist.\n */\nexport function getDictionaryCategory(\n dict: Dictionary,\n category: string\n): Record<string, string> | undefined {\n if (isDictionaryCategory(category)) {\n return dict[category];\n }\n return undefined;\n}\n\n/**\n * Iterate over all categories in a dictionary with proper typing.\n */\nexport function forEachCategory(\n dict: Dictionary,\n callback: (category: DictionaryCategory, entries: Record<string, string>) => void\n): void {\n for (const category of DICTIONARY_CATEGORIES) {\n callback(category, dict[category]);\n }\n}\n\n/**\n * Find a translation in any category of a dictionary.\n * Returns the English key if found, undefined otherwise.\n */\nexport function findInDictionary(\n dict: Dictionary,\n localizedWord: string\n): { category: DictionaryCategory; englishKey: string } | undefined {\n const normalized = localizedWord.toLowerCase();\n for (const category of DICTIONARY_CATEGORIES) {\n const entries = dict[category];\n for (const [english, localized] of Object.entries(entries)) {\n if (localized.toLowerCase() === normalized) {\n return { category, englishKey: english };\n }\n }\n }\n return undefined;\n}\n\n/**\n * Find a translation for an English word in any category.\n * Returns the localized word if found, undefined otherwise.\n */\nexport function translateFromEnglish(dict: Dictionary, englishWord: string): string | undefined {\n const normalized = englishWord.toLowerCase();\n for (const category of DICTIONARY_CATEGORIES) {\n const entries = dict[category];\n const translated = entries[normalized];\n if (translated) {\n return translated;\n }\n }\n return undefined;\n}\n\nexport interface I18nConfig {\n locale: string;\n fallbackLocale?: string;\n dictionaries?: Record<string, Dictionary>;\n detectLocale?: boolean;\n rtlLocales?: string[];\n preserveOriginalAttribute?: string;\n}\n\nexport interface TranslationOptions {\n from?: string;\n to: string;\n preserveOriginal?: boolean;\n validate?: boolean;\n}\n\nexport interface ValidationResult {\n valid: boolean;\n errors: ValidationError[];\n warnings: ValidationWarning[];\n coverage: {\n total: number;\n translated: number;\n missing: string[];\n };\n}\n\nexport interface ValidationError {\n type: 'missing' | 'invalid' | 'duplicate';\n key: string;\n message: string;\n}\n\nexport interface ValidationWarning {\n type: 'unused' | 'deprecated' | 'inconsistent';\n key: string;\n message: string;\n}\n\nexport interface LocaleMetadata {\n code: string;\n name: string;\n nativeName: string;\n rtl: boolean;\n pluralRules?: (n: number) => string;\n}\n\nexport interface TranslationContext {\n locale: string;\n direction: 'ltr' | 'rtl';\n dictionary: Dictionary;\n metadata: LocaleMetadata;\n}\n\nexport type TokenType =\n | 'command'\n | 'modifier'\n | 'event'\n | 'logical'\n | 'temporal'\n | 'value'\n | 'attribute'\n | 'expression'\n | 'identifier'\n | 'operator'\n | 'literal';\n\nexport interface Token {\n type: TokenType;\n value: string;\n translated?: string;\n position: {\n start: number;\n end: number;\n line: number;\n column: number;\n };\n}\n\nexport interface TranslationResult {\n translated: string;\n original?: string;\n tokens: Token[];\n locale: {\n from: string;\n to: string;\n };\n warnings?: string[];\n}\n","// packages/i18n/src/dictionaries/en.ts\n\nimport { Dictionary } from '../types';\n\n/**\n * English dictionary - identity mapping since English is the canonical hyperscript language.\n * This exists primarily for symmetry in translation operations (e.g., en -> es).\n */\nexport const en: Dictionary = {\n commands: {\n // Event handling\n on: 'on',\n tell: 'tell',\n trigger: 'trigger',\n send: 'send',\n\n // DOM manipulation\n take: 'take',\n put: 'put',\n set: 'set',\n get: 'get',\n add: 'add',\n remove: 'remove',\n toggle: 'toggle',\n hide: 'hide',\n show: 'show',\n\n // Control flow\n if: 'if',\n unless: 'unless',\n repeat: 'repeat',\n for: 'for',\n while: 'while',\n until: 'until',\n continue: 'continue',\n break: 'break',\n halt: 'halt',\n\n // Async\n wait: 'wait',\n fetch: 'fetch',\n call: 'call',\n return: 'return',\n\n // Other commands\n make: 'make',\n log: 'log',\n throw: 'throw',\n catch: 'catch',\n measure: 'measure',\n transition: 'transition',\n\n // Data Commands\n increment: 'increment',\n decrement: 'decrement',\n default: 'default',\n\n // Reactivity Commands\n bind: 'bind',\n\n // Realtime / service-worker Commands\n eventsource: 'eventsource',\n socket: 'socket',\n worker: 'worker',\n intercept: 'intercept',\n\n // Navigation Commands\n go: 'go',\n pushUrl: 'pushUrl',\n replaceUrl: 'replaceUrl',\n\n // Utility Commands\n copy: 'copy',\n pick: 'pick',\n beep: 'beep',\n\n // Advanced Commands\n js: 'js',\n async: 'async',\n render: 'render',\n\n // Animation Commands\n swap: 'swap',\n morph: 'morph',\n settle: 'settle',\n\n // Content Commands\n append: 'append',\n\n // Control Flow\n exit: 'exit',\n\n // Behaviors\n install: 'install',\n\n // v0.9.90 Phase 1 — DOM / form state / debug\n open: 'open',\n close: 'close',\n select: 'select',\n clear: 'clear',\n breakpoint: 'breakpoint',\n\n // Other commands with schemas (backfill — pre-existing gaps surfaced by\n // the schema-alignment test)\n prepend: 'prepend',\n clone: 'clone',\n // Navigation/DOM commands added in core (Dec 2025 / Apr 2026)\n scroll: 'scroll',\n push: 'push',\n replace: 'replace',\n process: 'process',\n },\n\n modifiers: {\n to: 'to',\n from: 'from',\n into: 'into',\n with: 'with',\n at: 'at',\n in: 'in',\n of: 'of',\n as: 'as',\n by: 'by',\n before: 'before',\n after: 'after',\n over: 'over',\n under: 'under',\n between: 'between',\n through: 'through',\n without: 'without',\n },\n\n events: {\n click: 'click',\n dblclick: 'dblclick',\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n mouseover: 'mouseover',\n mouseout: 'mouseout',\n mousemove: 'mousemove',\n\n keydown: 'keydown',\n keyup: 'keyup',\n keypress: 'keypress',\n\n focus: 'focus',\n blur: 'blur',\n change: 'change',\n input: 'input',\n submit: 'submit',\n reset: 'reset',\n\n load: 'load',\n unload: 'unload',\n resize: 'resize',\n scroll: 'scroll',\n\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n },\n\n logical: {\n when: 'when',\n where: 'where',\n and: 'and',\n or: 'or',\n not: 'not',\n is: 'is',\n exists: 'exists',\n matches: 'matches',\n contains: 'contains',\n includes: 'includes',\n equals: 'equals',\n has: 'has', // third-person: \"it has .class\", \"#element has .class\"\n have: 'have', // first-person: \"I have .class\"\n then: 'then',\n else: 'else',\n otherwise: 'otherwise',\n end: 'end',\n live: 'live',\n changes: 'changes',\n },\n\n temporal: {\n seconds: 'seconds',\n second: 'second',\n milliseconds: 'milliseconds',\n millisecond: 'millisecond',\n minutes: 'minutes',\n minute: 'minute',\n hours: 'hours',\n hour: 'hour',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n },\n\n values: {\n true: 'true',\n false: 'false',\n null: 'null',\n undefined: 'undefined',\n it: 'it',\n its: 'its',\n me: 'me',\n my: 'my',\n myself: 'myself',\n you: 'you',\n your: 'your',\n yourself: 'yourself',\n element: 'element',\n target: 'target',\n detail: 'detail',\n event: 'event',\n window: 'window',\n document: 'document',\n body: 'body',\n result: 'result',\n value: 'value',\n },\n\n attributes: {\n class: 'class',\n classes: 'classes',\n style: 'style',\n styles: 'styles',\n attribute: 'attribute',\n attributes: 'attributes',\n property: 'property',\n properties: 'properties',\n },\n\n expressions: {\n // Positional\n first: 'first',\n last: 'last',\n next: 'next',\n previous: 'previous',\n prev: 'prev',\n at: 'at',\n random: 'random',\n\n // DOM Traversal\n closest: 'closest',\n parent: 'parent',\n children: 'children',\n within: 'within',\n\n // Emptiness/Existence\n no: 'no',\n empty: 'empty',\n some: 'some',\n\n // String operations\n 'starts with': 'starts with',\n 'ends with': 'ends with',\n 'ignoring case': 'ignoring case',\n\n // Collection operations (v0.9.90)\n 'sorted by': 'sorted by',\n 'mapped to': 'mapped to',\n 'split by': 'split by',\n 'joined by': 'joined by',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const es: Dictionary = {\n commands: {\n on: 'en',\n tell: 'decir',\n trigger: 'disparar',\n send: 'enviar',\n take: 'tomar',\n put: 'poner',\n set: 'establecer',\n get: 'obtener',\n add: 'agregar',\n remove: 'quitar',\n toggle: 'alternar',\n hide: 'ocultar',\n show: 'mostrar',\n if: 'si',\n unless: 'menos',\n repeat: 'repetir',\n for: 'para',\n while: 'mientras',\n until: 'hasta',\n continue: 'continuar',\n break: 'romper',\n halt: 'detener',\n wait: 'esperar',\n fetch: 'buscar',\n call: 'llamar',\n return: 'retornar',\n make: 'hacer',\n log: 'registrar',\n throw: 'lanzar',\n catch: 'atrapar',\n measure: 'medir',\n transition: 'transición',\n increment: 'incrementar',\n decrement: 'decrementar',\n default: 'predeterminar',\n go: 'ir',\n pushUrl: 'pushUrl',\n replaceUrl: 'reemplazarUrl',\n copy: 'copiar',\n pick: 'escoger',\n beep: 'pitido',\n js: 'js',\n async: 'asíncrono',\n render: 'renderizar',\n swap: 'intercambiar',\n morph: 'transformar',\n settle: 'estabilizar',\n append: 'anexar', // profile primary; 'añadir' is add's word (parsed as add)\n exit: 'salir',\n install: 'instalar',\n breakpoint: 'punto-interrupción',\n clear: 'limpiar',\n close: 'cerrar',\n open: 'abrir',\n select: 'seleccionar',\n clone: 'clonar',\n prepend: 'anteponer',\n },\n\n modifiers: {\n to: 'a',\n from: 'de',\n into: 'en',\n with: 'con',\n at: 'en',\n in: 'en',\n of: 'de',\n as: 'como',\n by: 'por',\n before: 'antes',\n after: 'después',\n over: 'sobre',\n under: 'bajo',\n between: 'entre',\n through: 'través',\n without: 'sin',\n },\n\n events: {\n click: 'clic',\n dblclick: 'dobleclic',\n mousedown: 'ratónabajo',\n mouseup: 'ratónarriba',\n mouseenter: 'ratónentrar',\n mouseleave: 'ratónsalir',\n // V3 Batch 2: fused forms split to the S5b/tokenizer-known forms (the fused\n // spellings captured event=expression:undefined — broken listeners)\n mouseover: 'ratón encima',\n mouseout: 'ratón fuera',\n mousemove: 'ratónmover',\n keydown: 'tecla abajo',\n keyup: 'tecla arriba',\n keypress: 'teclapresar',\n focus: 'enfocar',\n blur: 'desenfocar',\n change: 'cambiar',\n input: 'entrada',\n submit: 'envío', // Batch 3: enviar is the send verb — on-submit listener captured event \"send\"\n reset: 'reiniciar',\n load: 'cargar',\n unload: 'descargar',\n resize: 'redimensionar',\n scroll: 'desplazar',\n touchstart: 'toqueempezar',\n touchend: 'toqueterminar',\n touchmove: 'toquemover',\n touchcancel: 'toquecancelar',\n },\n\n logical: {\n when: 'cuando',\n where: 'donde',\n and: 'y',\n or: 'o',\n not: 'no',\n is: 'es',\n exists: 'existe',\n matches: 'coincide',\n contains: 'contiene',\n includes: 'incluye',\n equals: 'iguala',\n has: 'tiene',\n have: 'tengo',\n then: 'entonces',\n else: 'sino',\n otherwise: 'delocontrario',\n end: 'fin',\n live: 'vivo',\n changes: 'cambia',\n },\n\n temporal: {\n seconds: 'segundos',\n second: 'segundo',\n milliseconds: 'milisegundos',\n millisecond: 'milisegundo',\n minutes: 'minutos',\n minute: 'minuto',\n hours: 'horas',\n hour: 'hora',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n },\n\n values: {\n true: 'verdadero',\n false: 'falso',\n null: 'nulo',\n undefined: 'indefinido',\n it: 'ello',\n its: 'su',\n me: 'yo',\n my: 'mi',\n you: 'tu',\n your: 'tu',\n yourself: 'ti mismo',\n myself: 'yo mismo',\n element: 'elemento',\n target: 'objetivo',\n detail: 'detalle',\n event: 'evento',\n window: 'ventana',\n document: 'documento',\n body: 'cuerpo',\n result: 'resultado',\n value: 'valor',\n },\n\n attributes: {\n class: 'clase',\n classes: 'clases',\n style: 'estilo',\n styles: 'estilos',\n attribute: 'atributo',\n attributes: 'atributos',\n property: 'propiedad',\n properties: 'propiedades',\n },\n\n expressions: {\n characters: 'caracteres',\n inclusive: 'inclusivo',\n exclusive: 'exclusivo',\n first: 'primero',\n last: 'último',\n next: 'siguiente',\n previous: 'anterior',\n prev: 'ant',\n at: 'en',\n random: 'aleatorio',\n closest: 'cercano',\n parent: 'padre',\n children: 'hijos',\n within: 'dentro',\n no: 'ningún',\n empty: 'vacío',\n some: 'algún',\n 'starts with': 'empieza con',\n 'ends with': 'termina con',\n 'ignoring case': 'ignorando mayúsculas',\n 'sorted by': 'ordenado por',\n 'mapped to': 'transformado a',\n 'split by': 'dividido por',\n 'joined by': 'unido por',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const ko: Dictionary = {\n commands: {\n on: '에',\n tell: '말하다',\n trigger: '트리거',\n send: '보내다',\n take: '가져오다',\n put: '넣다',\n set: '설정',\n get: '얻다',\n add: '추가',\n remove: '제거',\n toggle: '토글',\n hide: '숨기다',\n show: '보이다',\n if: '만약',\n unless: '아니라면', // distinct from else `아니면` (line ~131) — was a homonym\n repeat: '반복',\n for: '각각', // profile's for word — 동안 is while (collision)\n while: '동안',\n until: '까지',\n continue: '계속',\n break: '중단',\n halt: '정지',\n wait: '대기',\n fetch: '가져오기',\n call: '호출',\n return: '반환',\n make: '만들다',\n log: '로그',\n throw: '던지다',\n catch: '잡다',\n measure: '측정',\n transition: '전환',\n increment: '증가',\n decrement: '감소',\n default: '기본값',\n go: '이동',\n pushUrl: 'URL푸시',\n replaceUrl: 'URL교체',\n copy: '복사',\n pick: '선택',\n beep: '비프',\n js: 'JS실행',\n async: '비동기',\n render: '렌더링',\n swap: '교환',\n morph: '변형',\n settle: '안정',\n append: '덧붙이다', // profile primary; '추가' is add's word (parsed as add)\n // 종료 → 나가기: realigned to the semantic profile primary (ko.ts `exit: 나가기`,\n // whose comment already flags the 종료 end-collision). Rendered as 종료 it\n // tokenized as a plain identifier, so a guard-clause `exit` never parsed.\n exit: '나가기',\n install: '설치',\n breakpoint: '중단점',\n clear: '지우기',\n close: '닫기',\n open: '열기',\n select: '고르기', // Batch 3: 선택 is the pick keyword — bare select rendered with it parses null\n clone: '복제',\n prepend: '앞에추가',\n socket: '소켓',\n },\n\n modifiers: {\n to: '에',\n from: '에서',\n into: '으로',\n with: '와',\n at: '에',\n in: '안에',\n of: '의',\n as: '로',\n by: '에의해',\n before: '전에',\n after: '후에',\n over: '위에',\n under: '아래',\n between: '사이',\n through: '통해',\n without: '없이',\n },\n\n events: {\n click: '클릭',\n dblclick: '더블클릭',\n mousedown: '마우스다운',\n mouseup: '마우스업',\n mouseenter: '마우스엔터',\n mouseleave: '마우스리브',\n mouseover: '마우스오버',\n mouseout: '마우스아웃',\n mousemove: '마우스무브',\n keydown: '키다운',\n keyup: '키업',\n keypress: '키프레스',\n focus: '포커스',\n blur: '블러',\n change: '변경',\n input: '입력',\n submit: '제출',\n reset: '재설정', // Batch 3: 리셋 captured on.event as expression (broken listener) — profile word round-trips\n load: '로드',\n unload: 'unload',\n resize: '리사이즈',\n scroll: '스크롤',\n // V3c burn-down (2026-07-14): English passthrough — no native form round-trips\n // on the parse side (probe: split forms shatter, fused forms capture verbatim).\n touchstart: 'touchstart',\n touchend: '터치종료',\n touchmove: 'touchmove',\n touchcancel: '터치취소',\n },\n\n logical: {\n when: '때',\n where: '어디',\n and: '그리고',\n or: '또는',\n not: '아니',\n is: '이다',\n exists: '존재',\n matches: '일치',\n contains: '포함',\n includes: '포함하다',\n equals: '같다',\n has: '있다',\n have: '있다',\n then: '그러면',\n else: '아니면',\n otherwise: '그렇지않으면',\n end: '끝',\n live: '라이브',\n bind: '바인드',\n changes: '변경되면',\n },\n\n temporal: {\n seconds: '초',\n second: '초',\n milliseconds: '밀리초',\n millisecond: '밀리초',\n minutes: '분',\n minute: '분',\n hours: '시간',\n hour: '시간',\n ms: 'ms',\n s: '초',\n min: '분',\n h: '시',\n },\n\n values: {\n true: '참',\n false: '거짓',\n null: '널',\n undefined: '정의안됨',\n it: '그것',\n its: '그것의',\n me: '나',\n my: '내',\n myself: '나자신',\n you: '너',\n your: '네',\n yourself: '너자신',\n element: '요소',\n target: '대상',\n detail: '세부',\n event: '이벤트',\n window: '창',\n document: '문서',\n body: '바디',\n result: '결과',\n value: '값',\n },\n\n attributes: {\n class: '클래스',\n classes: '클래스들',\n style: '스타일',\n styles: '스타일들',\n attribute: '속성',\n attributes: '속성들',\n property: '프로퍼티',\n properties: '프로퍼티들',\n },\n\n expressions: {\n characters: '문자',\n inclusive: '포함',\n exclusive: '제외',\n first: '첫번째',\n last: '마지막',\n next: '다음',\n previous: '이전',\n prev: '이전',\n at: '에서',\n random: '무작위',\n closest: '가장가까운',\n parent: '부모',\n children: '자식',\n within: '이내',\n no: '없음',\n empty: '비어있는',\n some: '일부',\n 'starts with': '로시작',\n 'ends with': '로끝나는',\n 'ignoring case': '대소문자_무시',\n 'sorted by': '로_정렬',\n 'mapped to': '로_변환',\n 'split by': '로_분할',\n 'joined by': '로_결합',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const zh: Dictionary = {\n commands: {\n on: '当',\n tell: '告诉',\n trigger: '触发',\n send: '发送',\n // `拿取` (the semantic zh profile's take primary), not `获取` — `获取` is the\n // profile's GET primary, so emitting it for take made `take …` parse as get\n // (take-class-from-siblings: phantom get, take dropped). Exposed by the get-zh-ba\n // pattern; same dict↔profile homonym family as pl get/fetch.\n take: '拿取',\n put: '放置',\n set: '设置',\n get: '获得',\n add: '添加',\n remove: '移除',\n toggle: '切换',\n hide: '隐藏',\n show: '显示',\n if: '如果',\n unless: '除非',\n repeat: '重复',\n for: '为',\n while: '当',\n until: '直到',\n continue: '继续',\n break: '中断',\n halt: '停止',\n wait: '等待',\n // 抓取 (zhuāqǔ, \"grab/scrape\") is the semantic zh profile's `fetch` primary;\n // 获取 (huòqǔ) is its `get` primary, so emitting 获取 here made the semantic\n // parser read a transformed `fetch` as `get`. See ZH_BLOCK_BODY_SCOPE.md #3.\n fetch: '抓取',\n call: '调用',\n return: '返回',\n make: '制作',\n log: '日志',\n throw: '抛出',\n catch: '捕获',\n measure: '测量',\n transition: '过渡',\n increment: '增加',\n decrement: '减少',\n default: '默认',\n go: '前往',\n pushUrl: '推送网址',\n replaceUrl: '替换网址',\n copy: '复制',\n pick: '选取',\n beep: '蜂鸣',\n js: 'JS执行',\n async: '异步',\n render: '渲染',\n swap: '交换',\n morph: '变形',\n settle: '稳定',\n append: '追加',\n exit: '退出',\n install: '安装',\n breakpoint: '断点',\n clear: '清除',\n close: '关闭',\n open: '打开',\n select: '选择',\n clone: '克隆',\n prepend: '前置',\n },\n\n modifiers: {\n to: '到',\n from: '从',\n into: '进入',\n with: '与',\n at: '在',\n in: '在',\n of: '的',\n as: '作为',\n by: '通过',\n before: '之前',\n after: '之后',\n over: '在上',\n under: '在下',\n between: '之间',\n through: '通过',\n without: '没有',\n },\n\n events: {\n click: '点击',\n dblclick: '双击',\n // mousedown/mouseup: English passthrough — no native form round-trips on the\n // parse side (V3c probe 2026-07-14: fused forms captured verbatim, split forms\n // shattered to their first word — live broken listeners in repeat-until-event).\n // The Batch-2 id-keyup precedent; revisit if S5b + tokenizer gain native entries.\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n // V3 Batch 2: 鼠标悬停 captured no event (expression:undefined) — realigned\n // to the tokenizer-registered 鼠标移入 (also S5b-listed). 按键抬起\n // prefix-shattered to 按键 and captured `keydown` (a keyup handler firing\n // on keydown) → 松键, the S5b/tokenizer form. keydown keeps 按键按下\n // (captures keydown via the registered 按键 prefix; S5b-aliased) — fixing\n // it to bare 按键 would collide with keypress below.\n mouseover: '鼠标移入',\n mouseout: '鼠标移出',\n mousemove: '鼠标移动',\n keydown: '按键按下',\n keyup: '松键',\n keypress: 'keypress',\n focus: '聚焦',\n blur: '失焦',\n change: '改变',\n input: '输入',\n submit: '提交',\n reset: '重置',\n load: '加载',\n unload: '卸载',\n resize: '调整大小',\n scroll: '滚动',\n touchstart: '触摸开始',\n touchend: 'touchend',\n touchmove: '触摸移动',\n // V3c burn-down (2026-07-14): English passthrough — no native form round-trips\n // on the parse side (probe: split forms shatter, fused forms capture verbatim).\n touchcancel: 'touchcancel',\n },\n\n logical: {\n when: '当',\n where: '哪里',\n and: '和',\n or: '或',\n not: '非',\n is: '是',\n exists: '存在',\n matches: '匹配',\n contains: '包含',\n includes: '包括',\n equals: '等于',\n has: '有',\n have: '有',\n then: '那么',\n else: '否则',\n otherwise: '要不然',\n end: '结束',\n live: '实时',\n bind: '绑定',\n changes: '改变时',\n },\n\n temporal: {\n seconds: '秒',\n second: '秒',\n milliseconds: '毫秒',\n millisecond: '毫秒',\n minutes: '分钟',\n minute: '分钟',\n hours: '小时',\n hour: '小时',\n ms: '毫秒',\n s: '秒',\n min: '分',\n h: '时',\n },\n\n values: {\n true: '真',\n false: '假',\n null: '空',\n undefined: '未定义',\n it: '它',\n its: '它的',\n me: '我',\n my: '我的',\n myself: '我自己',\n you: '你',\n your: '你的',\n yourself: '你自己',\n element: '元素',\n target: '目标',\n detail: '详情',\n event: '事件',\n window: '窗口',\n document: '文档',\n body: '主体',\n result: '结果',\n value: '值',\n },\n\n attributes: {\n class: '类',\n classes: '类别',\n style: '样式',\n styles: '样式集',\n attribute: '属性',\n attributes: '属性集',\n property: '特性',\n properties: '特性集',\n },\n\n expressions: {\n characters: '字符',\n inclusive: '包含',\n exclusive: '排除',\n first: '第一个',\n last: '最后一个',\n next: '下一个',\n previous: '上一个',\n prev: '上个',\n at: '在',\n random: '随机',\n closest: '最近的',\n parent: '父级',\n children: '子级',\n within: '之内',\n no: '没有',\n empty: '空的',\n some: '一些',\n 'starts with': '以开头',\n 'ends with': '以结尾',\n 'ignoring case': '忽略大小写',\n 'sorted by': '按_排序',\n 'mapped to': '映射为',\n 'split by': '按_分割',\n 'joined by': '用_连接',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const fr: Dictionary = {\n commands: {\n on: 'sur',\n tell: 'dire',\n trigger: 'déclencher',\n send: 'envoyer',\n take: 'prendre',\n put: 'mettre',\n set: 'définir',\n get: 'obtenir',\n add: 'ajouter',\n remove: 'supprimer',\n toggle: 'basculer',\n // command blur (the events section has the blur EVENT word; without this\n // entry the transformer fell back to it and no profile read it as the verb)\n blur: 'défocaliser',\n hide: 'cacher',\n show: 'montrer',\n if: 'si',\n unless: 'saufsi',\n repeat: 'répéter',\n for: 'pour',\n while: 'tantque',\n until: 'jusquà',\n continue: 'continuer',\n break: 'arrêter',\n halt: 'stopper',\n wait: 'attendre',\n fetch: 'récupérer',\n call: 'appeler',\n return: 'retourner',\n make: 'créer',\n log: 'enregistrer',\n throw: 'lancer',\n catch: 'attraper',\n measure: 'mesurer',\n transition: 'transition',\n increment: 'incrémenter',\n decrement: 'décrémenter',\n default: 'défaut',\n go: 'aller',\n pushUrl: 'pousserUrl',\n replaceUrl: 'remplacerUrl',\n copy: 'copier',\n pick: 'choisir',\n beep: 'bip',\n js: 'js',\n async: 'asynchrone',\n render: 'rendu',\n swap: 'échanger',\n morph: 'transformer',\n settle: 'stabiliser',\n append: 'annexer', // profile primary; 'ajouter' is add's word (parsed as add)\n exit: 'sortir',\n install: 'installer',\n breakpoint: 'point-arrêt',\n clear: 'effacer',\n close: 'fermer',\n open: 'ouvrir',\n select: 'sélectionner',\n clone: 'cloner',\n prepend: 'préfixer',\n focus: 'focaliser',\n },\n\n modifiers: {\n to: 'à',\n from: 'de',\n into: 'dans',\n with: 'avec',\n at: 'à',\n in: 'en',\n of: 'de',\n as: 'comme',\n by: 'par',\n before: 'avant',\n after: 'après',\n over: 'sur',\n under: 'sous',\n between: 'entre',\n through: 'à travers',\n without: 'sans',\n },\n\n events: {\n click: 'clic',\n dblclick: 'doubleclic',\n // mousedown/mouseup: English passthrough — no native form round-trips on the\n // parse side (V3c probe 2026-07-14: fused forms captured verbatim, split forms\n // shattered to their first word — live broken listeners in repeat-until-event).\n // The Batch-2 id-keyup precedent; revisit if S5b + tokenizer gain native entries.\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'sourisentrer',\n mouseleave: 'sourissortir',\n // V3 Batch 2: fused forms split to the S5b/tokenizer-known forms (the fused\n // spellings captured event=expression:undefined — broken listeners)\n mouseover: 'souris dessus',\n mouseout: 'souris dehors',\n mousemove: 'sourisbouger',\n keydown: 'touche bas',\n keyup: 'touche haut',\n keypress: 'touchepressée',\n focus: 'focus',\n blur: 'flou',\n change: 'changer',\n input: 'saisie',\n submit: 'soumettre',\n reset: 'réinitialiser',\n load: 'charger',\n unload: 'décharger',\n resize: 'redimensionner',\n scroll: 'défiler',\n touchstart: 'touchercommencer',\n touchend: 'toucherfin',\n touchmove: 'toucherbouger',\n touchcancel: 'toucherannuler',\n },\n\n logical: {\n when: 'quand',\n where: 'où',\n and: 'et',\n or: 'ou',\n not: 'non',\n is: 'est',\n exists: 'existe',\n matches: 'correspond',\n contains: 'contient',\n includes: 'inclut',\n equals: 'égale',\n has: 'a',\n have: 'ai',\n then: 'alors',\n else: 'sinon',\n otherwise: 'autrement',\n end: 'fin',\n live: 'vif',\n changes: 'change',\n },\n\n temporal: {\n seconds: 'secondes',\n second: 'seconde',\n milliseconds: 'millisecondes',\n millisecond: 'milliseconde',\n minutes: 'minutes',\n minute: 'minute',\n hours: 'heures',\n hour: 'heure',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n },\n\n values: {\n true: 'vrai',\n false: 'faux',\n null: 'nul',\n undefined: 'indéfini',\n it: 'ça',\n its: 'son',\n me: 'moi',\n my: 'mon',\n you: 'tu',\n your: 'ton',\n yourself: 'toi-même',\n myself: 'moi-même',\n element: 'élément',\n target: 'cible',\n detail: 'détail',\n event: 'événement',\n window: 'fenêtre',\n document: 'document',\n body: 'corps',\n result: 'résultat',\n value: 'valeur',\n },\n\n attributes: {\n class: 'classe',\n classes: 'classes',\n style: 'style',\n styles: 'styles',\n attribute: 'attribut',\n attributes: 'attributs',\n property: 'propriété',\n properties: 'propriétés',\n },\n\n expressions: {\n characters: 'caractères',\n inclusive: 'inclusif',\n exclusive: 'exclusif',\n first: 'premier',\n last: 'dernier',\n next: 'suivant',\n previous: 'précédent',\n prev: 'préc',\n at: 'à',\n random: 'aléatoire',\n closest: 'proche',\n parent: 'parent',\n children: 'enfants',\n within: 'dans',\n no: 'aucun',\n empty: 'vide',\n some: 'quelques',\n 'starts with': 'commence par',\n 'ends with': 'finit par',\n 'ignoring case': 'en ignorant la casse',\n 'sorted by': 'trié par',\n 'mapped to': 'transformé en',\n 'split by': 'divisé par',\n 'joined by': 'joint par',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const de: Dictionary = {\n commands: {\n on: 'bei',\n tell: 'sagen',\n trigger: 'auslösen',\n send: 'senden',\n take: 'nehmen',\n put: 'setzen',\n set: 'festlegen',\n get: 'erhalten',\n add: 'hinzufügen',\n remove: 'entfernen',\n toggle: 'umschalten',\n // command blur (the events section has the blur EVENT word; without this\n // entry the transformer fell back to it and no profile read it as the verb)\n blur: 'defokussieren',\n hide: 'verstecken',\n show: 'zeigen',\n // Align with the semantic German profile's `if` primary (`falls`). The previous\n // `wenn` collides with the profile's `when` keyword (German `wenn` = both\n // \"if\" and \"when\"), so a transformed `if` resolved to `when` and the conditional\n // wrapper never formed (`if`/`put` dropped). Same dict↔profile alignment as id\n // `toggle` / get-value. `when` is unaffected (separate dict entry).\n if: 'falls',\n unless: 'wennnicht',\n repeat: 'wiederholen',\n for: 'für',\n while: 'während',\n until: 'bis',\n continue: 'weiter',\n break: 'unterbrechen',\n halt: 'anhalten',\n wait: 'warten',\n fetch: 'abrufen',\n call: 'aufrufen',\n return: 'zurückgeben',\n make: 'erstellen',\n log: 'protokollieren',\n throw: 'werfen',\n catch: 'fangen',\n measure: 'messen',\n transition: 'übergang',\n increment: 'erhöhen',\n decrement: 'verringern',\n default: 'standard',\n go: 'gehen',\n pushUrl: 'urlHinzufügen',\n replaceUrl: 'urlErsetzen',\n copy: 'kopieren',\n pick: 'auswählen',\n beep: 'piepton',\n js: 'js',\n async: 'asynchron',\n render: 'rendern',\n swap: 'tauschen',\n morph: 'verwandeln',\n settle: 'stabilisieren',\n append: 'anhängen',\n exit: 'beenden',\n install: 'installieren',\n breakpoint: 'haltepunkt',\n clear: 'bereinigen', // löschen is a remove alternative in the profile\n close: 'schließen',\n open: 'öffnen',\n select: 'markieren', // Batch 3: auswählen is the pick keyword — bare select rendered with it parses null\n clone: 'klonen',\n prepend: 'voranstellen',\n focus: 'fokussieren',\n },\n\n modifiers: {\n to: 'zu',\n from: 'von',\n into: 'in',\n with: 'mit',\n at: 'bei',\n in: 'in',\n of: 'von',\n as: 'als',\n by: 'durch',\n before: 'vor',\n after: 'nach',\n over: 'über',\n under: 'unter',\n between: 'zwischen',\n through: 'durch',\n without: 'ohne',\n },\n\n events: {\n click: 'klick',\n dblclick: 'doppelklick',\n // mousedown/mouseup: English passthrough — no native form round-trips on the\n // parse side (V3c probe 2026-07-14: fused forms captured verbatim, split forms\n // shattered to their first word — live broken listeners in repeat-until-event).\n // The Batch-2 id-keyup precedent; revisit if S5b + tokenizer gain native entries.\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mauseintreten',\n mouseleave: 'mausverlassen',\n // V3 Batch 2: fused/dead event words realigned to the de tokenizer's\n // registered forms (S5b's `maus über`/`taste runter` are aspirational — they\n // do not tokenize; `mausüber` etc. captured event=expression:undefined).\n mouseover: 'maus drüber',\n mouseout: 'maus weg',\n mousemove: 'mausbewegen',\n keydown: 'taste unten',\n keyup: 'taste oben',\n keypress: 'tastedrücken',\n focus: 'fokus',\n // matches commands.blur (which shadows this at render time) and the live\n // corpus render; `unscharf` was dead vocab that captured no event\n blur: 'defokussieren',\n change: 'ändern',\n input: 'eingabe',\n submit: 'absenden',\n reset: 'zurücksetzen',\n load: 'laden',\n unload: 'entladen',\n resize: 'größeändern',\n scroll: 'scrollen',\n touchstart: 'berührungstart',\n touchend: 'berührungend',\n touchmove: 'berührungbewegen',\n touchcancel: 'berührungabbrechen',\n },\n\n logical: {\n when: 'wenn',\n where: 'wo',\n and: 'und',\n or: 'oder',\n not: 'nicht',\n is: 'ist',\n exists: 'existiert',\n matches: 'passt',\n contains: 'enthält',\n includes: 'beinhaltet',\n equals: 'gleicht',\n has: 'hat',\n have: 'habe',\n then: 'dann',\n else: 'sonst',\n otherwise: 'andernfalls',\n end: 'ende',\n live: 'live',\n changes: 'ändert',\n },\n\n temporal: {\n seconds: 'sekunden',\n second: 'sekunde',\n milliseconds: 'millisekunden',\n millisecond: 'millisekunde',\n minutes: 'minuten',\n minute: 'minute',\n hours: 'stunden',\n hour: 'stunde',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'std',\n },\n\n values: {\n true: 'wahr',\n false: 'falsch',\n null: 'null',\n undefined: 'undefiniert',\n it: 'es',\n its: 'sein',\n me: 'ich',\n my: 'mein',\n you: 'du',\n your: 'dein',\n yourself: 'dich selbst',\n myself: 'ich selbst',\n element: 'element',\n target: 'ziel',\n detail: 'detail',\n event: 'ereignis',\n window: 'fenster',\n document: 'dokument',\n body: 'körper',\n result: 'ergebnis',\n value: 'wert',\n },\n\n attributes: {\n class: 'klasse',\n classes: 'klassen',\n style: 'stil',\n styles: 'stile',\n attribute: 'attribut',\n attributes: 'attribute',\n property: 'eigenschaft',\n properties: 'eigenschaften',\n },\n\n expressions: {\n characters: 'Zeichen',\n inclusive: 'inklusiv',\n exclusive: 'exklusiv',\n first: 'erste',\n last: 'letzte',\n next: 'nächste',\n previous: 'vorherige',\n prev: 'vorh',\n at: 'bei',\n random: 'zufällig',\n // `nächste` already serves `next` (line above). German `nächste` is\n // genuinely ambiguous (next/nearest), so emitting it for `closest` too\n // collided: the semantic tokenizer normalizes `nächste`→next (a deliberate\n // last-wins choice — see german.ts), and a closest reading is impossible to\n // recover. Use the unambiguous `nächstgelegene` (\"nearest-located\") for\n // closest so the two readings stay distinct end-to-end.\n closest: 'nächstgelegene',\n parent: 'elternteil',\n children: 'kinder',\n within: 'innerhalb',\n no: 'kein',\n empty: 'leer',\n some: 'einige',\n 'starts with': 'beginnt mit',\n 'ends with': 'endet mit',\n 'ignoring case': 'ohne Groß-/Kleinschreibung',\n 'sorted by': 'sortiert nach',\n 'mapped to': 'zugeordnet zu',\n 'split by': 'geteilt durch',\n 'joined by': 'verbunden mit',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const ja: Dictionary = {\n commands: {\n on: 'で',\n tell: '伝える',\n trigger: '引き金',\n send: '送る',\n take: '取る',\n put: '置く',\n set: '設定',\n get: '取得',\n add: '追加',\n remove: '削除',\n toggle: '切り替え',\n hide: '隠す',\n show: '表示',\n if: 'もし',\n unless: 'ない限り', // not でなければ — leading で particle shatters the marker\n repeat: '繰り返し',\n for: 'ために',\n while: 'の間',\n until: 'まで',\n continue: '続ける',\n break: '中断',\n halt: '停止',\n wait: '待つ',\n fetch: 'フェッチ',\n call: '呼び出し',\n return: '戻る',\n make: '作る',\n log: '記録',\n throw: '投げる',\n catch: '捕まえる',\n measure: '測定',\n transition: '遷移',\n increment: '増加',\n decrement: '減少',\n default: '既定',\n go: '移動',\n pushUrl: 'URLプッシュ',\n replaceUrl: 'URL置換',\n copy: 'コピー',\n pick: '選択',\n beep: 'ビープ',\n js: 'JS実行',\n async: '非同期',\n render: '描画',\n swap: '交換',\n morph: '変形',\n settle: '安定',\n append: '末尾追加',\n // 終了 → 退出: realigned to the semantic profile primary (ja.ts `exit: 退出`).\n // 終了 was the historic exit/end collision word (see isEndKeyword's ja note);\n // rendered as 終了 it tokenized as a plain identifier, so a guard-clause\n // `exit` inside `if … end` never parsed (behavior-sortable ja).\n exit: '退出',\n install: 'インストール',\n breakpoint: 'ブレークポイント',\n clear: 'クリア',\n close: '閉じる',\n open: '開く',\n select: '選ぶ', // Batch 3: 選択 is the pick keyword — bare select rendered with it parses null\n clone: '複製',\n prepend: '先頭追加',\n socket: 'ソケット',\n },\n\n modifiers: {\n to: 'に',\n from: 'から',\n into: 'へ',\n with: 'と',\n at: 'で',\n in: 'の中',\n of: 'の',\n as: 'として',\n by: 'によって',\n before: '前に',\n after: '後に',\n over: '上に',\n under: '下に',\n between: '間に',\n through: '通して',\n without: 'なしで',\n },\n\n events: {\n click: 'クリック',\n dblclick: 'dblclick',\n mousedown: 'マウス押下',\n mouseup: 'マウス解放',\n // V3c burn-down (2026-07-14): English passthrough — no native form round-trips\n // on the parse side (probe: split forms shatter, fused forms capture verbatim).\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n // V3 Batch 2: kanji compounds realigned to the S5b/tokenizer katakana\n // loanwords (the standard JS event terms; the compounds captured\n // event=expression:undefined — broken listeners)\n mouseover: 'マウスオーバー',\n mouseout: 'マウスアウト',\n mousemove: 'mousemove',\n keydown: 'キーダウン',\n keyup: 'キーアップ',\n keypress: 'キープレス',\n focus: 'フォーカス',\n blur: 'ぼかし',\n change: '変更',\n input: '入力',\n submit: '送信',\n reset: 'リセット',\n load: '読み込み',\n unload: 'unload',\n resize: 'サイズ変更',\n scroll: 'スクロール',\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n },\n\n logical: {\n when: '時',\n where: 'どこ',\n and: 'そして',\n or: 'または',\n not: 'ではない',\n is: 'である',\n exists: '存在する',\n matches: '一致する',\n contains: '含む',\n includes: '含める',\n equals: '等しい',\n has: 'ある',\n have: 'ある',\n then: 'それから',\n else: 'そうでなければ',\n otherwise: 'そうでなければ',\n end: '終わり',\n live: 'ライブ',\n bind: 'バインド',\n changes: '変わったら',\n },\n\n temporal: {\n seconds: '秒',\n second: '秒',\n milliseconds: 'ミリ秒',\n millisecond: 'ミリ秒',\n minutes: '分',\n minute: '分',\n hours: '時間',\n hour: '時間',\n ms: 'ms',\n s: '秒',\n min: '分',\n h: '時',\n },\n\n values: {\n true: '真',\n false: '偽',\n null: 'null',\n undefined: '未定義',\n it: 'それ',\n its: 'その',\n me: '私',\n my: '私の',\n you: 'あなた',\n your: 'あなたの',\n yourself: 'あなた自身',\n myself: '私自身',\n element: '要素',\n target: '対象',\n detail: '詳細',\n event: 'イベント',\n window: 'ウィンドウ',\n document: 'ドキュメント',\n body: 'ボディ',\n result: '結果',\n value: '値',\n },\n\n attributes: {\n class: 'クラス',\n classes: 'クラス群',\n style: 'スタイル',\n styles: 'スタイル群',\n attribute: '属性',\n attributes: '属性群',\n property: 'プロパティ',\n properties: 'プロパティ群',\n },\n\n expressions: {\n characters: '文字',\n inclusive: '含む',\n exclusive: '除く',\n first: '最初',\n last: '最後',\n next: '次',\n previous: '前',\n prev: '前',\n at: 'で',\n random: 'ランダム',\n closest: '最も近い',\n parent: '親',\n children: '子',\n within: '以内',\n no: 'ない',\n empty: '空',\n some: 'いくつか',\n 'starts with': 'で始まる',\n 'ends with': 'で終わる',\n 'ignoring case': '大文字小文字を無視',\n 'sorted by': 'でソート',\n 'mapped to': 'に変換',\n 'split by': 'で分割',\n 'joined by': 'で結合',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const ar: Dictionary = {\n commands: {\n on: 'على',\n tell: 'أخبر',\n trigger: 'تشغيل',\n send: 'أرسل',\n take: 'خذ',\n put: 'ضع',\n set: 'اضبط',\n get: 'احصل',\n add: 'أضف',\n remove: 'احذف',\n toggle: 'بدل',\n hide: 'اخف',\n show: 'اظهر',\n if: 'إذا',\n // Single-token form: the semantic ar tokenizer splits the two-word `إلا إذا`\n // into `إلا` + `إذا`(if), which derails the `unless` block. `إلا` alone is the\n // conventional Arabic shorthand and matches the ar profile's unless keyword.\n unless: 'إلا',\n repeat: 'كرر',\n for: 'لكل',\n while: 'بينما',\n until: 'حتى',\n continue: 'واصل',\n break: 'توقف',\n halt: 'أوقف',\n wait: 'انتظر',\n fetch: 'احضر',\n call: 'استدع',\n return: 'ارجع',\n make: 'اصنع',\n log: 'سجل',\n throw: 'ارم',\n catch: 'التقط',\n measure: 'قس',\n transition: 'انتقال',\n increment: 'زِد',\n decrement: 'أنقص',\n default: 'افتراضي',\n go: 'اذهب',\n pushUrl: 'ادفع رابط',\n replaceUrl: 'استبدل رابط',\n copy: 'انسخ',\n pick: 'اختر',\n beep: 'صفّر',\n js: 'جافاسكربت',\n async: 'متزامن',\n render: 'ارسم',\n swap: 'استبدل', // profile primary; 'بدّل' is toggle's word (parsed as toggle)\n morph: 'حوّل',\n settle: 'استقر',\n append: 'ألحق',\n exit: 'اخرج',\n install: 'ثبّت',\n breakpoint: 'نقطة-توقف',\n clear: 'نظّف', // امسح is a remove alternative in the profile\n close: 'أغلق',\n open: 'افتح',\n select: 'ظلل', // Batch 3: اختر is the pick keyword — bare select rendered with it parses null\n clone: 'استنسخ',\n prepend: 'سبق',\n socket: 'مقبس',\n },\n\n modifiers: {\n to: 'إلى',\n from: 'من',\n into: 'في',\n with: 'مع',\n at: 'عند',\n in: 'في',\n of: 'من',\n as: 'كـ',\n by: 'بواسطة',\n before: 'قبل',\n after: 'بعد',\n over: 'فوق',\n under: 'تحت',\n between: 'بين',\n through: 'عبر',\n without: 'بدون',\n },\n\n events: {\n click: 'نقر',\n // V3c burn-down (2026-07-14): English passthrough — no native form round-trips\n // on the parse side (probe: split forms shatter, fused forms capture verbatim).\n dblclick: 'dblclick',\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n mouseover: 'فأرة فوق',\n mouseout: 'mouseout',\n mousemove: 'mousemove',\n keydown: 'مفتاح أسفل',\n keyup: 'مفتاح أعلى',\n keypress: 'keypress',\n focus: 'تركيز',\n blur: 'ضبابية',\n change: 'تغيير',\n input: 'إدخال',\n submit: 'إرسال',\n reset: 'reset',\n load: 'تحميل',\n unload: 'unload',\n resize: 'تغيير حجم',\n scroll: 'تمرير',\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n },\n\n logical: {\n when: 'عندما',\n where: 'أين',\n and: 'و',\n or: 'أو',\n not: 'ليس',\n is: 'هو',\n exists: 'موجود',\n matches: 'يطابق',\n contains: 'يحتوي',\n includes: 'يشمل',\n equals: 'يساوي',\n has: 'لديه',\n have: 'لدي',\n then: 'ثم',\n else: 'وإلا',\n otherwise: 'خلاف ذلك',\n end: 'النهاية',\n live: 'حي',\n bind: 'اربط',\n changes: 'يتغير',\n },\n\n temporal: {\n seconds: 'ثوانِ',\n second: 'ثانية',\n milliseconds: 'ميلي ثانية',\n millisecond: 'ميلي ثانية',\n minutes: 'دقائق',\n minute: 'دقيقة',\n hours: 'ساعات',\n hour: 'ساعة',\n ms: 'م.ث',\n s: 'ث',\n min: 'د',\n h: 'س',\n },\n\n values: {\n true: 'صحيح',\n false: 'خطأ',\n null: 'فارغ',\n undefined: 'غير معرف',\n it: 'هو',\n its: 'له',\n me: 'أنا',\n my: 'لي',\n myself: 'نفسي',\n you: 'أنت',\n your: 'لك',\n yourself: 'نفسك',\n element: 'عنصر',\n target: 'هدف',\n detail: 'تفاصيل',\n event: 'حدث',\n window: 'نافذة',\n document: 'وثيقة',\n body: 'جسم',\n result: 'نتيجة',\n value: 'قيمة',\n },\n\n attributes: {\n class: 'فئة',\n classes: 'فئات',\n style: 'أسلوب',\n styles: 'أساليب',\n attribute: 'خاصية',\n attributes: 'خصائص',\n property: 'خاصية',\n properties: 'خصائص',\n },\n\n expressions: {\n characters: 'حروف',\n inclusive: 'شامل',\n exclusive: 'حصري',\n first: 'أول',\n last: 'آخر',\n next: 'التالي',\n previous: 'السابق',\n prev: 'سابق',\n at: 'عند',\n random: 'عشوائي',\n closest: 'الأقرب',\n parent: 'والد',\n children: 'أطفال',\n within: 'داخل',\n no: 'لا يوجد',\n empty: 'فارغ',\n some: 'بعض',\n 'starts with': 'يبدأ بـ',\n 'ends with': 'ينتهي بـ',\n 'ignoring case': 'مع تجاهل الحالة',\n 'sorted by': 'مرتب حسب',\n 'mapped to': 'محول إلى',\n 'split by': 'مقسم بواسطة',\n 'joined by': 'مدموج بواسطة',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const tr: Dictionary = {\n commands: {\n on: 'üzerinde',\n tell: 'söyle',\n trigger: 'tetikle',\n send: 'gönder',\n take: 'tut', // auditor: dict emitted a word the profile reads differently\n put: 'koy',\n set: 'ayarla',\n get: 'al',\n add: 'ekle',\n remove: 'kaldır',\n toggle: 'değiştir',\n hide: 'gizle',\n show: 'göster',\n if: 'eğer',\n unless: 'değilse',\n repeat: 'tekrarla',\n for: 'için',\n // `süresince` (the semantic tr profile's while primary), not `iken`: `iken`\n // is the profile's WHEN primary (logical.when below also emits it), so a\n // fronted repeat-while head tokenized as `when` and the condition dropped\n // wholesale. Same dict↔profile homonym disambiguation as pl get/pobierz.\n while: 'süresince',\n until: 'kadar',\n continue: 'devam',\n break: 'dur',\n halt: 'durdur',\n wait: 'bekle',\n fetch: 'getir',\n call: 'çağır',\n return: 'dön',\n make: 'yap',\n log: 'kaydet',\n throw: 'fırlat',\n catch: 'yakala',\n measure: 'ölç',\n transition: 'geçiş',\n increment: 'artır',\n decrement: 'azalt',\n default: 'varsayılan',\n go: 'git',\n pushUrl: 'urlEkle',\n replaceUrl: 'urlDeğiştir',\n copy: 'kopyala',\n pick: 'seç',\n beep: 'bip',\n js: 'js',\n async: 'asenkron',\n render: 'render',\n swap: 'takas',\n morph: 'dönüştür',\n settle: 'sabitlen',\n append: 'iliştir', // profile primary; 'ekle' is add's word (parsed as add)\n exit: 'çık',\n install: 'kur',\n breakpoint: 'kesme-noktası',\n clear: 'temizle',\n close: 'kapat',\n open: 'aç',\n select: 'vurgula', // Batch 3: seç is the pick keyword — bare select rendered with it parses null\n clone: 'klonla',\n prepend: 'başınaekle',\n socket: 'soket',\n },\n\n modifiers: {\n to: 'e',\n from: 'den',\n into: 'içine',\n with: 'ile',\n at: 'de',\n in: 'içinde',\n of: 'nin',\n as: 'olarak',\n by: 'tarafından',\n before: 'önce',\n after: 'sonra',\n over: 'üzerinde',\n under: 'altında',\n between: 'arasında',\n through: 'boyunca',\n without: 'olmadan',\n },\n\n events: {\n click: 'tıklama',\n dblclick: 'dblclick',\n // Fused (no `_`): the semantic tokenizer splits on `_`, breaking event\n // recognition (mousedown → \"bas\" / mouseup mis-captured). Mirrors the #535\n // ru/uk fuse + #510 resize fix.\n mousedown: 'farebas',\n mouseup: 'farebırak',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n // V3 Batch 2: same `_`-split class (tuş_bas captured verbatim `bas` — a\n // listener for a DOM event named \"bas\") — realigned to the S5b/tokenizer\n // fused forms.\n mouseover: 'fareiçinde',\n mouseout: 'faredışında',\n mousemove: 'mousemove',\n keydown: 'tuşbasma',\n keyup: 'tuşbırakma',\n // V3c burn-down (2026-07-14): English passthrough — no native form round-trips\n // on the parse side (probe: split forms shatter, fused forms capture verbatim).\n keypress: 'keypress',\n focus: 'odak',\n blur: 'bulanık',\n change: 'değişim',\n input: 'giriş',\n submit: 'gönderme', // Batch 3: gönder is the send verb — on-submit listener captured event \"send\"\n reset: 'sıfırla',\n load: 'yükle',\n unload: 'unload',\n resize: 'boyutlandırma',\n scroll: 'kaydır',\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n },\n\n logical: {\n when: 'iken',\n where: 'nerede',\n and: 've',\n or: 'veya',\n not: 'değil',\n is: 'dir',\n exists: 'var',\n matches: 'eşleşir',\n contains: 'içerir',\n includes: 'dahil',\n equals: 'eşittir',\n has: 'var',\n have: 'var',\n then: 'ardından',\n else: 'yoksa',\n otherwise: 'aksi_halde',\n end: 'son',\n live: 'canlı',\n changes: 'değiştiğinde',\n },\n\n temporal: {\n seconds: 'saniye',\n second: 'saniye',\n milliseconds: 'milisaniye',\n millisecond: 'milisaniye',\n minutes: 'dakika',\n minute: 'dakika',\n hours: 'saat',\n hour: 'saat',\n ms: 'ms',\n s: 's',\n min: 'dk',\n h: 'sa',\n },\n\n values: {\n true: 'doğru',\n false: 'yanlış',\n null: 'boş',\n undefined: 'tanımsız',\n it: 'o',\n its: 'onun',\n me: 'ben',\n my: 'benim',\n myself: 'kendim',\n you: 'sen',\n your: 'senin',\n yourself: 'kendin',\n element: 'öğe',\n target: 'hedef',\n detail: 'detay',\n event: 'olay',\n window: 'pencere',\n document: 'belge',\n body: 'gövde',\n result: 'sonuç',\n value: 'değer',\n },\n\n attributes: {\n class: 'sınıf',\n classes: 'sınıflar',\n style: 'stil',\n styles: 'stiller',\n attribute: 'özellik',\n attributes: 'özellikler',\n property: 'özellik',\n properties: 'özellikler',\n },\n\n expressions: {\n characters: 'karakterler',\n inclusive: 'dahil',\n exclusive: 'hariç',\n first: 'ilk',\n // 'son' is also the END keyword emission (block terminator), and the\n // parser's end-recognizers match it by value — so a positional `last`\n // emission of 'son' terminated the enclosing block mid-condition\n // (focus-trap's `eşleşir son <button/>` dropped the branch body; the sw\n // mwisho class). 'sonuncu' (\"the last one\") is unambiguous.\n last: 'sonuncu',\n next: 'sonraki',\n previous: 'önceki',\n prev: 'önc',\n at: 'de',\n random: 'rastgele',\n closest: 'enyakın',\n parent: 'ebeveyn',\n children: 'çocuklar',\n within: 'içinde',\n no: 'yok',\n empty: 'boş',\n some: 'bazı',\n 'starts with': 'ile başlar',\n 'ends with': 'ile biter',\n 'ignoring case': 'büyük küçük harf duyarsız',\n 'sorted by': 'göre sıralı',\n 'mapped to': 'ye dönüştürülmüş',\n 'split by': 'ile bölünmüş',\n 'joined by': 'ile birleştirilmiş',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const id: Dictionary = {\n commands: {\n on: 'pada',\n tell: 'katakan',\n trigger: 'picu',\n send: 'kirim',\n take: 'ambil',\n put: 'taruh',\n set: 'atur',\n get: 'dapatkan',\n add: 'tambah',\n remove: 'hapus',\n toggle: 'alihkan',\n hide: 'sembunyikan',\n show: 'tampilkan',\n if: 'jika',\n unless: 'kecuali',\n repeat: 'ulangi',\n for: 'untuk',\n while: 'selama',\n until: 'sampai',\n continue: 'lanjutkan',\n break: 'hentikan',\n halt: 'berhenti',\n wait: 'tunggu',\n // profile primary; 'ambil' is take's word — emitting it for fetch made every\n // fetch parse as take once the fused take-event pattern came alive (the de\n // holen/abrufen bug class)\n fetch: 'muat',\n call: 'panggil',\n return: 'kembali',\n make: 'buat',\n log: 'catat',\n throw: 'lempar',\n catch: 'tangkap',\n measure: 'ukur',\n transition: 'transisi',\n // naikkan (raise), not tambahkan — tambahkan is the semantic profile's\n // `add` alternative, so emitting it made increment-counter parse as ADD\n // (the #373 collision family). naikkan is the profile's increment\n // alternative, pairing naturally with the decrement side.\n increment: 'naikkan',\n decrement: 'kurangi',\n default: 'bawaan',\n go: 'pergi',\n pushUrl: 'tambahUrl',\n replaceUrl: 'gantiUrl',\n copy: 'salin',\n pick: 'pilih',\n beep: 'bunyi',\n js: 'js',\n async: 'asinkron',\n render: 'olah', // auditor: dict emitted a word the profile reads differently\n swap: 'tukar',\n morph: 'ubah', // auditor: dict emitted a word the profile reads differently\n settle: 'stabilkan', // auditor: dict emitted a word the profile reads differently\n append: 'sisipkan', // profile primary; 'tambah_akhir' splits and is unrecognized\n exit: 'keluar',\n install: 'pasang',\n breakpoint: 'titik-henti',\n clear: 'bersihkan', // hapus is the remove PRIMARY in the profile\n close: 'tutupkan', // Batch 3: tutup is the hide keyword — rendered close parsed as action=hide\n open: 'buka',\n select: 'tandai', // Batch 3: pilih is the pick keyword — bare select rendered with it parses null\n clone: 'klon',\n prepend: 'awali',\n },\n\n modifiers: {\n to: 'ke',\n from: 'dari',\n into: 'ke_dalam',\n with: 'dengan',\n at: 'di',\n in: 'dalam',\n of: 'dari',\n as: 'sebagai',\n by: 'oleh',\n before: 'sebelum',\n after: 'setelah',\n over: 'di_atas',\n under: 'di_bawah',\n between: 'antara',\n through: 'melalui',\n without: 'tanpa',\n },\n\n events: {\n click: 'klik',\n dblclick: 'dblclick',\n // mousedown/mouseup: English passthrough — no native form round-trips on the\n // parse side (V3c probe 2026-07-14: fused forms captured verbatim, split forms\n // shattered to their first word — live broken listeners in repeat-until-event).\n // The Batch-2 id-keyup precedent; revisit if S5b + tokenizer gain native entries.\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n // V3 Batch 2: mouse_atas/mouse_luar captured no event (the S5b forms\n // `mouse masuk`/`mouse keluar` are aspirational — they don't tokenize\n // either) — realigned to the tokenizer-registered natives. keydown keeps\n // tekan_tombol (captures keydown via the registered `tekan`; S5b-aliased).\n // keyup has NO parseable native (lepas is unregistered) → English\n // passthrough, matching the blur/reset precedent below.\n mouseover: 'arahkan',\n mouseout: 'tinggalkan',\n mousemove: 'mousemove',\n keydown: 'tekan_tombol',\n keyup: 'keyup',\n keypress: 'keypress',\n focus: 'fokus',\n blur: 'blur',\n change: 'ubah',\n input: 'masukan',\n submit: 'kirim',\n reset: 'reset',\n load: 'muat',\n unload: 'bongkar',\n resize: 'ubah_ukuran',\n scroll: 'gulir',\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n // V3c burn-down (2026-07-14): English passthrough — no native form round-trips\n // on the parse side (probe: split forms shatter, fused forms capture verbatim).\n touchcancel: 'touchcancel',\n },\n\n logical: {\n when: 'ketika',\n where: 'di_mana',\n and: 'dan',\n or: 'atau',\n not: 'bukan',\n is: 'adalah',\n exists: 'ada',\n matches: 'cocok',\n contains: 'berisi',\n includes: 'termasuk',\n equals: 'sama',\n has: 'punya',\n have: 'punya',\n then: 'lalu',\n else: 'lainnya',\n otherwise: 'sebaliknya',\n end: 'akhir',\n live: 'langsung',\n changes: 'berubah',\n },\n\n temporal: {\n seconds: 'detik',\n second: 'detik',\n milliseconds: 'milidetik',\n millisecond: 'milidetik',\n minutes: 'menit',\n minute: 'menit',\n hours: 'jam',\n hour: 'jam',\n ms: 'ms',\n s: 'd',\n min: 'mnt',\n h: 'j',\n },\n\n values: {\n true: 'benar',\n false: 'salah',\n null: 'kosong',\n undefined: 'tidak_terdefinisi',\n it: 'itu',\n its: 'miliknya',\n me: 'saya',\n my: 'saya punya',\n myself: 'saya sendiri',\n you: 'kamu',\n your: 'kamu punya',\n yourself: 'kamu sendiri',\n element: 'elemen',\n target: 'target',\n detail: 'detail',\n event: 'peristiwa',\n window: 'jendela',\n document: 'dokumen',\n body: 'badan',\n result: 'hasil',\n value: 'nilai',\n },\n\n attributes: {\n class: 'kelas',\n classes: 'kelas_kelas',\n style: 'gaya',\n styles: 'gaya_gaya',\n attribute: 'atribut',\n attributes: 'atribut_atribut',\n property: 'properti',\n properties: 'properti_properti',\n },\n\n expressions: {\n characters: 'karakter',\n inclusive: 'inklusif',\n exclusive: 'eksklusif',\n first: 'pertama',\n last: 'terakhir',\n next: 'berikutnya',\n previous: 'sebelumnya',\n prev: 'sblm',\n at: 'di',\n random: 'acak',\n closest: 'terdekat',\n parent: 'induk',\n children: 'anak_anak',\n within: 'dalam',\n no: 'tidak_ada',\n empty: 'kosong',\n some: 'beberapa',\n 'starts with': 'dimulai dengan',\n 'ends with': 'diakhiri dengan',\n 'ignoring case': 'abaikan kapital',\n 'sorted by': 'diurutkan berdasarkan',\n 'mapped to': 'dipetakan ke',\n 'split by': 'dipisah oleh',\n 'joined by': 'digabung oleh',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const qu: Dictionary = {\n commands: {\n on: 'kaqpi',\n tell: 'niy',\n trigger: 'kichay',\n send: 'kachay',\n take: 'hapiy', // auditor: dict emitted a word the profile reads differently\n put: 'churay',\n // churay is the semantic qu profile's `put` primary; `set` is churanay. Emitting\n // churay for set made the semantic parser read a transformed `set` as `put`.\n // See ZH_BLOCK_BODY_SCOPE.md (#2 sweep — keyword realignment, cf. zh fetch).\n set: 'churanay',\n // Align with the semantic quechua profile's `get` primary (`taripay`); the\n // previous `chaskiy` had no profile entry, so the transformed `get` dropped\n // (get-value parsed degenerate). Same dict↔profile alignment as id `toggle`.\n get: 'taripay',\n add: 'yapay',\n remove: 'qichuy',\n toggle: 'tikray',\n hide: 'pakay',\n show: 'rikuchiy',\n if: 'sichus',\n unless: 'mana sichus', // spaced phrase (\"if not\"); `_` form split to `mana`+`sichus`(=if) at parse time\n repeat: 'kutipay',\n for: 'sapankaq', // profile's for word — rayku doubles as `by`\n // `kaykamaqa` (the semantic qu profile's while primary), not `kay_kaq`: the\n // `_` form is unknown to the profile (and `_` words split at parse time, cf.\n // qhipaman_yapay), so the fronted repeat-while head never formed a `while`\n // node — the condition dropped wholesale. Same dict↔profile alignment as\n // vi render / de abrufen.\n while: 'kaykamaqa',\n until: 'hayk_akama',\n continue: 'purichiy',\n break: 'p_akiy',\n halt: 'sayay',\n wait: 'suyay',\n fetch: 'apamuy',\n call: 'qayay',\n return: 'kutimuy',\n make: 'ruray',\n // qillqay is the semantic qu profile's `copy` primary; `log` is qillqakuy.\n // Emitting qillqay for log made the parser read every transformed log as\n // copy (log-value/log-element/get-value lossy) — same realign as set above.\n log: 'qillqakuy',\n throw: 'wikchuy',\n catch: 'hapsiy',\n measure: 'tupuy',\n // pasay, not tikray: the semantic qu profile's toggle keyword is\n // t'ikray/tikray, so a tikray render collided with toggle and the\n // transition command never anchored (sw kama precedent, #569).\n transition: 'pasay',\n increment: 'yapachiy',\n decrement: 'pisiyachiy',\n default: 'ñawpaq_kaq',\n go: 'riy',\n pushUrl: 'url_tanqay',\n replaceUrl: 'url_tikray',\n copy: 'qillqay',\n pick: 'akllay',\n beep: 'waqay',\n js: 'js',\n async: 'mana_suyaspa',\n render: 'rikurichiy', // auditor: dict emitted a word the profile reads differently\n swap: \"t'inkuy\", // profile primary; 'rantin_tikray' splits, 'tikray' is toggle's word\n morph: 'tukunay', // auditor: dict emitted a word the profile reads differently\n settle: 'tiyakuy', // auditor: dict emitted a word the profile reads differently\n append: 'qatichiy', // profile's append primary (single token); `qhipaman_yapay` `_`-split to qhipaman+yapay(=add) at parse time\n exit: 'lluqsiy',\n install: 'tarpuy',\n breakpoint: 'sayachinay',\n clear: 'pichay',\n close: 'wichqay',\n open: 'paskay', // Batch 3: kichay is the trigger keyword — rendered open parsed null\n select: 'marcay', // Batch 3: akllay is the pick keyword — bare select rendered with it parses null\n clone: 'kikinchay',\n prepend: 'ñawpachiy',\n socket: 'tinkina',\n },\n\n modifiers: {\n to: 'man',\n from: 'manta',\n into: 'ukupi',\n with: 'wan',\n at: 'pi',\n in: 'ukupi',\n of: 'pa',\n as: 'hina',\n by: 'rayku',\n before: 'ñawpaqpi',\n after: 'qhepapi',\n over: 'hawapi',\n under: 'urapi',\n between: 'chawpipi',\n through: 'pasaspa',\n without: 'mana',\n },\n\n events: {\n click: 'ñitiy',\n dblclick: 'dblclick',\n // Fused (no `_`): the semantic tokenizer splits on `_` — and `rat_ñitiy` then\n // mis-captured as the `click` event (ñitiy→click). Mirrors the #535 ru/uk fuse.\n mousedown: 'ratñitiy',\n mouseup: 'rathuqariy',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n mouseover: 'mouseover',\n mouseout: 'mouseout',\n mousemove: 'mousemove',\n // V3 Batch 2: `yupana_ñitiy` split at `_` and mis-captured as the `click`\n // event (ñitiy→click, the same mechanism as the mousedown fuse above);\n // `yupana_huqariy` captured verbatim `huqariy`. Realigned to the\n // S5b/tokenizer forms.\n keydown: 'llave uray',\n keyup: 'llave hawa',\n keypress: 'keypress',\n focus: 'qhaway',\n blur: 'paqariy',\n change: 'kambiay', // Batch 3: tikray is the toggle verb — on-change listener captured event \"toggle\"\n input: 'yaykuchiy',\n submit: 'apaykachay', // Batch 3: kachay is the send verb — on-submit captured \"send\" in one corpus slot\n reset: 'musuqchay', // Batch 3: qallariy is the init/start word — on-reset listener captured event \"default\"\n load: 'apakuy',\n unload: 'unload',\n resize: 'hatun_kay',\n scroll: 'kunray',\n // V3c burn-down (2026-07-14): English passthrough — no native form round-trips\n // on the parse side (probe: split forms shatter, fused forms capture verbatim).\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n },\n\n logical: {\n when: 'maykama',\n where: 'maypi',\n and: 'chaymanta',\n or: 'utaq',\n not: 'mana',\n is: 'kanqa',\n exists: 'tiyan',\n matches: 'tupan',\n contains: 'ukupi_kan',\n includes: 'churasqa',\n equals: 'kikin',\n has: 'kachkan',\n have: 'kachkani',\n then: 'chayqa',\n // Align to the semantic profile's else word `manachus`. The old `mana_chayqa`\n // tokenized as `mana`(false) + `_` + `chayqa`(then) — no else keyword formed,\n // so qu conditionals never split their else branch. `manachus` is a single\n // token the profile-derived keyword map reads as `else` (dict↔profile align).\n else: 'manachus',\n otherwise: 'huk_kaqpi',\n end: 'tukuy',\n live: 'kawsay',\n changes: 'tukurikun',\n },\n\n temporal: {\n seconds: 'sikundukuna',\n second: 'sikundu',\n milliseconds: 'iskay_paqta_sikundukuna',\n millisecond: 'iskay_paqta_sikundu',\n minutes: 'minutukuna',\n minute: 'minutu',\n hours: 'horakuna',\n hour: 'hora',\n ms: 'ms',\n s: 's',\n min: 'm',\n h: 'h',\n },\n\n values: {\n true: 'cheqaq',\n false: 'llulla',\n null: 'chusaq',\n undefined: 'mana_riqsisqa',\n it: 'chay',\n its: 'chaypaq',\n me: 'noqa',\n my: 'noqaq',\n myself: 'noqa killa',\n you: 'qam',\n your: 'qampaq',\n yourself: 'qam killa',\n element: 'raku',\n target: 'punta',\n detail: 'sut_iy',\n event: 'ruway',\n window: 'k_iri',\n document: 'qillqa',\n body: 'kurku',\n result: 'lluqsiy',\n value: 'chanin',\n },\n\n attributes: {\n class: 'ayllu',\n classes: 'ayllukuna',\n style: 'sami',\n styles: 'samikuna',\n attribute: 'kaq',\n attributes: 'kaqkuna',\n property: 'kanay',\n properties: 'kanaykuna',\n },\n\n expressions: {\n // Pick unit word (arc 3): native-first per qu convention — `sanampa`\n // (\"sign/letter\", the standard term for alphabet characters) over a\n // loanword. Paired with the QUECHUA_EXTRAS entry in the semantic\n // tokenizer; both surfaces must match verbatim.\n characters: 'sanampa',\n first: 'ñawpaq',\n last: 'qhipa',\n next: 'qhipantin',\n previous: 'ñawpaqnin',\n prev: 'ñawpaq',\n at: 'pi',\n random: 'imaymanata',\n closest: 'kaylla',\n parent: 'mama_tayta',\n children: 'wawakuna',\n within: 'ukupi',\n no: 'mana_kanchu',\n empty: 'chusaq',\n some: 'wakin',\n 'starts with': 'qallarisqa wan',\n 'ends with': 'tukusqa wan',\n 'ignoring case': 'hatun-huchuy qillqata-saqiy',\n 'sorted by': 'niqpi ruwasqa',\n 'mapped to': 'kay kaqman',\n 'split by': 'rakisqa',\n 'joined by': 'huñusqa',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const sw: Dictionary = {\n commands: {\n on: 'kwenye',\n tell: 'ambia',\n trigger: 'chochea',\n send: 'tuma',\n take: 'chukua',\n put: 'weka',\n // weka is the semantic sw profile's `put` primary; `set` is seti. Emitting weka\n // for set made the semantic parser read a transformed `set` as `put`.\n // See ZH_BLOCK_BODY_SCOPE.md (#2 sweep — keyword realignment, cf. zh fetch).\n set: 'seti',\n get: 'pata',\n add: 'ongeza',\n remove: 'ondoa',\n toggle: 'badilisha',\n // command blur (the events section has the blur EVENT word; without this\n // entry the transformer fell back to it and no profile read it as the verb)\n blur: 'blur',\n hide: 'ficha',\n show: 'onyesha',\n if: 'kama',\n unless: 'isipokuwa',\n repeat: 'rudia',\n for: 'kwa',\n while: 'wakati',\n until: 'hadi',\n continue: 'endelea',\n break: 'vunja',\n halt: 'simama',\n wait: 'ngoja',\n fetch: 'leta',\n call: 'ita',\n // `rudisha` (transitive, \"give back a value\"), not `rudi` (\"go back\"): the\n // semantic profile reads `rudisha`/`rejea`, so emitting `rudi` produced sw code\n // the parser could not read back. Kept clear of `rudia` (= `repeat`).\n return: 'rudisha',\n make: 'tengeneza', // auditor: dict emitted a word the profile reads differently\n log: 'andika',\n throw: 'tupa',\n catch: 'shika',\n measure: 'pima',\n transition: 'mpito',\n increment: 'ongezeko',\n decrement: 'punguza',\n default: 'msingi',\n go: 'nenda',\n pushUrl: 'sukumaUrl',\n replaceUrl: 'badilishaUrl',\n copy: 'nakala', // Batch 3: nakili is the clone keyword — rendered copy parsed as action=clone\n pick: 'chagua',\n beep: 'lia',\n js: 'js',\n async: 'sainkroni',\n render: 'chora',\n swap: 'badilishana',\n morph: 'geuza', // auditor: dict emitted a word the profile reads differently\n settle: 'tulia',\n append: 'ambatanisha', // profile primary; 'ongezaMwisho' is unrecognized\n exit: 'toka',\n install: 'sakinisha',\n breakpoint: 'nukta-simama',\n clear: 'safisha', // futa is a remove alternative in the profile\n close: 'funga',\n open: 'fungua',\n select: 'alama', // Batch 3: chagua is the pick keyword — bare select rendered with it parses null\n clone: 'nakili',\n prepend: 'tanguliza',\n focus: 'lenga',\n socket: 'soketi',\n },\n\n modifiers: {\n to: 'kwa',\n from: 'kutoka',\n into: 'ndani',\n with: 'na',\n at: 'katika',\n in: 'ndani',\n of: 'ya',\n // `kuwa` (\"to be/become\" — the conversion sense, cf. `badilisha kuwa`), not\n // `kama`: sw `kama` is the IF keyword (commands.if above and the semantic sw\n // profile's if primary), so emitting it for `as` grew a phantom `if` command\n // out of every transformed `as <Type>` tail (`kama JSON`, `kama Number`) when\n // the semantic parser split event-body statements. Same dict↔profile homonym\n // disambiguation as pl get/pobierz. The semantic fetch-sw pattern still\n // tolerates hand-written `kama` in as-marker position.\n as: 'kuwa',\n by: 'na',\n before: 'kabla',\n after: 'baada',\n over: 'juu',\n under: 'chini',\n between: 'kati',\n through: 'kupitia',\n without: 'bila',\n },\n\n events: {\n click: 'bonyeza',\n // V3c burn-down (2026-07-14): English passthrough — no native form round-trips\n // on the parse side (probe: split forms shatter, fused forms capture verbatim).\n dblclick: 'dblclick',\n mousedown: 'panya_shuka',\n mouseup: 'panya_juu',\n mouseenter: 'panya_ingia',\n mouseleave: 'panya_toka',\n // V3 Batch 2: panya_juu is mouseup's form (shared here by mistake — the\n // tokenizer deliberately maps it to mouseup for the corpus row, so a\n // mouseover handler captured `mouseup`) — realigned to the\n // tokenizer-registered `sogeza juu`.\n mouseover: 'sogeza juu',\n mouseout: 'panya_nje',\n mousemove: 'panya_sogea',\n keydown: 'kitufe_shuka',\n keyup: 'kitufe_juu',\n keypress: 'keypress',\n // V3 Batch 2: zingatia captured no event → lenga (S5b/tokenizer form);\n // poteza_macho was a null parse → `blur` (the S5b identity form — matches\n // the live corpus render `kwenye blur`); badilisha is the toggle VERB\n // homonym (a change handler captured event=`toggle` — a listener for a DOM\n // event named \"toggle\") → kubadilisha (S5b/tokenizer form).\n focus: 'lenga',\n blur: 'blur',\n change: 'kubadilisha',\n input: 'ingizo',\n submit: 'wasilisha',\n reset: 'reset',\n load: 'pakia',\n unload: 'shuka',\n resize: 'badilisha_ukubwa',\n scroll: 'sogeza',\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n },\n\n logical: {\n when: 'wakati',\n where: 'wapi',\n and: 'na',\n or: 'au',\n not: 'si',\n is: 'ni',\n exists: 'ipo',\n matches: 'inafanana',\n contains: 'ina',\n includes: 'pamoja',\n equals: 'sawa',\n has: 'ana',\n have: 'nina',\n then: 'kisha',\n else: 'sivyo',\n otherwise: 'vinginevyo',\n end: 'mwisho',\n live: 'mubashara',\n changes: 'inabadilika',\n },\n\n temporal: {\n seconds: 'sekunde',\n second: 'sekunde',\n milliseconds: 'millisekunde',\n millisecond: 'millisekunde',\n minutes: 'dakika',\n minute: 'dakika',\n hours: 'masaa',\n hour: 'saa',\n ms: 'ms',\n s: 's',\n min: 'dk',\n h: 'sa',\n },\n\n values: {\n true: 'kweli',\n false: 'uongo',\n null: 'tupu',\n undefined: 'haijafafanuliwa',\n it: 'hiyo',\n its: 'yake',\n me: 'mimi',\n my: 'yangu',\n myself: 'mimi mwenyewe',\n you: 'wewe',\n your: 'yako',\n yourself: 'wewe mwenyewe',\n element: 'kipengele',\n target: 'lengo',\n detail: 'maelezo',\n event: 'tukio',\n window: 'dirisha',\n document: 'hati',\n body: 'mwili',\n result: 'matokeo',\n value: 'thamani',\n },\n\n attributes: {\n class: 'darasa',\n classes: 'madarasa',\n style: 'mtindo',\n styles: 'mitindo',\n attribute: 'sifa',\n attributes: 'sifa',\n property: 'mali',\n properties: 'mali',\n },\n\n expressions: {\n characters: 'herufi',\n first: 'kwanza',\n // 'mwisho' is the END keyword (block terminator) — the tokenizer's keyword\n // map is last-wins, so a positional `last` emission of 'mwisho' reads as\n // `end` and terminates the enclosing block mid-condition (focus-trap's\n // `… inafanana mwisho <button/>` dropped the whole branch body). Emit the\n // concatenated adjective form instead (wa mwisho — the saufsi/wennnicht/\n // enyakın single-token class); the tokenizer reads it as `last`.\n last: 'wamwisho',\n next: 'ijayo',\n previous: 'iliyopita',\n prev: 'awali',\n at: 'katika',\n random: 'nasibu',\n // Natural Swahili: `karibu` (\"near/close\") is the ordinary word and already\n // maps to closest. The earlier `karibu_zaidi` (\"nearer\") underscore-split to\n // karibu/_/zaidi (the stray `_ zaidi` broke positional capture); the fused\n // `karibuzaidi` parsed but isn't real Swahili. `karibu` alone is both natural\n // and correct (the sw tokenizer is single-word-only, so a spaced `karibu\n // zaidi` would strand `zaidi` regardless).\n closest: 'karibu',\n parent: 'mzazi',\n children: 'watoto',\n within: 'ndani_ya',\n no: 'hakuna',\n empty: 'tupu',\n some: 'baadhi',\n 'starts with': 'huanza na',\n 'ends with': 'huisha na',\n 'ignoring case': 'puuza herufi kubwa ndogo',\n 'sorted by': 'kupangwa kwa',\n 'mapped to': 'kubadilishwa kuwa',\n 'split by': 'kugawanywa kwa',\n 'joined by': 'kuunganishwa kwa',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const pt: Dictionary = {\n commands: {\n on: 'em',\n tell: 'dizer',\n trigger: 'disparar',\n send: 'enviar',\n take: 'pegar',\n put: 'colocar',\n set: 'definir',\n get: 'obter',\n add: 'adicionar',\n remove: 'remover',\n toggle: 'alternar',\n // command blur (the events section has the blur EVENT word; without this\n // entry the transformer fell back to it and no profile read it as the verb)\n blur: 'desfocar',\n hide: 'esconder',\n show: 'mostrar',\n if: 'se',\n unless: 'salvo', // a_menos splits at _ in the pt extractor (see profile)\n repeat: 'repetir',\n for: 'para',\n while: 'enquanto',\n until: 'até',\n continue: 'continuar',\n // un-crossed: the profile/tokenizer read parar=halt, interromper=break\n break: 'interromper',\n halt: 'parar',\n wait: 'esperar',\n fetch: 'buscar',\n call: 'chamar',\n return: 'retornar',\n make: 'fazer',\n log: 'registrar',\n throw: 'lançar',\n catch: 'capturar',\n measure: 'medir',\n transition: 'transição',\n increment: 'incrementar',\n decrement: 'decrementar',\n default: 'padrão',\n go: 'ir',\n pushUrl: 'pushUrl',\n replaceUrl: 'substituirUrl',\n copy: 'copiar',\n pick: 'escolher',\n beep: 'apitar',\n js: 'js',\n async: 'assíncrono',\n render: 'renderizar',\n swap: 'trocar',\n morph: 'transformar',\n settle: 'estabilizar',\n append: 'anexar',\n exit: 'sair',\n install: 'instalar',\n breakpoint: 'ponto-interrupção',\n clear: 'limpar',\n close: 'fechar',\n open: 'abrir',\n select: 'selecionar',\n clone: 'clonar',\n prepend: 'preceder',\n focus: 'focar',\n socket: 'soquete',\n },\n\n modifiers: {\n to: 'para',\n from: 'de',\n into: 'em',\n with: 'com',\n at: 'em',\n in: 'dentro',\n of: 'de',\n as: 'como',\n by: 'por',\n before: 'antes',\n after: 'depois',\n over: 'sobre',\n under: 'sob',\n between: 'entre',\n through: 'através',\n without: 'sem',\n },\n\n events: {\n click: 'clique',\n dblclick: 'duploClique',\n mousedown: 'mouseBaixo',\n mouseup: 'mouseCima',\n mouseenter: 'mouseEntrar',\n mouseleave: 'mouseSair',\n // V3 Batch 2: camelCase forms split to the S5b/tokenizer-known forms (the\n // fused spellings captured event=expression:undefined — broken listeners)\n mouseover: 'mouse sobre',\n mouseout: 'mouse fora',\n mousemove: 'mouseMover',\n keydown: 'tecla baixo',\n keyup: 'tecla cima',\n keypress: 'teclaPressionar',\n focus: 'foco',\n blur: 'desfoque',\n change: 'mudança',\n input: 'entrada',\n submit: 'envio',\n reset: 'redefinir', // Batch 3: reiniciar captured on.event as expression (broken listener) — profile word round-trips\n load: 'carregar',\n unload: 'descarregar',\n resize: 'redimensionar',\n scroll: 'rolar',\n touchstart: 'toqueInício',\n touchend: 'toqueFim',\n touchmove: 'toqueMover',\n touchcancel: 'toqueCancelar',\n },\n\n logical: {\n when: 'quando',\n where: 'onde',\n and: 'e',\n or: 'ou',\n not: 'não',\n is: 'é',\n exists: 'existe',\n matches: 'corresponde',\n contains: 'contém',\n includes: 'inclui',\n equals: 'igual',\n has: 'tem',\n have: 'tenho',\n then: 'então',\n else: 'senão',\n otherwise: 'caso_contrário',\n end: 'fim',\n live: 'vivo',\n changes: 'muda',\n },\n\n temporal: {\n seconds: 'segundos',\n second: 'segundo',\n milliseconds: 'milissegundos',\n millisecond: 'milissegundo',\n minutes: 'minutos',\n minute: 'minuto',\n hours: 'horas',\n hour: 'hora',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n },\n\n values: {\n true: 'verdadeiro',\n false: 'falso',\n null: 'nulo',\n undefined: 'indefinido',\n it: 'isso',\n its: 'seu',\n me: 'eu',\n my: 'meu',\n myself: 'eu mesmo',\n you: 'você',\n your: 'seu',\n yourself: 'você mesmo',\n element: 'elemento',\n target: 'alvo',\n detail: 'detalhe',\n event: 'evento',\n window: 'janela',\n document: 'documento',\n body: 'corpo',\n result: 'resultado',\n value: 'valor',\n },\n\n attributes: {\n class: 'classe',\n classes: 'classes',\n style: 'estilo',\n styles: 'estilos',\n attribute: 'atributo',\n attributes: 'atributos',\n property: 'propriedade',\n properties: 'propriedades',\n },\n\n expressions: {\n characters: 'caracteres',\n inclusive: 'inclusivo',\n exclusive: 'exclusivo',\n first: 'primeiro',\n last: 'último',\n next: 'próximo',\n previous: 'anterior',\n prev: 'ant',\n at: 'em',\n random: 'aleatório',\n closest: 'maispróximo',\n parent: 'pai',\n children: 'filhos',\n within: 'dentro',\n no: 'nenhum',\n empty: 'vazio',\n some: 'algum',\n 'starts with': 'começa com',\n 'ends with': 'termina com',\n 'ignoring case': 'ignorando maiúsculas',\n 'sorted by': 'ordenado por',\n 'mapped to': 'mapeado para',\n 'split by': 'dividido por',\n 'joined by': 'unido por',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const it: Dictionary = {\n commands: {\n on: 'su',\n tell: 'dire',\n trigger: 'scatenare',\n send: 'inviare',\n take: 'prendere',\n put: 'mettere',\n set: 'impostare',\n get: 'ottenere',\n add: 'aggiungere',\n remove: 'rimuovere',\n toggle: 'commutare',\n hide: 'nascondere',\n show: 'mostrare',\n if: 'se',\n unless: 'salvo',\n repeat: 'ripetere',\n for: 'per',\n while: 'mentre',\n until: 'fino',\n continue: 'continuare',\n break: 'interrompere',\n halt: 'fermare',\n wait: 'aspettare',\n fetch: 'recuperare',\n call: 'chiamare',\n return: 'ritornare',\n make: 'fare',\n log: 'registrare',\n throw: 'lanciare',\n catch: 'catturare',\n measure: 'misurare',\n transition: 'transizione',\n increment: 'incrementare',\n decrement: 'decrementare',\n default: 'predefinito',\n go: 'andare',\n pushUrl: 'pushUrl',\n replaceUrl: 'sostituireUrl',\n copy: 'copiare',\n pick: 'scegliere',\n beep: 'beep',\n js: 'js',\n async: 'asincrono',\n render: 'renderizzare',\n swap: 'scambiare',\n morph: 'trasformare',\n settle: 'stabilizzare',\n append: 'accodare', // profile primary; 'aggiungere' is add's word (parsed as add)\n exit: 'uscire',\n install: 'installare',\n breakpoint: 'punto-interruzione',\n clear: 'cancellare',\n close: 'chiudere',\n open: 'aprire',\n select: 'selezionare',\n clone: 'clonare',\n prepend: 'anteporre',\n // profile primary; without a commands entry the transformer fell back to\n // the EVENTS noun 'fuoco', which generated focus patterns can't match\n focus: 'focalizzare',\n },\n\n modifiers: {\n to: 'a',\n from: 'da',\n into: 'in',\n with: 'con',\n at: 'a',\n in: 'in',\n of: 'di',\n as: 'come',\n by: 'per',\n before: 'prima',\n after: 'dopo',\n over: 'sopra',\n under: 'sotto',\n between: 'tra',\n through: 'attraverso',\n without: 'senza',\n },\n\n events: {\n click: 'clic',\n dblclick: 'doppioclic',\n // mousedown/mouseup: English passthrough — no native form round-trips on the\n // parse side (V3c probe 2026-07-14: fused forms captured verbatim, split forms\n // shattered to their first word — live broken listeners in repeat-until-event).\n // The Batch-2 id-keyup precedent; revisit if S5b + tokenizer gain native entries.\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mouseentra',\n mouseleave: 'mouseesce',\n mouseover: 'mousesopra',\n mouseout: 'mousefuori',\n mousemove: 'mousemuovi',\n keydown: 'tastogiù',\n keyup: 'tastosu',\n keypress: 'tastopremi',\n focus: 'fuoco',\n blur: 'sfuocare', // Batch 3: the noun form parsed the blur command with no patient; the verb round-trips both event and command slots\n change: 'cambio',\n input: 'input',\n submit: 'invio',\n reset: 'reimpostare', // Batch 3: English passthrough captured on.event as expression — profile verb round-trips\n load: 'carica',\n unload: 'scarica',\n resize: 'ridimensiona',\n scroll: 'scorrimento',\n touchstart: 'toccoinizia',\n touchend: 'toccofine',\n touchmove: 'toccomuovi',\n touchcancel: 'toccoannulla',\n },\n\n logical: {\n when: 'quando',\n where: 'dove',\n and: 'e',\n or: 'o',\n not: 'non',\n is: 'è',\n exists: 'esiste',\n matches: 'corrisponde',\n contains: 'contiene',\n includes: 'include',\n equals: 'uguale',\n has: 'ha',\n have: 'ho',\n then: 'allora',\n else: 'altrimenti',\n otherwise: 'altrimenti',\n end: 'fine',\n live: 'vivo',\n changes: 'cambia',\n },\n\n temporal: {\n seconds: 'secondi',\n second: 'secondo',\n milliseconds: 'millisecondi',\n millisecond: 'millisecondo',\n minutes: 'minuti',\n minute: 'minuto',\n hours: 'ore',\n hour: 'ora',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n },\n\n values: {\n true: 'vero',\n false: 'falso',\n null: 'nullo',\n undefined: 'indefinito',\n it: 'esso',\n its: 'suo',\n me: 'io',\n my: 'mio',\n you: 'tu',\n your: 'tuo',\n yourself: 'te stesso',\n myself: 'me stesso',\n element: 'elemento',\n target: 'obiettivo',\n detail: 'dettaglio',\n event: 'evento',\n window: 'finestra',\n document: 'documento',\n body: 'corpo',\n result: 'risultato',\n value: 'valore',\n },\n\n attributes: {\n class: 'classe',\n classes: 'classi',\n style: 'stile',\n styles: 'stili',\n attribute: 'attributo',\n attributes: 'attributi',\n property: 'proprietà',\n properties: 'proprietà',\n },\n\n expressions: {\n characters: 'caratteri',\n inclusive: 'inclusivo',\n exclusive: 'esclusivo',\n first: 'primo',\n last: 'ultimo',\n next: 'prossimo',\n previous: 'precedente',\n prev: 'prec',\n at: 'a',\n random: 'casuale',\n closest: 'vicino',\n parent: 'genitore',\n children: 'figli',\n within: 'dentro',\n no: 'nessun',\n empty: 'vuoto',\n some: 'qualche',\n 'starts with': 'inizia con',\n 'ends with': 'finisce con',\n 'ignoring case': 'ignorando maiuscole',\n 'sorted by': 'ordinato per',\n 'mapped to': 'trasformato in',\n 'split by': 'diviso per',\n 'joined by': 'unito per',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const vi: Dictionary = {\n commands: {\n on: 'khi',\n tell: 'nói với',\n trigger: 'kích hoạt',\n send: 'gửi',\n take: 'lấy',\n put: 'đặt',\n set: 'gán',\n get: 'lấy giá trị',\n add: 'thêm',\n remove: 'xóa',\n toggle: 'chuyển đổi',\n hide: 'ẩn',\n show: 'hiển thị',\n if: 'nếu',\n unless: 'trừ khi',\n repeat: 'lặp lại',\n for: 'với mỗi',\n while: 'trong khi',\n until: 'cho đến khi',\n continue: 'tiếp tục',\n break: 'dừng',\n halt: 'dừng lại',\n wait: 'chờ',\n fetch: 'tải',\n call: 'gọi',\n return: 'trả về',\n make: 'tạo',\n log: 'in ra',\n throw: 'ném',\n catch: 'bắt',\n measure: 'đo lường',\n transition: 'chuyển tiếp',\n increment: 'tăng',\n decrement: 'giảm',\n default: 'mặc định',\n go: 'đi đến',\n pushUrl: 'pushUrl',\n replaceUrl: 'thayThếUrl',\n copy: 'sao chép',\n pick: 'chọn',\n beep: 'beep',\n js: 'js',\n async: 'bất đồng bộ',\n render: 'kết xuất', // distinct from `show` (was `hiển thị`, which collides with show: the semantic profile reads `hiển thị` as show, `kết xuất` as render)\n swap: 'hoán đổi',\n morph: 'biến đổi',\n settle: 'ổn định',\n append: 'nối',\n exit: 'thoát',\n focus: 'tập trung',\n blur: 'mất tập trung',\n init: 'khởi tạo',\n behavior: 'hành vi',\n install: 'cài đặt',\n clone: 'nhân bản', // Batch 3: 'sao chép' is the copy verb — rendered clone parsed as action=copy\n prepend: 'thêm vào đầu', // Batch 3: 'thêm đầu' shatters at 'thêm' (add) — parsed as action=add\n else: 'không thì',\n breakpoint: 'điểm-dừng',\n clear: 'tẩy', // xóa is the remove PRIMARY in the profile\n close: 'đóng',\n open: 'mở',\n select: 'đánh-dấu', // Batch 3: 'chọn' is the pick keyword — bare select rendered with it parses null\n },\n\n modifiers: {\n into: 'vào',\n before: 'trước',\n after: 'sau',\n then: 'rồi',\n end: 'kết thúc',\n from: 'từ',\n to: 'đến',\n with: 'với',\n as: 'như',\n by: 'bởi',\n on: 'trên',\n in: 'trong',\n at: 'tại',\n of: 'của',\n between: 'giữa',\n the: '',\n times: 'lần',\n },\n\n events: {\n click: 'nhấp',\n dblclick: 'dblclick',\n input: 'nhập',\n change: 'change',\n submit: 'nộp', // Batch 3: 'gửi' is the send verb — on-submit listener captured event \"send\"\n keydown: 'keydown',\n keyup: 'keyup',\n keypress: 'keypress',\n mouseover: 'mouseover',\n mouseout: 'mouseout',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n focus: 'focus',\n blur: 'blur',\n // V3c burn-down (2026-07-14): English passthrough — no native form round-trips\n // on the parse side (probe: split forms shatter, fused forms capture verbatim).\n reset: 'reset',\n load: 'load',\n scroll: 'cuộn',\n resize: 'đổi kích thước',\n },\n\n logical: {\n when: 'khi',\n where: 'ở_đâu',\n and: 'và',\n or: 'hoặc',\n not: 'không',\n is: 'là',\n equals: 'bằng',\n contains: 'chứa',\n matches: 'khớp',\n exists: 'tồn tại',\n has: 'có',\n have: 'có',\n empty: 'trống',\n true: 'đúng',\n false: 'sai',\n null: 'rỗng',\n else: 'không thì',\n end: 'kết thúc',\n then: 'rồi',\n live: 'live',\n changes: 'thay đổi',\n },\n\n temporal: {\n now: 'bây giờ',\n today: 'hôm nay',\n tomorrow: 'ngày mai',\n yesterday: 'hôm qua',\n always: 'luôn luôn',\n never: 'không bao giờ',\n sometimes: 'đôi khi',\n once: 'một lần',\n twice: 'hai lần',\n forever: 'mãi mãi',\n },\n\n values: {\n true: 'đúng',\n false: 'sai',\n null: 'rỗng',\n undefined: 'không xác định',\n none: 'không có',\n all: 'tất cả',\n any: 'bất kỳ',\n some: 'một số',\n each: 'mỗi',\n every: 'tất cả',\n body: 'body',\n event: 'sự kiện',\n it: 'nó',\n its: 'của nó',\n me: 'tôi',\n my: 'của tôi',\n result: 'kết quả',\n target: 'mục tiêu',\n you: 'bạn',\n your: 'của bạn',\n },\n\n attributes: {\n id: 'id',\n class: 'lớp',\n style: 'kiểu',\n value: 'giá trị',\n text: 'văn bản',\n html: 'html',\n src: 'nguồn',\n href: 'liên kết',\n disabled: 'vô hiệu',\n hidden: 'ẩn',\n checked: 'được chọn',\n selected: 'được chọn',\n },\n\n expressions: {\n random: 'ngẫu nhiên',\n characters: 'ký tự',\n inclusive: 'bao gồm',\n exclusive: 'loại trừ',\n me: 'tôi',\n my: 'của tôi',\n it: 'nó',\n its: 'của nó',\n result: 'kết quả',\n event: 'sự kiện',\n target: 'mục tiêu',\n first: 'đầu tiên',\n last: 'cuối cùng',\n next: 'tiếp theo',\n previous: 'trước đó',\n parent: 'cha',\n children: 'con',\n closest: 'gần nhất',\n empty: 'làm-rỗng',\n 'starts with': 'bắt đầu bằng',\n 'ends with': 'kết thúc bằng',\n 'ignoring case': 'không phân biệt hoa thường',\n 'sorted by': 'sắp xếp theo',\n 'mapped to': 'ánh xạ thành',\n 'split by': 'tách bởi',\n 'joined by': 'nối bởi',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const pl: Dictionary = {\n commands: {\n on: 'gdy',\n tell: 'powiedz',\n trigger: 'wyzwól', // auditor: dict emitted a word the profile reads differently\n send: 'wyślij',\n take: 'weź',\n put: 'umieść',\n set: 'ustaw',\n // `uzyskaj` (the semantic pl profile's get primary), not `pobierz`: pl `pobierz`\n // (\"download\") is the profile's FETCH primary, so emitting it for get made the\n // parser read every transformed get as fetch (get-value lossy + a phantom fetch).\n // Same dict↔profile homonym disambiguation as tr load/install, qu get.\n get: 'uzyskaj',\n add: 'dodaj',\n remove: 'usuń',\n toggle: 'przełącz',\n // command blur (the events section has the blur EVENT word; without this\n // entry the transformer fell back to it and no profile read it as the verb)\n blur: 'rozmyj',\n hide: 'ukryj',\n show: 'pokaż',\n if: 'jeśli',\n unless: 'chyba',\n repeat: 'powtórz',\n for: 'dla',\n while: 'dopóki',\n until: 'aż',\n continue: 'kontynuuj',\n break: 'przerwij',\n halt: 'zatrzymaj',\n wait: 'czekaj',\n fetch: 'pobierz',\n call: 'wywołaj',\n return: 'zwróć',\n make: 'utwórz',\n log: 'loguj',\n throw: 'rzuć',\n catch: 'złap',\n measure: 'zmierz',\n transition: 'animuj',\n increment: 'zwiększ',\n decrement: 'zmniejsz',\n default: 'domyślnie',\n go: 'idź',\n pushUrl: 'dodajUrl',\n replaceUrl: 'zamieńUrl',\n copy: 'kopiuj',\n pick: 'wybierz',\n beep: 'sygnał',\n js: 'js',\n async: 'async',\n render: 'renderuj',\n swap: 'zamień',\n morph: 'przekształć',\n settle: 'ustabilizuj',\n append: 'dołącz',\n exit: 'wyjdź',\n install: 'zainstaluj',\n breakpoint: 'punkt-przerwania',\n clear: 'zeruj', // wyczyść is a remove alternative in the profile\n close: 'zamknij',\n open: 'otwórz',\n select: 'zaznacz', // Batch 3: wybierz is the pick keyword — bare select rendered with it parses null\n clone: 'sklonuj',\n prepend: 'poprzedź',\n focus: 'skup',\n },\n\n modifiers: {\n to: 'do',\n from: 'z',\n into: 'do',\n with: 'z',\n at: 'przy',\n in: 'w',\n of: 'z',\n as: 'jako',\n by: 'przez',\n before: 'przed',\n after: 'po',\n over: 'nad',\n under: 'pod',\n between: 'między',\n through: 'przez',\n without: 'bez',\n },\n\n events: {\n click: 'kliknięcie',\n dblclick: 'podwójnekliknięcie',\n // mousedown/mouseup: English passthrough — no native form round-trips on the\n // parse side (V3c probe 2026-07-14: fused forms captured verbatim, split forms\n // shattered to their first word — live broken listeners in repeat-until-event).\n // The Batch-2 id-keyup precedent; revisit if S5b + tokenizer gain native entries.\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'myszwejście',\n mouseleave: 'myszwyjście',\n mouseover: 'mysznad',\n mouseout: 'myszpoza',\n mousemove: 'myszruch',\n keydown: 'klawiszdół',\n keyup: 'klawiszgóra',\n keypress: 'klawisznaciśnięcie',\n focus: 'fokus',\n blur: 'rozmycie',\n change: 'zmiana',\n input: 'wejście',\n submit: 'wysłaniu', // Batch 3: wyślij is the send verb — on-submit listener captured event \"send\"\n reset: 'zresetuj', // Batch 3: resetuj captured on.event as expression (broken listener) — profile word round-trips\n load: 'załaduj',\n unload: 'wyładuj',\n resize: 'zmieńrozmiar',\n scroll: 'przewiń',\n touchstart: 'dotykstart',\n touchend: 'dotykkoniec',\n touchmove: 'dotykruch',\n touchcancel: 'dotykanuluj',\n },\n\n logical: {\n when: 'kiedy',\n where: 'gdzie',\n and: 'i',\n or: 'lub',\n not: 'nie',\n is: 'jest',\n exists: 'istnieje',\n matches: 'pasuje',\n contains: 'zawiera',\n includes: 'obejmuje',\n equals: 'równa się',\n has: 'ma',\n have: 'mam',\n then: 'wtedy',\n else: 'inaczej',\n otherwise: 'wpp',\n end: 'koniec',\n live: 'żywy',\n changes: 'zmienia',\n },\n\n temporal: {\n seconds: 'sekundy',\n second: 'sekunda',\n milliseconds: 'milisekundy',\n millisecond: 'milisekunda',\n minutes: 'minuty',\n minute: 'minuta',\n hours: 'godziny',\n hour: 'godzina',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'godz',\n },\n\n values: {\n true: 'prawda',\n false: 'fałsz',\n null: 'null',\n undefined: 'niezdefiniowane',\n it: 'to',\n its: 'jego',\n me: 'ja',\n my: 'mój',\n you: 'ty',\n your: 'twój',\n yourself: 'ty sam',\n myself: 'ja sam',\n element: 'element',\n target: 'cel',\n detail: 'szczegół',\n event: 'zdarzenie',\n window: 'okno',\n document: 'dokument',\n body: 'body',\n result: 'wynik',\n value: 'wartość',\n },\n\n attributes: {\n class: 'klasa',\n classes: 'klasy',\n style: 'styl',\n styles: 'style',\n attribute: 'atrybut',\n attributes: 'atrybuty',\n property: 'właściwość',\n properties: 'właściwości',\n },\n\n expressions: {\n characters: 'znaki',\n inclusive: 'włącznie',\n exclusive: 'wyłącznie',\n first: 'pierwszy',\n last: 'ostatni',\n next: 'następny',\n previous: 'poprzedni',\n prev: 'poprz',\n at: 'przy',\n random: 'losowy',\n closest: 'najbliższy',\n parent: 'rodzic',\n children: 'dzieci',\n within: 'wewnątrz',\n no: 'brak',\n empty: 'pusty',\n some: 'jakiś',\n 'starts with': 'zaczyna się od',\n 'ends with': 'kończy się na',\n 'ignoring case': 'ignorując wielkość liter',\n 'sorted by': 'sortowane według',\n 'mapped to': 'przekształcone na',\n 'split by': 'podzielone przez',\n 'joined by': 'połączone przez',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const russianDictionary: Dictionary = {\n commands: {\n on: 'при',\n tell: 'сказать',\n trigger: 'запустить', // auditor: dict emitted a word the profile reads differently\n send: 'отправить',\n take: 'взять',\n put: 'положить',\n set: 'установить',\n get: 'получить',\n add: 'добавить',\n remove: 'удалить',\n toggle: 'переключить',\n hide: 'скрыть',\n show: 'показать',\n // command verb; the events section keeps the noun прокрутка for `on scroll`.\n // Without this entry the transformer fell back to the event noun, which the\n // parser doesn't read as the scroll command (#321 focus family).\n scroll: 'прокрутить',\n if: 'если',\n unless: 'кроме',\n repeat: 'повторить',\n for: 'для',\n while: 'пока',\n until: 'до',\n continue: 'продолжить',\n break: 'прервать',\n halt: 'остановить',\n wait: 'ждать',\n fetch: 'загрузить',\n call: 'вызвать',\n return: 'вернуть',\n make: 'создать',\n log: 'записать',\n throw: 'бросить',\n catch: 'поймать',\n measure: 'измерить',\n transition: 'анимировать',\n increment: 'увеличить',\n decrement: 'уменьшить',\n default: 'по_умолчанию',\n go: 'перейти',\n pushUrl: 'добавить_url',\n replaceUrl: 'заменить_url',\n copy: 'копировать',\n pick: 'выбрать',\n beep: 'звук',\n js: 'js',\n async: 'асинхронно',\n render: 'отобразить',\n swap: 'поменять',\n morph: 'трансформировать',\n settle: 'стабилизировать',\n append: 'дописать', // profile alternative; the compound splits and добавить parses as add\n exit: 'выйти',\n else: 'иначе',\n install: 'инсталлировать', // loanword — `установить` is `set` (homonym); see russian profile\n init: 'инициализировать',\n behavior: 'поведение',\n focus: 'сфокусировать',\n blur: 'размыть',\n clone: 'клонировать',\n prepend: 'добавить_в_начало',\n breakpoint: 'точка-останова',\n clear: 'очистить',\n close: 'закрыть',\n open: 'открыть',\n select: 'выделить', // Batch 3: выбрать is the pick keyword — bare select rendered with it parses null\n },\n\n modifiers: {\n to: 'к',\n from: 'из',\n into: 'в',\n with: 'с',\n at: 'у',\n in: 'в',\n of: 'из',\n as: 'как',\n by: 'на',\n before: 'до',\n after: 'после',\n over: 'над',\n under: 'под',\n between: 'между',\n through: 'через',\n without: 'без',\n on: 'на',\n },\n\n events: {\n click: 'клик',\n dblclick: 'двойной_клик',\n // Fused (no `_`): the semantic tokenizer splits on `_`, so an underscore form\n // breaks event recognition (mousedown → bare expression). Mirrors the #510 tr\n // resize fix (boyut_değiştir → boyutlandırma) and the enyakın superlative.\n mousedown: 'мышьвниз',\n mouseup: 'мышьвверх',\n mouseenter: 'мышь_вход',\n mouseleave: 'мышь_выход',\n mouseover: 'наведение',\n mouseout: 'уход',\n mousemove: 'движение_мыши',\n keydown: 'клавиша_вниз',\n keyup: 'клавиша_вверх',\n keypress: 'нажатие_клавиши',\n focus: 'фокус',\n blur: 'потеря_фокуса',\n change: 'изменение',\n input: 'ввод',\n submit: 'отправка',\n reset: 'сбросить', // Batch 3: сброс captured on.event as expression (broken listener) — profile verb round-trips\n load: 'загрузка',\n unload: 'выгрузка',\n resize: 'изменениеразмера', // fused (no `_`) — see mousedown note above\n scroll: 'прокрутка',\n touchstart: 'касание_начало',\n touchend: 'касание_конец',\n touchmove: 'касание_движение',\n touchcancel: 'касание_отмена',\n },\n\n logical: {\n when: 'когда',\n where: 'где',\n and: 'и',\n or: 'или',\n not: 'не',\n is: 'есть',\n exists: 'существует',\n matches: 'соответствует',\n contains: 'содержит',\n includes: 'включает',\n equals: 'равно',\n then: 'затем',\n else: 'иначе',\n otherwise: 'в_противном_случае',\n end: 'конец',\n live: 'живой',\n changes: 'изменяется',\n has: 'имеет',\n have: 'имею',\n isNot: 'не_есть',\n empty: 'пустой',\n },\n\n temporal: {\n seconds: 'секунд',\n second: 'секунда',\n milliseconds: 'миллисекунд',\n millisecond: 'миллисекунда',\n minutes: 'минут',\n minute: 'минута',\n hours: 'часов',\n hour: 'час',\n ms: 'мс',\n s: 'с',\n min: 'мин',\n h: 'ч',\n forever: 'всегда',\n once: 'однажды',\n every: 'каждый',\n until: 'до',\n },\n\n values: {\n true: 'истина',\n false: 'ложь',\n null: 'ничего',\n undefined: 'неопределено',\n it: 'это',\n its: 'его',\n me: 'я',\n my: 'мой',\n you: 'ты',\n your: 'твой',\n yourself: 'сам',\n myself: 'я_сам',\n element: 'элемент',\n target: 'цель',\n detail: 'детали',\n event: 'событие',\n window: 'окно',\n document: 'документ',\n body: 'тело',\n result: 'результат',\n value: 'значение',\n first: 'первый',\n last: 'последний',\n next: 'следующий',\n previous: 'предыдущий',\n closest: 'ближайший',\n parent: 'родитель',\n },\n\n attributes: {\n class: 'класс',\n classes: 'классы',\n style: 'стиль',\n styles: 'стили',\n attribute: 'атрибут',\n attributes: 'атрибуты',\n property: 'свойство',\n properties: 'свойства',\n disabled: 'отключено',\n hidden: 'скрыто',\n checked: 'отмечено',\n selected: 'выбрано',\n readonly: 'только_чтение',\n required: 'обязательно',\n text: 'текст',\n html: 'html',\n },\n\n expressions: {\n characters: 'символы',\n inclusive: 'включительно',\n exclusive: 'исключительно',\n first: 'первый',\n last: 'последний',\n next: 'следующий',\n previous: 'предыдущий',\n prev: 'пред',\n at: 'в',\n random: 'случайный',\n closest: 'ближайший',\n parent: 'родитель',\n children: 'дети',\n within: 'внутри',\n no: 'нет',\n empty: 'пустой',\n some: 'некоторые',\n 'starts with': 'начинается_с',\n 'ends with': 'заканчивается_на',\n 'ignoring case': 'без_учёта_регистра',\n 'sorted by': 'сортировано_по',\n 'mapped to': 'преобразовано_в',\n 'split by': 'разделено_по',\n 'joined by': 'объединено_через',\n },\n};\n\nexport const ru = russianDictionary;\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const ukrainianDictionary: Dictionary = {\n commands: {\n on: 'при',\n tell: 'сказати',\n trigger: 'запустити', // auditor: dict emitted a word the profile reads differently\n send: 'надіслати',\n take: 'взяти',\n put: 'покласти',\n set: 'встановити',\n get: 'отримати',\n add: 'додати',\n remove: 'видалити',\n toggle: 'перемкнути',\n hide: 'сховати',\n show: 'показати',\n // command verb; the events section keeps the noun прокрутка for `on scroll`.\n // Without this entry the transformer fell back to the event noun, which the\n // parser doesn't read as the scroll command (#321 focus family).\n scroll: 'прокрутити',\n if: 'якщо',\n unless: 'крім',\n repeat: 'повторити',\n for: 'для',\n while: 'поки',\n until: 'до',\n continue: 'продовжити',\n break: 'перервати',\n halt: 'зупинити',\n wait: 'чекати',\n fetch: 'завантажити',\n call: 'викликати',\n return: 'повернути',\n make: 'створити',\n log: 'записати',\n throw: 'кинути',\n catch: 'зловити',\n measure: 'виміряти',\n transition: 'анімувати',\n increment: 'збільшити',\n decrement: 'зменшити',\n default: 'за_замовчуванням',\n go: 'перейти',\n pushUrl: 'додати_url',\n replaceUrl: 'замінити_url',\n copy: 'копіювати',\n pick: 'вибрати',\n beep: 'звук',\n js: 'js',\n async: 'асинхронно',\n render: 'відобразити',\n swap: 'поміняти',\n morph: 'трансформувати',\n settle: 'стабілізувати',\n append: 'дописати', // profile alternative; the compound splits and додати parses as add\n exit: 'вийти',\n else: 'інакше',\n install: 'інсталювати', // loanword — `встановити` is `set` (homonym); see ukrainian profile\n init: 'ініціалізувати',\n behavior: 'поведінка',\n focus: 'сфокусувати',\n blur: 'розфокусувати',\n clone: 'клонувати',\n prepend: 'додати_на_початок',\n breakpoint: 'точка-зупинки',\n clear: 'очистити',\n close: 'закрити',\n open: 'відкрити',\n select: 'виділити', // Batch 3: вибрати is the pick keyword — bare select rendered with it parses null\n },\n\n modifiers: {\n to: 'до',\n from: 'з',\n into: 'в',\n with: 'з',\n at: 'в',\n in: 'у',\n of: 'з',\n as: 'як',\n by: 'на',\n before: 'до',\n after: 'після',\n over: 'над',\n under: 'під',\n between: 'між',\n through: 'через',\n without: 'без',\n on: 'на',\n },\n\n events: {\n click: 'клік',\n dblclick: 'подвійний_клік',\n // Fused (no `_`): the semantic tokenizer splits on `_`, so an underscore form\n // breaks event recognition. Mirrors the #510 tr resize fix + enyakın.\n mousedown: 'мишавниз',\n mouseup: 'мишавгору',\n mouseenter: 'миша_вхід',\n mouseleave: 'миша_вихід',\n mouseover: 'наведення',\n mouseout: 'відведення',\n mousemove: 'рух_миші',\n keydown: 'клавіша_вниз',\n keyup: 'клавіша_вгору',\n keypress: 'натискання_клавіші',\n focus: 'фокус',\n blur: 'розфокус',\n change: 'зміна',\n input: 'введення',\n submit: 'надсилання',\n reset: 'скинути', // Batch 3: скидання captured on.event as expression (broken listener) — profile verb round-trips\n load: 'завантаження',\n unload: 'вивантаження',\n resize: 'змінарозміру', // fused (no `_`) — see mousedown note above\n scroll: 'прокрутка',\n touchstart: 'дотик_початок',\n touchend: 'дотик_кінець',\n touchmove: 'дотик_рух',\n touchcancel: 'дотик_скасування',\n },\n\n logical: {\n when: 'коли',\n where: 'де',\n and: 'і',\n or: 'або',\n not: 'не',\n is: 'є',\n exists: 'існує',\n matches: 'відповідає',\n contains: 'містить',\n includes: 'включає',\n equals: 'дорівнює',\n then: 'тоді',\n else: 'інакше',\n otherwise: 'в_іншому_випадку',\n end: 'кінець',\n live: 'живий',\n changes: 'змінюється',\n has: 'має',\n have: 'маю',\n isNot: 'не_є',\n empty: 'порожній',\n },\n\n temporal: {\n seconds: 'секунд',\n second: 'секунда',\n milliseconds: 'мілісекунд',\n millisecond: 'мілісекунда',\n minutes: 'хвилин',\n minute: 'хвилина',\n hours: 'годин',\n hour: 'година',\n ms: 'мс',\n s: 'с',\n min: 'хв',\n h: 'год',\n forever: 'завжди',\n once: 'один_раз',\n every: 'кожний',\n until: 'до',\n },\n\n values: {\n true: 'істина',\n false: 'хибність',\n null: 'нічого',\n undefined: 'невизначено',\n it: 'це',\n its: 'його',\n me: 'я',\n my: 'мій',\n you: 'ти',\n your: 'твій',\n yourself: 'сам',\n myself: 'я_сам',\n element: 'елемент',\n target: 'ціль',\n detail: 'деталі',\n event: 'подія',\n window: 'вікно',\n document: 'документ',\n body: 'тіло',\n result: 'результат',\n value: 'значення',\n first: 'перший',\n last: 'останній',\n next: 'наступний',\n previous: 'попередній',\n closest: 'найближчий',\n parent: 'батьківський',\n },\n\n attributes: {\n class: 'клас',\n classes: 'класи',\n style: 'стиль',\n styles: 'стилі',\n attribute: 'атрибут',\n attributes: 'атрибути',\n property: 'властивість',\n properties: 'властивості',\n disabled: 'вимкнено',\n hidden: 'приховано',\n checked: 'позначено',\n selected: 'вибрано',\n readonly: 'лише_читання',\n required: \"обов'язково\",\n text: 'текст',\n html: 'html',\n },\n\n expressions: {\n characters: 'символи',\n inclusive: 'включно',\n exclusive: 'виключно',\n first: 'перший',\n last: 'останній',\n next: 'наступний',\n previous: 'попередній',\n prev: 'попер',\n at: 'в',\n random: 'випадковий',\n closest: 'найближчий',\n parent: 'батьківський',\n children: 'діти',\n within: 'всередині',\n no: 'ні',\n empty: 'порожній',\n some: 'деякі',\n 'starts with': 'починається_з',\n 'ends with': 'закінчується_на',\n 'ignoring case': 'без_урахування_регістру',\n 'sorted by': 'відсортовано_за',\n 'mapped to': 'перетворено_на',\n 'split by': 'розділено_за',\n 'joined by': \"об'єднано_через\",\n },\n};\n\nexport const uk = ukrainianDictionary;\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const hindiDictionary: Dictionary = {\n commands: {\n on: 'पर',\n tell: 'बताएं',\n trigger: 'ट्रिगर',\n send: 'भेजें',\n take: 'लें',\n put: 'रखें',\n set: 'सेट',\n get: 'प्राप्त',\n add: 'जोड़ें',\n remove: 'हटाएं',\n toggle: 'टॉगल',\n hide: 'छिपाएं',\n show: 'दिखाएं',\n if: 'अगर',\n unless: 'जब तक नहीं', // spaced (not जब_तक_नहीं) → one multi-word `unless` token\n repeat: 'दोहराएं',\n for: 'हेतु', // single token — के_लिए splits at _ in the hi extractor\n while: 'जब तक',\n until: 'तक',\n continue: 'जारी',\n break: 'रोकें',\n halt: 'रोकें',\n wait: 'प्रतीक्षा',\n fetch: 'लाएं',\n call: 'कॉल',\n return: 'लौटाएं',\n make: 'बनाएं',\n log: 'लॉग',\n throw: 'फेंकें',\n catch: 'पकड़ें',\n measure: 'मापें',\n transition: 'संक्रमण',\n increment: 'बढ़ाएं',\n decrement: 'घटाएं',\n default: 'डिफ़ॉल्ट',\n go: 'जाएं',\n pushUrl: 'url_जोड़ें',\n replaceUrl: 'url_बदलें',\n copy: 'कॉपी',\n pick: 'चुनें',\n beep: 'बीप',\n js: 'जेएस',\n async: 'असिंक',\n render: 'रेंडर',\n swap: 'विनिमय',\n morph: 'रूपांतर',\n settle: 'स्थिर',\n append: 'संलग्न',\n exit: 'बाहर',\n else: 'वरना',\n install: 'इंस्टॉल',\n init: 'प्रारंभ',\n behavior: 'व्यवहार',\n focus: 'फोकस',\n blur: 'धुंधला',\n clone: 'क्लोन', // Batch 3: कॉपी is the copy verb — rendered clone parsed as action=copy\n prepend: 'जोड़ें_शुरू',\n breakpoint: 'ब्रेकप्वाइंट',\n clear: 'साफ़-करें',\n close: 'बंद-करें',\n open: 'खोलें',\n select: 'चिह्नित-करें', // Batch 3: चुनें is the pick keyword — bare select rendered with it parses null\n socket: 'सॉकेट',\n },\n\n modifiers: {\n to: 'को',\n from: 'से',\n into: 'में',\n with: 'के_साथ',\n at: 'पर',\n in: 'में',\n of: 'का',\n as: 'के_रूप_में',\n by: 'द्वारा',\n before: 'से पहले',\n after: 'के बाद',\n over: 'के_ऊपर',\n under: 'के_नीचे',\n between: 'के_बीच',\n through: 'के_माध्यम_से',\n without: 'के_बिना',\n on: 'पर',\n },\n\n events: {\n click: 'क्लिक',\n dblclick: 'डबल_क्लिक',\n // Fused (no `_`): the semantic tokenizer splits on `_`, breaking event\n // recognition (mousedown → \"नीचे\"). Mirrors the #535 ru/uk fuse.\n mousedown: 'माउसनीचे',\n mouseup: 'माउसऊपर',\n mouseenter: 'माउस_प्रवेश',\n mouseleave: 'माउस_बाहर',\n mouseover: 'माउस_ओवर',\n mouseout: 'माउस_आउट',\n mousemove: 'माउस_मूव',\n keydown: 'की_नीचे',\n keyup: 'की_ऊपर',\n keypress: 'की_प्रेस',\n focus: 'फोकस',\n blur: 'धुंधला',\n change: 'परिवर्तन',\n input: 'इनपुट',\n submit: 'जमा',\n reset: 'रीसेट',\n load: 'लोड',\n unload: 'अनलोड',\n resize: 'आकार_बदलें',\n scroll: 'स्क्रॉल',\n touchstart: 'टच_शुरू',\n touchend: 'टच_समाप्त',\n touchmove: 'टच_मूव',\n touchcancel: 'टच_रद्द',\n },\n\n logical: {\n when: 'जब',\n where: 'कहाँ',\n and: 'और',\n or: 'या',\n not: 'नहीं',\n is: 'है',\n exists: 'मौजूद',\n // Natural spaced phrase `मेल खाता` (\"matches\") — how Hindi writes it. The base\n // tokenizer now matches multi-word profile keywords, so the hindi profile maps\n // `मेल खाता`→matches without the underscore (`मेल_खाता` split) or the\n // concatenated `मेलखाता` (parsed, but unnatural) workarounds.\n matches: 'मेल खाता',\n contains: 'शामिल',\n includes: 'में_है',\n equals: 'बराबर',\n then: 'फिर',\n else: 'वरना',\n otherwise: 'अन्यथा',\n end: 'समाप्त',\n live: 'लाइव',\n changes: 'बदलने पर',\n has: 'है',\n have: 'है',\n isNot: 'नहीं_है',\n empty: 'खाली',\n },\n\n temporal: {\n seconds: 'सेकंड',\n second: 'सेकंड',\n milliseconds: 'मिलीसेकंड',\n millisecond: 'मिलीसेकंड',\n minutes: 'मिनट',\n minute: 'मिनट',\n hours: 'घंटे',\n hour: 'घंटा',\n ms: 'मिसे',\n s: 'से',\n min: 'मि',\n h: 'घं',\n forever: 'हमेशा',\n once: 'एक_बार',\n every: 'हर',\n until: 'तक',\n },\n\n values: {\n true: 'सच',\n false: 'झूठ',\n null: 'खाली',\n undefined: 'अपरिभाषित',\n it: 'यह',\n its: 'इसका',\n me: 'मैं',\n my: 'मेरा',\n you: 'आप',\n your: 'आपका',\n yourself: 'स्वयं',\n myself: 'मैं_स्वयं',\n element: 'तत्व',\n target: 'लक्ष्य',\n detail: 'विवरण',\n event: 'घटना',\n window: 'विंडो',\n document: 'दस्तावेज़',\n body: 'बॉडी',\n result: 'परिणाम',\n value: 'मान',\n first: 'पहला',\n last: 'अंतिम',\n next: 'अगला',\n previous: 'पिछला',\n closest: 'निकटतम',\n parent: 'मूल',\n },\n\n attributes: {\n class: 'क्लास',\n classes: 'क्लासेस',\n style: 'स्टाइल',\n styles: 'स्टाइल्स',\n attribute: 'गुण',\n attributes: 'गुण',\n property: 'संपत्ति',\n properties: 'संपत्तियाँ',\n disabled: 'अक्षम',\n hidden: 'छिपा',\n checked: 'चेक',\n selected: 'चयनित',\n readonly: 'केवल_पढ़ने',\n required: 'आवश्यक',\n text: 'पाठ',\n html: 'html',\n },\n\n expressions: {\n characters: 'अक्षर',\n first: 'पहला',\n last: 'अंतिम',\n next: 'अगला',\n previous: 'पिछला',\n prev: 'पिछ',\n at: 'पर',\n random: 'यादृच्छिक',\n closest: 'निकटतम',\n parent: 'मूल',\n children: 'बच्चे',\n within: 'के_अंदर',\n no: 'नहीं',\n empty: 'खाली',\n some: 'कुछ',\n 'starts with': 'से_शुरू',\n 'ends with': 'पर_समाप्त',\n 'ignoring case': 'केस_अनदेखा',\n 'sorted by': 'द्वारा_क्रमबद्ध',\n 'mapped to': 'में_परिवर्तित',\n 'split by': 'द्वारा_विभाजित',\n 'joined by': 'द्वारा_जुड़ा',\n },\n};\n\nexport const hi = hindiDictionary;\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const bengaliDictionary: Dictionary = {\n commands: {\n on: 'তে',\n toggle: 'টগল',\n add: 'যোগ',\n remove: 'সরান',\n set: 'সেট',\n get: 'পান',\n put: 'রাখুন',\n take: 'নিন',\n show: 'দেখান',\n hide: 'লুকান',\n increment: 'বৃদ্ধি',\n decrement: 'হ্রাস',\n if: 'যদি',\n else: 'নতুবা',\n repeat: 'পুনরাবৃত্তি',\n for: 'জন্য',\n while: 'যতক্ষণ',\n wait: 'অপেক্ষা',\n fetch: 'আনুন',\n call: 'কল',\n return: 'ফিরুন',\n log: 'লগ',\n trigger: 'ট্রিগার',\n send: 'পাঠান',\n go: 'যান',\n halt: 'থামুন',\n throw: 'নিক্ষেপ',\n continue: 'চালিয়ে যান',\n make: 'তৈরি করুন',\n append: 'জুড়ুন',\n prepend: 'শুরুতে যোগ',\n focus: 'ফোকাস',\n blur: 'ঝাপসা',\n transition: 'সংক্রমণ',\n settle: 'স্থির',\n measure: 'মাপুন',\n async: 'অ্যাসিঙ্ক',\n tell: 'বলুন',\n default: 'ডিফল্ট',\n init: 'শুরু',\n behavior: 'আচরণ',\n install: 'ইনস্টল',\n clone: 'ক্লোন', // Batch 3: কপি is the copy verb — rendered clone parsed as action=copy\n swap: 'বদল',\n morph: 'রূপান্তর',\n beep: 'বীপ',\n break: 'ভাঙুন',\n copy: 'কপি',\n exit: 'বের',\n js: 'জেএস',\n pick: 'বাছুন',\n render: 'রেন্ডার',\n until: 'পর্যন্ত',\n breakpoint: 'ব্রেকপয়েন্ট',\n clear: 'পরিষ্কার',\n close: 'বন্ধ',\n open: 'খুলুন',\n select: 'নির্বাচন',\n socket: 'সকেট',\n },\n\n modifiers: {\n to: 'কে',\n from: 'থেকে',\n into: 'তে',\n on: 'তে',\n with: 'সাথে',\n by: 'দ্বারা',\n as: 'হিসাবে',\n before: 'আগে',\n after: 'পরে',\n at: 'এ',\n in: 'এ',\n over: 'উপর',\n between: 'মধ্যে',\n then: 'তারপর',\n and: 'এবং',\n end: 'শেষ',\n until: 'পর্যন্ত',\n of: 'র',\n },\n\n events: {\n click: 'ক্লিক',\n change: 'পরিবর্তন',\n input: 'ইনপুট',\n submit: 'জমা',\n load: 'লোড',\n focus: 'ফোকাস',\n blur: 'ঝাপসা',\n reset: 'রিসেট',\n keydown: 'keydown',\n keyup: 'keyup',\n // V3c burn-down (2026-07-14): English passthrough — no native form round-trips\n // on the parse side (probe: split forms shatter, fused forms capture verbatim).\n mouseover: 'mouseover',\n mouseout: 'mouseout',\n scroll: 'স্ক্রোল',\n resize: 'রিসাইজ',\n every: 'প্রতি',\n },\n\n logical: {\n if: 'যদি',\n when: 'যখন',\n where: 'কোথায়',\n else: 'নতুবা',\n not: 'না',\n and: 'এবং',\n or: 'অথবা',\n is: 'হয়',\n exists: 'আছে',\n has: 'আছে',\n have: 'আছি',\n empty: 'খালি',\n true: 'সত্য',\n false: 'মিথ্যা',\n null: 'শূন্য',\n undefined: 'অনির্ধারিত',\n end: 'শেষ',\n then: 'তারপর',\n live: 'লাইভ',\n bind: 'বাইন্ড',\n changes: 'পরিবর্তিত হলে',\n },\n\n temporal: {\n now: 'এখন',\n seconds: 'সেকেন্ড',\n milliseconds: 'মিলিসেকেন্ড',\n minutes: 'মিনিট',\n hours: 'ঘণ্টা',\n forever: 'চিরকাল',\n times: 'বার',\n s: 'সে',\n ms: 'মিসে',\n },\n\n values: {\n me: 'আমি',\n my: 'আমার',\n it: 'এটি',\n its: 'এর',\n result: 'ফলাফল',\n event: 'ঘটনা',\n target: 'লক্ষ্য',\n body: 'বডি',\n you: 'আপনি',\n your: 'তোমার',\n },\n\n attributes: {\n class: 'শ্রেণি',\n id: 'আইডি',\n style: 'শৈলী',\n value: 'মান',\n text: 'পাঠ্য',\n html: 'এইচটিএমএল',\n disabled: 'অক্ষম',\n checked: 'চেক করা',\n },\n\n expressions: {\n characters: 'অক্ষর',\n inclusive: 'অন্তর্ভুক্ত',\n exclusive: 'বাদ',\n first: 'প্রথম',\n last: 'শেষ',\n next: 'পরবর্তী',\n previous: 'আগের',\n closest: 'নিকটতম',\n parent: 'মূল',\n children: 'সন্তান',\n random: 'এলোমেলো',\n length: 'দৈর্ঘ্য',\n index: 'সূচক',\n empty: 'খালি-করুন',\n 'starts with': 'দিয়ে_শুরু',\n 'ends with': 'দিয়ে_শেষ',\n 'ignoring case': 'কেস_উপেক্ষা',\n 'sorted by': 'দ্বারা_সাজানো',\n 'mapped to': 'তে_রূপান্তরিত',\n 'split by': 'দ্বারা_বিভক্ত',\n 'joined by': 'দ্বারা_যুক্ত',\n },\n};\n\nexport const bn = bengaliDictionary;\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const thaiDictionary: Dictionary = {\n commands: {\n on: 'เมื่อ',\n toggle: 'สลับ',\n add: 'เพิ่ม',\n remove: 'ลบ',\n set: 'ตั้ง',\n get: 'รับค่า',\n put: 'ใส่',\n take: 'รับ',\n show: 'แสดง',\n hide: 'ซ่อน',\n increment: 'เพิ่มค่า',\n decrement: 'ลดค่า',\n if: 'ถ้า',\n else: 'ไม่งั้น',\n repeat: 'ทำซ้ำ',\n for: 'สำหรับ',\n while: 'ในขณะที่',\n wait: 'รอ',\n fetch: 'ดึงข้อมูล',\n call: 'เรียก',\n return: 'คืนค่า',\n log: 'บันทึก',\n trigger: 'ทริกเกอร์',\n send: 'ส่ง',\n go: 'ไป',\n halt: 'หยุด',\n throw: 'โยน',\n continue: 'ต่อไป',\n make: 'สร้าง',\n append: 'เพิ่มท้าย',\n prepend: 'เพิ่มหน้า',\n focus: 'โฟกัส',\n blur: 'เบลอ',\n // เปลี่ยนผ่าน, not เปลี่ยน: the semantic th profile's `change` keyword is\n // เปลี่ยน, so a เปลี่ยน render could never anchor a transition command.\n transition: 'เปลี่ยนผ่าน',\n settle: 'คงที่',\n measure: 'วัด',\n async: 'อะซิงค์',\n tell: 'บอก',\n default: 'ค่าเริ่มต้น',\n init: 'เริ่มต้น',\n behavior: 'พฤติกรรม',\n install: 'ติดตั้ง',\n clone: 'โคลน', // Batch 3: คัดลอก is the copy verb — rendered clone parsed as action=copy\n swap: 'สลับที่',\n morph: 'แปลงร่าง',\n beep: 'บี๊บ',\n break: 'ขัดจังหวะ',\n copy: 'คัดลอก',\n exit: 'ออก',\n js: 'เจเอส',\n pick: 'เลือก',\n render: 'แสดงผล',\n until: 'จนถึง',\n breakpoint: 'จุดพัก',\n clear: 'เคลียร์',\n close: 'ปิด',\n open: 'เปิด',\n select: 'ทำเครื่องหมาย', // Batch 3: เลือก is the pick keyword — bare select rendered with it parses null\n },\n\n modifiers: {\n to: 'ไปยัง',\n from: 'จาก',\n into: 'ใน',\n on: 'เมื่อ',\n with: 'ด้วย',\n by: 'โดย',\n as: 'เป็น',\n before: 'ก่อน',\n after: 'หลัง',\n at: 'ที่',\n in: 'ใน',\n over: 'เหนือ',\n between: 'ระหว่าง',\n then: 'แล้ว',\n and: 'และ',\n end: 'จบ',\n until: 'จนถึง',\n of: 'ของ',\n },\n\n events: {\n click: 'คลิก',\n change: 'เปลี่ยนแปลง',\n input: 'อินพุต',\n submit: 'ส่ง',\n load: 'โหลด',\n focus: 'โฟกัส',\n blur: 'เบลอ',\n reset: 'รีเซ็ต',\n keydown: 'กดคีย์',\n keyup: 'ปล่อยคีย์',\n mouseover: 'เมาส์เข้า',\n mouseout: 'เมาส์ออก',\n scroll: 'เลื่อน',\n resize: 'ปรับขนาด',\n every: 'ทุก',\n },\n\n logical: {\n if: 'ถ้า',\n when: 'เมื่อ',\n where: 'ที่ไหน',\n else: 'ไม่งั้น',\n not: 'ไม่',\n and: 'และ',\n or: 'หรือ',\n is: 'เป็น',\n exists: 'มีอยู่',\n has: 'มี',\n have: 'มี',\n empty: 'ว่าง',\n true: 'จริง',\n false: 'เท็จ',\n null: 'ว่าง',\n undefined: 'ไม่กำหนด',\n end: 'จบ',\n then: 'แล้ว',\n live: 'สด',\n changes: 'เปลี่ยน',\n },\n\n temporal: {\n now: 'ตอนนี้',\n seconds: 'วินาที',\n milliseconds: 'มิลลิวินาที',\n minutes: 'นาที',\n hours: 'ชั่วโมง',\n forever: 'ตลอดไป',\n times: 'ครั้ง',\n s: 'วิ',\n ms: 'มว',\n },\n\n values: {\n me: 'ฉัน',\n my: 'ของฉัน',\n it: 'มัน',\n its: 'ของมัน',\n result: 'ผลลัพธ์',\n event: 'เหตุการณ์',\n target: 'เป้าหมาย',\n body: 'บอดี้',\n you: 'คุณ',\n your: 'ของคุณ',\n },\n\n attributes: {\n class: 'คลาส',\n id: 'ไอดี',\n style: 'สไตล์',\n value: 'ค่า',\n text: 'ข้อความ',\n html: 'เอชทีเอ็มแอล',\n disabled: 'ปิดใช้งาน',\n checked: 'เลือกแล้ว',\n },\n\n expressions: {\n characters: 'อักขระ',\n inclusive: 'รวม',\n exclusive: 'ยกเว้น',\n first: 'แรก',\n last: 'สุดท้าย',\n next: 'ถัดไป',\n previous: 'ก่อนหน้า',\n closest: 'ใกล้สุด',\n parent: 'ต้นทาง',\n children: 'ลูก',\n random: 'สุ่ม',\n length: 'ความยาว',\n index: 'ดัชนี',\n empty: 'ล้าง',\n 'starts with': 'ขึ้นต้นด้วย',\n 'ends with': 'ลงท้ายด้วย',\n 'ignoring case': 'ไม่สนตัวพิมพ์',\n 'sorted by': 'เรียงตาม',\n 'mapped to': 'แปลงเป็น',\n 'split by': 'แยกด้วย',\n 'joined by': 'รวมด้วย',\n },\n};\n\nexport const th = thaiDictionary;\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const malayDictionary: Dictionary = {\n commands: {\n on: 'apabila',\n tell: 'beritahu',\n trigger: 'cetuskan',\n send: 'hantar',\n take: 'ambil',\n put: 'letak',\n set: 'tetapkan',\n get: 'dapatkan',\n add: 'tambah',\n remove: 'buang',\n toggle: 'togol',\n hide: 'sembunyi',\n show: 'tunjuk',\n if: 'jika',\n unless: 'kecuali',\n repeat: 'ulang',\n for: 'untuk',\n while: 'selagi',\n until: 'sehingga',\n continue: 'teruskan',\n break: 'henti',\n halt: 'henti',\n wait: 'tunggu',\n fetch: 'ambil_dari',\n call: 'panggil',\n return: 'pulang',\n make: 'buat',\n log: 'catat',\n throw: 'lempar',\n catch: 'tangkap',\n measure: 'ukur',\n transition: 'peralihan',\n increment: 'tambah_satu',\n decrement: 'kurang_satu',\n default: 'lalai',\n go: 'pergi',\n pushUrl: 'tolak_url',\n replaceUrl: 'ganti_url',\n copy: 'salin',\n pick: 'pilih',\n beep: 'bunyi',\n js: 'js',\n async: 'tak_segerak',\n render: 'papar',\n swap: 'tukar_tempat',\n morph: 'ubah_bentuk',\n settle: 'selesai',\n append: 'tambah_hujung',\n prepend: 'tambah_mula',\n exit: 'keluar',\n else: 'kalau_tidak',\n focus: 'fokus',\n blur: 'kabur',\n install: 'pasang',\n behavior: 'kelakuan',\n init: 'mula',\n clone: 'klon',\n breakpoint: 'titik-henti',\n clear: 'bersihkan', // padam is a remove alternative in the profile\n close: 'tutup',\n open: 'buka',\n select: 'tandai', // Batch 3: pilih is the pick keyword — bare select rendered with it parses null\n socket: 'soket', // derived from the ms profile (socket.primary); see generate-i18n-dictionaries\n },\n\n modifiers: {\n to: 'ke',\n from: 'dari',\n into: 'ke_dalam',\n with: 'dengan',\n at: 'di',\n in: 'dalam',\n of: 'daripada',\n as: 'sebagai',\n by: 'oleh',\n before: 'sebelum',\n after: 'selepas',\n over: 'atas',\n under: 'bawah',\n between: 'antara',\n through: 'melalui',\n without: 'tanpa',\n on: 'pada',\n then: 'kemudian',\n and: 'dan',\n end: 'tamat',\n until: 'sehingga',\n },\n\n events: {\n click: 'click',\n dblclick: 'dblclick',\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n mouseover: 'mouseover',\n mouseout: 'mouseout',\n mousemove: 'mousemove',\n keydown: 'keydown',\n keyup: 'keyup',\n keypress: 'keypress',\n focus: 'focus',\n blur: 'blur',\n change: 'change',\n input: 'input',\n submit: 'submit',\n reset: 'reset',\n load: 'load',\n unload: 'unload',\n resize: 'resize',\n scroll: 'scroll',\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n every: 'setiap',\n },\n\n logical: {\n when: 'apabila',\n where: 'di_mana',\n and: 'dan',\n or: 'atau',\n not: 'bukan',\n is: 'adalah',\n exists: 'wujud',\n matches: 'sepadan',\n contains: 'mengandungi',\n includes: 'termasuk',\n equals: 'sama',\n has: 'ada',\n have: 'ada',\n then: 'kemudian',\n else: 'kalau_tidak',\n otherwise: 'jika_tidak',\n end: 'tamat',\n live: 'langsung',\n changes: 'berubah',\n if: 'jika',\n empty: 'kosong',\n true: 'benar',\n false: 'salah',\n null: 'null',\n undefined: 'tidak_ditakrifkan',\n },\n\n temporal: {\n seconds: 'saat',\n second: 'saat',\n milliseconds: 'milisaat',\n millisecond: 'milisaat',\n minutes: 'minit',\n minute: 'minit',\n hours: 'jam',\n hour: 'jam',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'j',\n now: 'sekarang',\n forever: 'selamanya',\n times: 'kali',\n },\n\n values: {\n true: 'benar',\n false: 'salah',\n null: 'null',\n undefined: 'tidak_ditakrifkan',\n it: 'ia',\n its: 'nya',\n me: 'saya',\n my: 'saya_punya',\n myself: 'diri_saya',\n you: 'kamu',\n your: 'kamu_punya',\n yourself: 'diri_kamu',\n element: 'elemen',\n target: 'sasaran',\n detail: 'perincian',\n event: 'peristiwa',\n window: 'tetingkap',\n document: 'dokumen',\n body: 'badan',\n result: 'hasil',\n value: 'nilai',\n },\n\n attributes: {\n class: 'kelas',\n classes: 'kelas_kelas',\n style: 'gaya',\n styles: 'gaya_gaya',\n attribute: 'atribut',\n attributes: 'atribut_atribut',\n property: 'sifat',\n properties: 'sifat_sifat',\n id: 'id',\n value: 'nilai',\n text: 'teks',\n html: 'html',\n disabled: 'dilumpuhkan',\n checked: 'ditanda',\n },\n\n expressions: {\n characters: 'aksara',\n inclusive: 'inklusif',\n exclusive: 'eksklusif',\n first: 'pertama',\n last: 'terakhir',\n next: 'seterusnya',\n previous: 'sebelumnya',\n prev: 'sebelum',\n at: 'di',\n random: 'rawak',\n closest: 'terdekat',\n parent: 'induk',\n children: 'anak_anak',\n within: 'dalam',\n no: 'tiada',\n empty: 'kosong',\n some: 'beberapa',\n 'starts with': 'bermula_dengan',\n 'ends with': 'berakhir_dengan',\n 'ignoring case': 'abaikan_huruf_besar_kecil',\n 'sorted by': 'disusun_mengikut',\n 'mapped to': 'dipetakan_ke',\n 'split by': 'dipecah_oleh',\n 'joined by': 'digabung_oleh',\n length: 'panjang',\n index: 'indeks',\n },\n};\n\nexport const ms = malayDictionary;\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const tagalogDictionary: Dictionary = {\n commands: {\n on: 'kapag',\n tell: 'sabihin',\n trigger: 'palitawin',\n send: 'ipadala',\n take: 'kumuha', // auditor: dict emitted a word the profile reads differently\n put: 'ilagay',\n set: 'itakda',\n // Align with the semantic tl profile's `get` primary (`kunin`); the previous\n // `kuhanin` is the base of fetch's `kuhanin_mula`, so the transformed `get`\n // dropped (get-value parsed degenerate). Same dict↔profile alignment as id `toggle`.\n get: 'kunin',\n add: 'idagdag',\n remove: 'alisin',\n toggle: 'palitan',\n hide: 'itago',\n show: 'ipakita',\n if: 'kung',\n unless: 'maliban_kung',\n repeat: 'ulitin',\n for: 'para_sa',\n while: 'habang',\n until: 'hanggang',\n continue: 'magpatuloy',\n break: 'itigil',\n halt: 'huminto',\n wait: 'maghintay',\n fetch: 'kuhanin_mula',\n call: 'tawagin',\n return: 'ibalik',\n make: 'gumawa',\n log: 'itala',\n throw: 'ihagis',\n catch: 'hulihin',\n measure: 'sukatin',\n transition: 'lumipat',\n increment: 'dagdagan',\n decrement: 'bawasan',\n default: 'pamantayan',\n go: 'pumunta',\n pushUrl: 'itulak_url',\n replaceUrl: 'palitan_url',\n copy: 'kopyahin',\n pick: 'pumili',\n beep: 'tunog',\n js: 'js',\n async: 'sabay',\n render: 'irender', // auditor: dict emitted a word the profile reads differently\n swap: 'palitan_pwesto',\n morph: 'baguhin', // auditor: dict emitted a word the profile reads differently\n settle: 'magpatahimik', // auditor: dict emitted a word the profile reads differently\n append: 'idagdag_sa_dulo',\n prepend: 'idagdag_sa_simula',\n exit: 'lumabas',\n else: 'kung_hindi',\n focus: 'ituon',\n blur: 'alisin_tuon',\n install: 'ikabit',\n behavior: 'ugali',\n init: 'simulan',\n clone: 'i-clone', // Batch 3: kopyahin is the copy verb — rendered clone parsed as action=copy\n breakpoint: 'breakpoint',\n clear: 'burahin',\n close: 'isara',\n open: 'buksan',\n select: 'piliin',\n },\n\n modifiers: {\n to: 'sa',\n from: 'mula_sa',\n into: 'papasok_sa',\n with: 'kasama',\n at: 'sa',\n in: 'sa_loob',\n of: 'ng',\n as: 'bilang',\n by: 'sa_pamamagitan_ng',\n before: 'bago',\n // `matapos` (not `pagkatapos`) for the positional \"after\": `pagkatapos` is\n // also Tagalog \"then\", so emitting it for the position modifier collides with\n // the sequence connector. `matapos` is the unambiguous positional form and\n // matches the semantic tl profile's `after`.\n after: 'matapos',\n over: 'sa_ibabaw',\n under: 'sa_ilalim',\n between: 'sa_pagitan',\n through: 'sa_pamamagitan',\n without: 'walang',\n on: 'sa',\n then: 'pagkatapos',\n and: 'at',\n end: 'wakas',\n until: 'hanggang',\n },\n\n events: {\n click: 'click',\n dblclick: 'dblclick',\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n mouseover: 'mouseover',\n mouseout: 'mouseout',\n mousemove: 'mousemove',\n keydown: 'keydown',\n keyup: 'keyup',\n keypress: 'keypress',\n focus: 'focus',\n blur: 'blur',\n change: 'change',\n input: 'input',\n submit: 'submit',\n reset: 'reset',\n load: 'load',\n unload: 'unload',\n resize: 'resize',\n scroll: 'scroll',\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n every: 'bawat',\n },\n\n logical: {\n when: 'kapag',\n where: 'kung_saan',\n and: 'at',\n or: 'o',\n not: 'hindi',\n is: 'ay',\n exists: 'may',\n matches: 'tumutugma',\n contains: 'naglalaman',\n includes: 'kasama',\n equals: 'katumbas',\n has: 'may',\n have: 'may',\n then: 'pagkatapos',\n else: 'kung_hindi',\n otherwise: 'kung_hindi_man',\n end: 'wakas',\n live: 'live',\n changes: 'nagbabago',\n if: 'kung',\n empty: 'walang_laman',\n true: 'totoo',\n false: 'mali',\n null: 'wala',\n undefined: 'hindi_tinukoy',\n },\n\n temporal: {\n seconds: 'segundo',\n second: 'segundo',\n milliseconds: 'milisegundo',\n millisecond: 'milisegundo',\n minutes: 'minuto',\n minute: 'minuto',\n hours: 'oras',\n hour: 'oras',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n now: 'ngayon',\n forever: 'magpakailanman',\n times: 'beses',\n },\n\n values: {\n true: 'totoo',\n false: 'mali',\n null: 'wala',\n undefined: 'hindi_tinukoy',\n it: 'ito',\n its: 'nito',\n me: 'ako',\n my: 'aking',\n myself: 'sarili_ko',\n you: 'ikaw',\n your: 'iyong',\n yourself: 'sarili_mo',\n element: 'elemento',\n target: 'target',\n detail: 'detalye',\n event: 'pangyayari',\n window: 'bintana',\n document: 'dokumento',\n body: 'katawan',\n result: 'resulta',\n value: 'halaga',\n },\n\n attributes: {\n class: 'klase',\n classes: 'mga_klase',\n style: 'estilo',\n styles: 'mga_estilo',\n attribute: 'katangian',\n attributes: 'mga_katangian',\n property: 'ari_arian',\n properties: 'mga_ari_arian',\n id: 'id',\n value: 'halaga',\n text: 'teksto',\n html: 'html',\n disabled: 'hindi_pinagana',\n checked: 'naka_tsek',\n },\n\n expressions: {\n characters: 'karakter',\n inclusive: 'kasama',\n exclusive: 'bukod',\n first: 'una',\n last: 'huli',\n next: 'susunod',\n previous: 'nakaraan',\n prev: 'nakaraan',\n at: 'sa',\n random: 'random',\n closest: 'pinakamalapit',\n parent: 'magulang',\n children: 'mga_anak',\n within: 'sa_loob_ng',\n no: 'walang',\n empty: 'walang_laman',\n some: 'ilan',\n 'starts with': 'nagsisimula_sa',\n 'ends with': 'nagtatapos_sa',\n 'ignoring case': 'huwag_pansinin_ang_case',\n 'sorted by': 'nakaayos_ayon_sa',\n 'mapped to': 'binago_sa',\n 'split by': 'hinati_sa',\n 'joined by': 'pinagsama_sa',\n length: 'haba',\n index: 'indeks',\n },\n};\n\nexport const tl = tagalogDictionary;\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const he: Dictionary = {\n commands: {\n add: 'הוסף',\n append: 'צרף',\n async: 'אסינכרוני',\n beep: 'ביפ',\n break: 'שבור',\n call: 'קרא',\n clear: 'נקה', // profile's clear word — was untranslated (parsed as nothing)\n continue: 'המשך',\n copy: 'העתק',\n decrement: 'הקטן',\n default: 'ברירת מחדל',\n exit: 'צא',\n fetch: 'הבא',\n for: 'עבור',\n get: 'קבל',\n go: 'לך',\n halt: 'עצור',\n hide: 'הסתר',\n if: 'אם',\n unless: 'אלא',\n increment: 'הגדל',\n install: 'התקן',\n js: 'js',\n log: 'רשום',\n make: 'צור',\n measure: 'מדוד',\n morph: 'הפוך',\n on: 'ב',\n pick: 'בחר',\n put: 'שים',\n remove: 'הסר',\n render: 'רנדר',\n repeat: 'חזור',\n return: 'החזר',\n scroll: 'גלול',\n send: 'שלח',\n set: 'קבע',\n settle: 'התייצב',\n show: 'הראה',\n swap: 'החלף',\n take: 'קח',\n tell: 'אמור',\n throw: 'זרוק',\n toggle: 'מתג',\n transition: 'מעבר',\n trigger: 'הפעל',\n until: 'עד',\n wait: 'חכה',\n while: 'כל עוד',\n },\n\n modifiers: {\n after: 'אחרי',\n before: 'לפני',\n from: 'מ',\n into: 'לתוך',\n to: 'על',\n with: 'עם',\n },\n\n events: {\n blur: 'טשטש',\n change: 'שינוי',\n click: 'לחיצה',\n focus: 'מקד',\n input: 'קלט',\n submit: 'שליחה',\n },\n\n logical: {\n and: 'וגם',\n else: 'אחרת',\n end: 'סוף',\n then: 'אז',\n live: 'חי',\n bind: 'קשור',\n changes: 'משתנה',\n when: 'כאשר',\n where: 'איפה',\n },\n\n temporal: {},\n\n values: {\n body: 'גוף',\n event: 'אירוע',\n it: 'זה',\n its: 'שלו',\n me: 'אני',\n my: 'שלי',\n result: 'תוצאה',\n target: 'יעד',\n you: 'אתה',\n your: 'שלך',\n },\n\n attributes: {},\n\n expressions: {\n random: 'אקראי',\n characters: 'תווים',\n inclusive: 'כולל',\n exclusive: 'בלעדי',\n last: 'אחרון',\n },\n};\n","/**\n * Dictionary Index\n *\n * Exports dictionaries for all supported languages.\n * Each dictionary maps English canonical keywords to locale-specific translations\n * across 8 categories: commands, modifiers, events, logical, temporal, values,\n * attributes, and expressions.\n *\n * Derivation utilities (deriveFromProfile, createEnglishDictionary) are available\n * for generating dictionaries from semantic language profiles. See ./derive.ts.\n */\n\nimport { Dictionary } from '../types';\n\n// Import per-language dictionaries\nimport { en as enDict } from './en';\nimport { es as esDict } from './es';\nimport { ko as koDict } from './ko';\nimport { zh as zhDict } from './zh';\nimport { fr as frDict } from './fr';\nimport { de as deDict } from './de';\nimport { ja as jaDict } from './ja';\nimport { ar as arDict } from './ar';\nimport { tr as trDict } from './tr';\nimport { id as idDict } from './id';\nimport { qu as quDict } from './qu';\nimport { sw as swDict } from './sw';\nimport { pt as ptDict } from './pt';\nimport { it as itDict } from './it';\nimport { vi as viDict } from './vi';\nimport { pl as plDict } from './pl';\nimport { russianDictionary as ruDict } from './ru';\nimport { ukrainianDictionary as ukDict } from './uk';\nimport { hindiDictionary as hiDict } from './hi';\nimport { bengaliDictionary as bnDict } from './bn';\nimport { thaiDictionary as thDict } from './th';\nimport { malayDictionary as msDict } from './ms';\nimport { tagalogDictionary as tlDict } from './tl';\nimport { he as heDict } from './he';\n\n// =============================================================================\n// Dictionary Exports\n// =============================================================================\n\n/** English dictionary */\nexport const en: Dictionary = enDict;\n/** Spanish dictionary */\nexport const es: Dictionary = esDict;\n/** Japanese dictionary */\nexport const ja: Dictionary = jaDict;\n/** Korean dictionary */\nexport const ko: Dictionary = koDict;\n/** Chinese dictionary */\nexport const zh: Dictionary = zhDict;\n/** French dictionary */\nexport const fr: Dictionary = frDict;\n/** German dictionary */\nexport const de: Dictionary = deDict;\n/** Arabic dictionary */\nexport const ar: Dictionary = arDict;\n/** Turkish dictionary */\nexport const tr: Dictionary = trDict;\n/** Indonesian dictionary */\nexport const id: Dictionary = idDict;\n/** Portuguese dictionary */\nexport const pt: Dictionary = ptDict;\n/** Quechua dictionary */\nexport const qu: Dictionary = quDict;\n/** Swahili dictionary */\nexport const sw: Dictionary = swDict;\n/** Italian dictionary */\nexport const it: Dictionary = itDict;\n/** Vietnamese dictionary */\nexport const vi: Dictionary = viDict;\n/** Polish dictionary */\nexport const pl: Dictionary = plDict;\n/** Russian dictionary */\nexport const ru: Dictionary = ruDict;\n/** Ukrainian dictionary */\nexport const uk: Dictionary = ukDict;\n/** Hindi dictionary */\nexport const hi: Dictionary = hiDict;\n/** Bengali dictionary */\nexport const bn: Dictionary = bnDict;\n/** Thai dictionary */\nexport const th: Dictionary = thDict;\n/** Malay dictionary */\nexport const ms: Dictionary = msDict;\n/** Tagalog dictionary */\nexport const tl: Dictionary = tlDict;\n/** Hebrew dictionary */\nexport const he: Dictionary = heDict;\n\n// =============================================================================\n// Dictionary Registry\n// =============================================================================\n\n/**\n * All available dictionaries indexed by locale code.\n */\nexport const dictionaries: Record<string, Dictionary> = {\n en,\n es,\n ko,\n zh,\n fr,\n de,\n ja,\n ar,\n tr,\n id,\n qu,\n sw,\n pt,\n it,\n vi,\n pl,\n ru,\n uk,\n hi,\n bn,\n th,\n ms,\n tl,\n he,\n};\n\n// =============================================================================\n// Helper Functions\n// =============================================================================\n\n/**\n * Get all supported locale codes.\n */\nexport const supportedLocales = Object.keys(dictionaries);\n\n/**\n * Check if a locale is supported.\n */\nexport const isLocaleSupported = (locale: string): boolean => {\n return locale in dictionaries;\n};\n\n/**\n * Get dictionary with fallback to another locale.\n */\nexport const getDictionary = (locale: string, fallback: string = 'en'): Dictionary | null => {\n return dictionaries[locale] || dictionaries[fallback] || null;\n};\n\n// =============================================================================\n// Derivation Utilities\n// =============================================================================\n\n/**\n * Re-export derivation utilities for generating dictionaries from semantic profiles.\n */\nexport { deriveFromProfile, createEnglishDictionary, validateDictionary } from './derive';\n","// packages/i18n/src/utils/locale.ts\n\nimport { dictionaries } from '../dictionaries';\nimport { DICTIONARY_CATEGORIES } from '../types';\nimport { profiles } from '../grammar/profiles';\n\nexport interface LocaleInfo {\n code: string;\n language: string;\n region?: string;\n script?: string;\n}\n\n/**\n * Parse a locale string into its components\n * Examples: 'en-US', 'zh-Hans-CN', 'es-419'\n */\nexport function parseLocale(locale: string): LocaleInfo {\n const parts = locale.split('-');\n const info: LocaleInfo = {\n code: locale,\n language: parts[0].toLowerCase(),\n };\n\n if (parts.length > 1) {\n // Check if second part is a script (4 letters, first capitalized)\n if (parts[1].length === 4 && /^[A-Z][a-z]{3}$/.test(parts[1])) {\n info.script = parts[1];\n if (parts[2]) {\n info.region = parts[2].toUpperCase();\n }\n } else {\n info.region = parts[1].toUpperCase();\n }\n }\n\n return info;\n}\n\n/**\n * Detect the language of hyperscript text\n */\nexport function detectLocale(text: string, supportedLocales: string[]): string {\n const scores = new Map<string, number>();\n\n // Initialize scores\n supportedLocales.forEach(locale => scores.set(locale, 0));\n\n // Count keyword matches for each locale using type-safe iteration\n for (const [locale, dictionary] of Object.entries(dictionaries)) {\n if (!supportedLocales.includes(locale)) continue;\n\n let score = 0;\n\n // Check all categories\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dictionary[category];\n for (const keyword of Object.values(translations)) {\n // Skip empty or single-character keywords (too ambiguous for detection)\n if (!keyword || keyword.length < 2) continue;\n\n // Use word boundary matching for accuracy\n const regex = new RegExp(`\\\\b${escapeRegex(keyword)}\\\\b`, 'gi');\n const matches = text.match(regex);\n if (matches) {\n score += matches.length;\n }\n }\n }\n\n scores.set(locale, score);\n }\n\n // Find locale with highest score\n let maxScore = 0;\n let detectedLocale = 'en'; // Default to English\n\n scores.forEach((score, locale) => {\n if (score > maxScore) {\n maxScore = score;\n detectedLocale = locale;\n }\n });\n\n return detectedLocale;\n}\n\n/**\n * Get the best matching locale from available locales\n */\nexport function getBestMatchingLocale(\n requestedLocale: string,\n availableLocales: string[]\n): string | null {\n // Exact match\n if (availableLocales.includes(requestedLocale)) {\n return requestedLocale;\n }\n\n const requested = parseLocale(requestedLocale);\n\n // Try language+script match first (more specific)\n if (requested.script) {\n const scriptMatch = availableLocales.find(locale => {\n const available = parseLocale(locale);\n return available.language === requested.language && available.script === requested.script;\n });\n\n if (scriptMatch) {\n return scriptMatch;\n }\n }\n\n // Fall back to language-only match\n const languageMatch = availableLocales.find(locale => {\n const available = parseLocale(locale);\n return available.language === requested.language;\n });\n\n if (languageMatch) {\n return languageMatch;\n }\n\n return null;\n}\n\n/**\n * Get user's preferred locales from browser\n */\nexport function getBrowserLocales(): string[] {\n if (typeof window === 'undefined') {\n return ['en'];\n }\n\n const locales: string[] = [];\n\n // Modern browser API\n if (navigator.languages && navigator.languages.length > 0) {\n locales.push(...navigator.languages);\n }\n\n // Fallback to single language\n if (navigator.language) {\n locales.push(navigator.language);\n }\n\n // Legacy IE\n if ((navigator as any).userLanguage) {\n locales.push((navigator as any).userLanguage);\n }\n\n // Remove duplicates and return\n return [...new Set(locales)];\n}\n\n/**\n * Escape special regex characters\n */\nfunction escapeRegex(str: string): string {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n\n/**\n * Format a locale for display using the native name from its grammar profile.\n */\nexport function formatLocaleName(locale: string): string {\n const profile = profiles[locale];\n if (profile) return profile.name;\n\n // Fallback for sub-locale codes (e.g., 'zh-TW')\n const subLocaleNames: Record<string, string> = {\n 'zh-TW': '繁體中文',\n };\n return subLocaleNames[locale] || locale;\n}\n\n/**\n * Check if a locale uses RTL writing\n */\nexport function isRTL(locale: string): boolean {\n const rtlLocales = ['ar', 'he', 'fa', 'ur', 'yi', 'ji', 'ku', 'dv'];\n const info = parseLocale(locale);\n return rtlLocales.includes(info.language);\n}\n","/**\n * Tokenizer Adapter\n *\n * Bridges the semantic package's sophisticated tokenizers to i18n's\n * dictionary-based token categorization system.\n *\n * The semantic tokenizers handle:\n * - Language-specific word boundaries\n * - CSS selectors, URLs, string literals\n * - Grammatical particles (を, に, من)\n * - Morphological normalization\n *\n * This adapter converts semantic tokens to i18n tokens by:\n * 1. Using semantic's tokenize() for sophisticated tokenization\n * 2. Mapping TokenKind to TokenType via dictionary lookup for keywords\n * 3. Preserving position information for round-trip support\n */\n\nimport type { Token, TokenType } from '../types';\nimport { dictionaries } from '../dictionaries';\n\n// =============================================================================\n// Semantic Tokenizer Integration\n// =============================================================================\n\n// Types from semantic package (inlined to avoid circular dependency issues)\ninterface SourcePosition {\n readonly start: number;\n readonly end: number;\n readonly line?: number;\n readonly column?: number;\n}\n\ntype TokenKind =\n | 'keyword'\n | 'selector'\n | 'literal'\n | 'particle'\n | 'conjunction' // Grammatical conjunction (Arabic و/ف proclitics)\n | 'event-modifier' // Event modifiers (.once, .prevent, etc.)\n | 'identifier'\n | 'operator'\n | 'punctuation'\n | 'url';\n\ninterface LanguageToken {\n readonly value: string;\n readonly kind: TokenKind;\n readonly position: SourcePosition;\n readonly normalized?: string;\n readonly stem?: string;\n readonly stemConfidence?: number;\n}\n\ninterface TokenStream {\n readonly tokens: readonly LanguageToken[];\n readonly language: string;\n}\n\n// Lazy load semantic tokenizers to avoid circular dependency at module load time\nlet _semanticTokenize: ((input: string, language: string) => TokenStream) | null = null;\nlet _isLanguageSupported: ((language: string) => boolean) | null = null;\nlet _semanticLoaded = false;\nlet _semanticLoadFailed = false;\n\nasync function loadSemantic(): Promise<boolean> {\n if (_semanticLoaded) return !_semanticLoadFailed;\n if (_semanticLoadFailed) return false;\n\n try {\n // Dynamic import to break circular dependency\n const semantic = await import('@lokascript/semantic');\n _semanticTokenize = semantic.tokenize;\n _isLanguageSupported = semantic.isLanguageSupported;\n _semanticLoaded = true;\n return true;\n } catch {\n _semanticLoadFailed = true;\n return false;\n }\n}\n\n// Synchronous check - only works after first async load\nfunction isSemanticAvailable(): boolean {\n return _semanticLoaded && !_semanticLoadFailed;\n}\n\nfunction semanticTokenize(input: string, language: string): TokenStream | null {\n if (!_semanticTokenize) return null;\n try {\n return _semanticTokenize(input, language);\n } catch {\n return null;\n }\n}\n\nfunction semanticIsLanguageSupported(language: string): boolean {\n if (!_isLanguageSupported) return false;\n return _isLanguageSupported(language);\n}\n\n// =============================================================================\n// Token Type Mapping\n// =============================================================================\n\n/**\n * Map semantic TokenKind to i18n TokenType.\n *\n * Semantic TokenKind → i18n TokenType:\n * - keyword: Use dictionary lookup to determine specific type\n * - selector: identifier (selectors don't get translated)\n * - literal: literal\n * - particle: modifier (grammatical particles)\n * - identifier: identifier\n * - operator: operator\n * - punctuation: operator\n * - url: literal\n */\nfunction mapTokenKind(kind: TokenKind): TokenType {\n switch (kind) {\n case 'keyword':\n // Will be refined by dictionary lookup\n return 'identifier';\n case 'selector':\n return 'identifier';\n case 'literal':\n return 'literal';\n case 'particle':\n return 'modifier';\n case 'conjunction':\n return 'modifier';\n case 'event-modifier':\n return 'modifier';\n case 'identifier':\n return 'identifier';\n case 'operator':\n return 'operator';\n case 'punctuation':\n return 'operator';\n case 'url':\n return 'literal';\n default:\n return 'identifier';\n }\n}\n\n/**\n * Determine the specific i18n TokenType for a word by looking up\n * in the locale's dictionary.\n *\n * Order matters: events before commands since many events (click, focus)\n * also appear in commands.\n */\nfunction categorizeWord(word: string, locale: string): TokenType {\n const lowerWord = word.toLowerCase();\n\n // Map dictionary categories to token types (events first to handle 'click' etc.)\n const categoryToType: Array<[string, TokenType]> = [\n ['events', 'event'],\n ['commands', 'command'],\n ['expressions', 'expression'],\n ['modifiers', 'modifier'],\n ['logical', 'logical'],\n ['temporal', 'temporal'],\n ['values', 'value'],\n ['attributes', 'attribute'],\n ];\n\n // Check all supported dictionaries (source locale + English)\n const localesToCheck = locale === 'en' ? ['en'] : [locale, 'en'];\n\n for (const loc of localesToCheck) {\n const dict = dictionaries[loc];\n if (!dict) continue;\n\n // Check categories in priority order (events before commands)\n for (const [category, tokenType] of categoryToType) {\n const translations = dict[category as keyof typeof dict];\n if (!translations || typeof translations !== 'object') continue;\n\n // Check if word matches a key (English) or value (translated)\n for (const [key, value] of Object.entries(translations)) {\n if (key.toLowerCase() === lowerWord || value.toLowerCase() === lowerWord) {\n return tokenType;\n }\n }\n }\n }\n\n // Default to identifier\n return 'identifier';\n}\n\n// =============================================================================\n// Token Conversion\n// =============================================================================\n\n/**\n * Convert a semantic LanguageToken to an i18n Token.\n */\nfunction convertToken(token: LanguageToken, locale: string): Token {\n let type: TokenType;\n\n if (token.kind === 'keyword') {\n // For keywords, use dictionary lookup to get specific type\n // Use normalized form if available (e.g., 切り替え → toggle)\n const lookupWord = token.normalized || token.value;\n type = categorizeWord(lookupWord, locale);\n } else {\n type = mapTokenKind(token.kind);\n }\n\n return {\n type,\n value: token.value,\n position: {\n start: token.position.start,\n end: token.position.end,\n line: token.position.line ?? 1,\n column: token.position.column ?? token.position.start + 1,\n },\n };\n}\n\n// =============================================================================\n// Public API\n// =============================================================================\n\n/**\n * Initialize the semantic tokenizer (call once at app startup for best performance).\n * This is optional - tokenize() will work without it, using fallback tokenization.\n */\nexport async function initSemanticTokenizer(): Promise<boolean> {\n return loadSemantic();\n}\n\n/**\n * Tokenize input using semantic package's sophisticated tokenizers,\n * converting to i18n-compatible tokens.\n *\n * Falls back to basic tokenization if:\n * - Semantic package not loaded yet\n * - Language not supported by semantic\n * - Any error occurs\n *\n * For best performance, call initSemanticTokenizer() at app startup.\n */\nexport function tokenize(text: string, locale: string): Token[] {\n // Try semantic tokenization if available\n if (isSemanticAvailable() && semanticIsLanguageSupported(locale)) {\n const stream = semanticTokenize(text, locale);\n if (stream) {\n const tokens: Token[] = [];\n for (const semanticToken of stream.tokens) {\n tokens.push(convertToken(semanticToken, locale));\n }\n return tokens;\n }\n }\n\n // Fall back to basic tokenization\n return tokenizeBasic(text, locale);\n}\n\n/**\n * Tokenize with async initialization of semantic tokenizers.\n * Useful when you want to ensure semantic tokenization is used.\n */\nexport async function tokenizeAsync(text: string, locale: string): Promise<Token[]> {\n await loadSemantic();\n return tokenize(text, locale);\n}\n\n/**\n * Basic tokenization fallback for unsupported languages.\n * This is a simplified version that handles common patterns.\n */\nfunction tokenizeBasic(text: string, locale: string): Token[] {\n const tokens: Token[] = [];\n let position = 0;\n let line = 1;\n let column = 1;\n\n while (position < text.length) {\n const start = position;\n const startLine = line;\n const startColumn = column;\n\n // Skip whitespace but track it\n if (isWhitespace(text[position])) {\n const whitespace = consumeWhitespace(text, position);\n tokens.push({\n type: 'literal',\n value: whitespace,\n position: {\n start,\n end: position + whitespace.length,\n line: startLine,\n column: startColumn,\n },\n });\n\n // Update position tracking\n for (let i = 0; i < whitespace.length; i++) {\n if (whitespace[i] === '\\n') {\n line++;\n column = 1;\n } else {\n column++;\n }\n }\n position += whitespace.length;\n continue;\n }\n\n // String literals\n if (text[position] === '\"' || text[position] === \"'\") {\n const quote = text[position];\n let value = quote;\n position++;\n column++;\n\n while (position < text.length && text[position] !== quote) {\n if (text[position] === '\\\\' && position + 1 < text.length) {\n value += text[position] + text[position + 1];\n position += 2;\n column += 2;\n } else {\n value += text[position];\n if (text[position] === '\\n') {\n line++;\n column = 1;\n } else {\n column++;\n }\n position++;\n }\n }\n\n if (position < text.length) {\n value += text[position];\n position++;\n column++;\n }\n\n tokens.push({\n type: 'literal',\n value,\n position: {\n start,\n end: position,\n line: startLine,\n column: startColumn,\n },\n });\n continue;\n }\n\n // Numbers\n if (isDigit(text[position])) {\n const number = consumeNumber(text, position);\n tokens.push({\n type: 'literal',\n value: number,\n position: {\n start,\n end: position + number.length,\n line: startLine,\n column: startColumn,\n },\n });\n position += number.length;\n column += number.length;\n continue;\n }\n\n // Identifiers and keywords\n if (isIdentifierStart(text[position])) {\n const word = consumeIdentifier(text, position);\n const tokenType = categorizeWord(word, locale);\n\n tokens.push({\n type: tokenType,\n value: word,\n position: {\n start,\n end: position + word.length,\n line: startLine,\n column: startColumn,\n },\n });\n position += word.length;\n column += word.length;\n continue;\n }\n\n // Operators and punctuation\n const operator = consumeOperator(text, position);\n tokens.push({\n type: 'operator',\n value: operator,\n position: {\n start,\n end: position + operator.length,\n line: startLine,\n column: startColumn,\n },\n });\n position += operator.length;\n column += operator.length;\n }\n\n return tokens;\n}\n\n// =============================================================================\n// Helper Functions\n// =============================================================================\n\nfunction isWhitespace(char: string): boolean {\n return /\\s/.test(char);\n}\n\nfunction isDigit(char: string): boolean {\n return /\\d/.test(char);\n}\n\nfunction isIdentifierStart(char: string): boolean {\n return /[a-zA-Z_$\\u00e1\\u00e9\\u00ed\\u00f3\\u00fa\\u00f1\\u00d1\\u00e0\\u00e8\\u00ec\\u00f2\\u00f9\\u00c0\\u00c8\\u00cc\\u00d2\\u00d9\\u4e00-\\u9faf\\u3131-\\u314e\\u314f-\\u3163\\uac00-\\ud7a3]/.test(\n char\n );\n}\n\nfunction isIdentifierPart(char: string): boolean {\n return /[a-zA-Z0-9_$\\u00e1\\u00e9\\u00ed\\u00f3\\u00fa\\u00f1\\u00d1\\u00e0\\u00e8\\u00ec\\u00f2\\u00f9\\u00c0\\u00c8\\u00cc\\u00d2\\u00d9\\u4e00-\\u9faf\\u3131-\\u314e\\u314f-\\u3163\\uac00-\\ud7a3-]/.test(\n char\n );\n}\n\nfunction consumeWhitespace(text: string, start: number): string {\n let end = start;\n while (end < text.length && isWhitespace(text[end])) {\n end++;\n }\n return text.substring(start, end);\n}\n\nfunction consumeNumber(text: string, start: number): string {\n let end = start;\n while (end < text.length && (isDigit(text[end]) || text[end] === '.')) {\n end++;\n }\n return text.substring(start, end);\n}\n\nfunction consumeIdentifier(text: string, start: number): string {\n let end = start;\n while (end < text.length && isIdentifierPart(text[end])) {\n end++;\n }\n return text.substring(start, end);\n}\n\nfunction consumeOperator(text: string, start: number): string {\n // Try to match multi-character operators first\n const twoChar = text.substring(start, start + 2);\n if (['==', '!=', '<=', '>=', '&&', '||', '..'].includes(twoChar)) {\n return twoChar;\n }\n\n // Single character operators\n return text[start];\n}\n","// packages/i18n/src/validators/schema.ts\n\nexport const RequiredCategories = [\n 'commands',\n 'modifiers',\n 'events',\n 'logical',\n 'temporal',\n 'values',\n 'attributes',\n] as const;\n\nexport const RequiredKeys = {\n commands: [\n 'on',\n 'tell',\n 'trigger',\n 'send',\n 'take',\n 'put',\n 'set',\n 'get',\n 'add',\n 'remove',\n 'toggle',\n 'hide',\n 'show',\n 'if',\n 'repeat',\n 'for',\n 'while',\n 'wait',\n 'fetch',\n 'call',\n 'return',\n 'make',\n 'log',\n 'throw',\n 'catch',\n ],\n\n modifiers: [\n 'to',\n 'from',\n 'into',\n 'with',\n 'at',\n 'in',\n 'of',\n 'as',\n 'by',\n 'before',\n 'after',\n 'over',\n 'under',\n 'between',\n ],\n\n events: [\n 'click',\n 'change',\n 'focus',\n 'blur',\n 'keydown',\n 'keyup',\n 'mouseenter',\n 'mouseleave',\n 'submit',\n 'load',\n 'scroll',\n ],\n\n logical: ['and', 'or', 'not', 'is', 'then', 'else', 'end'],\n\n temporal: ['seconds', 'milliseconds', 'minutes', 'hours'],\n\n values: ['true', 'false', 'null', 'it', 'me', 'my', 'element', 'window', 'document'],\n\n attributes: [\n 'class',\n 'style',\n 'attribute',\n 'first',\n 'last',\n 'next',\n 'previous',\n 'parent',\n 'children',\n ],\n} as const;\n\nexport interface DictionarySchema {\n readonly categories: ReadonlyArray<string>;\n readonly requiredKeys: Readonly<Record<string, ReadonlyArray<string>>>;\n}\n\nexport const schema: DictionarySchema = {\n categories: RequiredCategories,\n requiredKeys: RequiredKeys,\n};\n\n// Helper type for strict dictionary validation\nexport type StrictDictionary = {\n [K in (typeof RequiredCategories)[number]]: Record<string, string>;\n};\n\n// Validation helpers\nexport function isValidCategory(category: string): category is (typeof RequiredCategories)[number] {\n return RequiredCategories.includes(category as any);\n}\n\nexport function getRequiredKeysForCategory(category: string): ReadonlyArray<string> {\n return RequiredKeys[category as keyof typeof RequiredKeys] || [];\n}\n\nexport function getMissingKeys(\n dictionary: Record<string, string>,\n requiredKeys: ReadonlyArray<string>\n): string[] {\n return requiredKeys.filter(key => !(key in dictionary));\n}\n\nexport function getExtraKeys(\n dictionary: Record<string, string>,\n requiredKeys: ReadonlyArray<string>\n): string[] {\n const required = new Set(requiredKeys);\n return Object.keys(dictionary).filter(key => !required.has(key));\n}\n","// packages/i18n/src/validators/index.ts\n\nimport {\n Dictionary,\n DICTIONARY_CATEGORIES,\n ValidationResult,\n ValidationError,\n ValidationWarning,\n} from '../types';\nimport { RequiredCategories, RequiredKeys } from './schema';\n\nexport function validate(dictionary: Dictionary, locale: string): ValidationResult {\n const errors: ValidationError[] = [];\n const warnings: ValidationWarning[] = [];\n const coverage = {\n total: 0,\n translated: 0,\n missing: [] as string[],\n };\n\n // Check required categories\n for (const category of RequiredCategories) {\n if (!(category in dictionary)) {\n errors.push({\n type: 'missing',\n key: category,\n message: `Missing required category: ${category}`,\n });\n }\n }\n\n // Check required keys in each category\n for (const [category, requiredKeys] of Object.entries(RequiredKeys)) {\n const categoryDict = dictionary[category as keyof Dictionary];\n\n if (!categoryDict) continue;\n\n for (const key of requiredKeys) {\n coverage.total++;\n\n if (!(key in categoryDict)) {\n errors.push({\n type: 'missing',\n key: `${category}.${key}`,\n message: `Missing required key: ${key} in category ${category}`,\n });\n coverage.missing.push(`${category}.${key}`);\n } else if (!categoryDict[key] || categoryDict[key].trim() === '') {\n errors.push({\n type: 'invalid',\n key: `${category}.${key}`,\n message: `Empty translation for key: ${key} in category ${category}`,\n });\n } else {\n coverage.translated++;\n }\n }\n }\n\n // Check for duplicates using type-safe category iteration\n const seen = new Map<string, string>();\n\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dictionary[category];\n if (!translations) continue;\n\n for (const [key, value] of Object.entries(translations)) {\n if (seen.has(value)) {\n warnings.push({\n type: 'inconsistent',\n key: `${category}.${key}`,\n message: `Duplicate translation \"${value}\" also used for ${seen.get(value)}`,\n });\n } else {\n seen.set(value, `${category}.${key}`);\n }\n }\n }\n\n // Language-specific validations\n validateLocaleSpecific(dictionary, locale, errors, warnings);\n\n return {\n valid: errors.length === 0,\n errors,\n warnings,\n coverage,\n };\n}\n\nfunction validateLocaleSpecific(\n dictionary: Dictionary,\n locale: string,\n _errors: ValidationError[],\n warnings: ValidationWarning[]\n): void {\n // Spanish-specific validations\n if (locale === 'es') {\n // Check for gender consistency\n if (dictionary.values?.true === 'verdadero' && dictionary.values?.false === 'falso') {\n // Both masculine, good\n } else if (dictionary.values?.true === 'verdadera' && dictionary.values?.false === 'falsa') {\n // Both feminine, good\n } else if (dictionary.values?.true && dictionary.values?.false) {\n warnings.push({\n type: 'inconsistent',\n key: 'values.true/false',\n message: 'Gender inconsistency between true/false translations',\n });\n }\n }\n\n // Korean-specific validations\n if (locale === 'ko') {\n // Check for consistent honorific levels\n const formalEndings = ['습니다', '세요'];\n const informalEndings = ['다', '어', '아'];\n\n let formalCount = 0;\n let informalCount = 0;\n\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dictionary[category];\n if (!translations) continue;\n for (const value of Object.values(translations)) {\n if (formalEndings.some(ending => value.endsWith(ending))) {\n formalCount++;\n }\n if (informalEndings.some(ending => value.endsWith(ending))) {\n informalCount++;\n }\n }\n }\n\n if (formalCount > 0 && informalCount > 0) {\n warnings.push({\n type: 'inconsistent',\n key: 'global',\n message: 'Mixed formal and informal speech levels',\n });\n }\n }\n\n // Chinese-specific validations\n if (locale === 'zh' || locale === 'zh-TW') {\n // Check for simplified vs traditional consistency\n const simplified = ['设', '获', '显', '发'];\n const traditional = ['設', '獲', '顯', '發'];\n\n let hasSimplified = false;\n let hasTraditional = false;\n\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dictionary[category];\n if (!translations) continue;\n for (const value of Object.values(translations)) {\n if (simplified.some(char => value.includes(char))) {\n hasSimplified = true;\n }\n if (traditional.some(char => value.includes(char))) {\n hasTraditional = true;\n }\n }\n }\n\n if (hasSimplified && hasTraditional) {\n warnings.push({\n type: 'inconsistent',\n key: 'global',\n message: 'Mixed simplified and traditional Chinese characters',\n });\n }\n }\n}\n","// packages/i18n/src/translator.ts\n\nimport {\n Dictionary,\n DICTIONARY_CATEGORIES,\n I18nConfig,\n TranslationOptions,\n TranslationResult,\n Token,\n TokenType,\n ValidationResult,\n} from './types';\nimport { dictionaries } from './dictionaries';\nimport { detectLocale } from './utils/locale';\nimport { tokenize } from './utils/tokenizer';\nimport { validate } from './validators';\n\nexport class HyperscriptTranslator {\n private config: I18nConfig;\n private dictionaries: Map<string, Dictionary>;\n private reverseDictionaries: Map<string, Map<string, string>>;\n\n constructor(config: I18nConfig) {\n this.config = {\n fallbackLocale: 'en',\n preserveOriginalAttribute: 'data-i18n-original',\n detectLocale: true, // Enable language detection by default\n ...config,\n locale: config.locale || 'en', // Ensure locale has a default\n };\n\n this.dictionaries = new Map();\n this.reverseDictionaries = new Map();\n\n // Load built-in dictionaries\n Object.entries(dictionaries).forEach(([locale, dict]) => {\n this.addDictionary(locale, dict);\n });\n\n // Load custom dictionaries\n if (config.dictionaries) {\n Object.entries(config.dictionaries).forEach(([locale, dict]) => {\n this.addDictionary(locale, dict);\n });\n }\n }\n\n translate(text: string, options: TranslationOptions): string {\n const result = this.translateWithDetails(text, options);\n return result.translated;\n }\n\n translateWithDetails(text: string, options: TranslationOptions): TranslationResult {\n const fromLocale = options.from || this.detectLanguage(text);\n const toLocale = options.to;\n\n if (fromLocale === toLocale) {\n return {\n translated: text,\n original: text,\n tokens: [],\n locale: { from: fromLocale, to: toLocale },\n };\n }\n\n // Get dictionaries\n const fromDict = this.getDictionary(fromLocale);\n const toDict = this.getDictionary(toLocale);\n\n if (!fromDict || !toDict) {\n throw new Error(`Missing dictionary for locale: ${!fromDict ? fromLocale : toLocale}`);\n }\n\n // Tokenize the input\n const tokens = tokenize(text, fromLocale);\n\n // Translate tokens\n const translatedTokens = this.translateTokens(tokens, fromLocale, toLocale);\n\n // Reconstruct the text\n const translated = this.reconstructText(translatedTokens);\n\n // Validate target dictionary if requested\n if (options.validate && toDict) {\n const validation = validate(toDict, toLocale);\n if (!validation.valid) {\n console.warn('Translation validation warnings:', validation.warnings);\n }\n }\n\n const result: TranslationResult = {\n translated,\n tokens: translatedTokens,\n locale: { from: fromLocale, to: toLocale },\n warnings: [],\n };\n if (options.preserveOriginal) {\n result.original = text;\n }\n return result;\n }\n\n private translateTokens(tokens: Token[], fromLocale: string, toLocale: string): Token[] {\n const fromDict = this.getDictionary(fromLocale);\n const toDict = this.getDictionary(toLocale);\n const reverseFromDict = this.getReverseDictionary(fromLocale);\n const emptyDict: Dictionary = {\n commands: {},\n modifiers: {},\n events: {},\n logical: {},\n temporal: {},\n values: {},\n attributes: {},\n expressions: {},\n };\n\n return tokens.map(token => {\n let translated = token.value;\n\n // Only translate keywords, not identifiers or literals\n if (this.isTranslatableToken(token)) {\n // First, try direct translation from source to target\n if (fromLocale !== 'en' && toLocale !== 'en') {\n // Translate through English as intermediate\n const english = this.findTranslation(token.value, fromDict || emptyDict, reverseFromDict);\n if (english) {\n translated =\n this.findTranslation(english, toDict || emptyDict, new Map()) || token.value;\n }\n } else if (fromLocale === 'en') {\n // Direct translation from English\n translated =\n this.findTranslation(token.value, toDict || emptyDict, new Map()) || token.value;\n } else {\n // Translation to English\n translated =\n this.findTranslation(token.value, fromDict || emptyDict, reverseFromDict) ||\n token.value;\n }\n }\n\n return {\n ...token,\n translated,\n };\n });\n }\n\n private findTranslation(\n word: string,\n dict: Dictionary,\n reverseDict: Map<string, string>\n ): string | null {\n const lowerWord = word.toLowerCase();\n\n // Check if translating FROM this locale using reverse dictionary\n if (reverseDict.size > 0) {\n const english = reverseDict.get(lowerWord);\n if (english) return english;\n }\n\n // Check categories in priority order (events before commands to handle 'click' etc.)\n const categoryOrder = [\n 'events',\n 'commands',\n 'expressions',\n 'modifiers',\n 'logical',\n 'temporal',\n 'values',\n 'attributes',\n ];\n\n for (const category of categoryOrder) {\n const translations = dict[category as keyof Dictionary];\n if (translations && typeof translations === 'object') {\n for (const [key, value] of Object.entries(translations)) {\n if (key.toLowerCase() === lowerWord) return value;\n }\n }\n }\n\n return null;\n }\n\n private isTranslatableToken(token: Token): boolean {\n const translatableTypes: TokenType[] = [\n 'command',\n 'modifier',\n 'event',\n 'logical',\n 'temporal',\n 'value',\n 'attribute',\n 'expression',\n ];\n return translatableTypes.includes(token.type);\n }\n\n private reconstructText(tokens: Token[]): string {\n return tokens.map(token => token.translated || token.value).join('');\n }\n\n detectLanguage(text: string): string {\n if (!this.config.detectLocale) {\n return this.config.locale;\n }\n\n return detectLocale(text, Array.from(this.dictionaries.keys()));\n }\n\n addDictionary(locale: string, dictionary: Dictionary): void {\n this.dictionaries.set(locale, dictionary);\n\n // Build reverse dictionary for this locale using type-safe iteration\n const reverseDict = new Map<string, string>();\n\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dictionary[category];\n if (translations) {\n for (const [english, translated] of Object.entries(translations)) {\n reverseDict.set(translated.toLowerCase(), english);\n }\n }\n }\n\n this.reverseDictionaries.set(locale, reverseDict);\n }\n\n getDictionary(locale: string): Dictionary | undefined {\n return this.dictionaries.get(locale);\n }\n\n private getReverseDictionary(locale: string): Map<string, string> {\n return this.reverseDictionaries.get(locale) || new Map();\n }\n\n getSupportedLocales(): string[] {\n return Array.from(this.dictionaries.keys());\n }\n\n validateDictionary(locale: string): ValidationResult {\n const dict = this.getDictionary(locale);\n if (!dict) {\n return {\n valid: false,\n errors: [\n { type: 'missing', key: locale, message: `Dictionary not found for locale: ${locale}` },\n ],\n warnings: [],\n coverage: { total: 0, translated: 0, missing: [] },\n };\n }\n\n return validate(dict, locale);\n }\n\n isRTL(locale: string): boolean {\n const rtlLocales = this.config.rtlLocales || ['ar', 'he', 'fa', 'ur'];\n return rtlLocales.includes(locale);\n }\n\n getCompletions(context: { text: string; position: number; locale: string }): string[] {\n const dict = this.getDictionary(context.locale);\n if (!dict) return [];\n\n const completions: string[] = [];\n\n // Get the partial word at cursor\n const beforeCursor = context.text.substring(0, context.position);\n const partial = beforeCursor.match(/\\b(\\w+)$/)?.[1] || '';\n const lowerPartial = partial.toLowerCase();\n\n // Search all categories for matches using type-safe iteration\n // For non-English locales, search translated values; for English, search keys\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dict[category];\n if (translations) {\n for (const [key, value] of Object.entries(translations)) {\n // Search keys (English terms) and values (translated terms)\n if (key.toLowerCase().startsWith(lowerPartial)) {\n completions.push(key);\n }\n if (value.toLowerCase().startsWith(lowerPartial) && !completions.includes(value)) {\n completions.push(value);\n }\n }\n }\n }\n\n return completions;\n }\n}\n\n// Export a singleton instance for convenience\nexport const translator = new HyperscriptTranslator({ locale: 'en' });\n","// packages/i18n/src/plugins/webpack.ts\n\nimport { HyperscriptTranslator } from '../translator';\n\n// node-html-parser is an optional dependency\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet parse: any;\ntry {\n parse = require('node-html-parser').parse;\n} catch {\n parse = null;\n}\n\n// Webpack types - optional peer dependency\ninterface Compiler {\n hooks: any;\n webpack: any;\n}\ninterface WebpackPluginInstance {\n apply(compiler: Compiler): void;\n}\n\nexport interface HyperscriptI18nWebpackOptions {\n sourceLocale?: string;\n targetLocale?: string;\n preserveOriginal?: boolean;\n attributes?: string[];\n test?: RegExp;\n}\n\nexport class HyperscriptI18nWebpackPlugin implements WebpackPluginInstance {\n private options: Required<HyperscriptI18nWebpackOptions>;\n private translator: HyperscriptTranslator;\n\n constructor(options: HyperscriptI18nWebpackOptions = {}) {\n this.options = {\n sourceLocale: options.sourceLocale || 'en',\n targetLocale: options.targetLocale || 'en',\n preserveOriginal: options.preserveOriginal ?? false,\n attributes: options.attributes || ['_', 'script', 'data-script'],\n test: options.test || /\\.(html)$/,\n };\n\n this.translator = new HyperscriptTranslator({\n locale: this.options.sourceLocale,\n });\n }\n\n apply(compiler: Compiler): void {\n const pluginName = 'HyperscriptI18nWebpackPlugin';\n\n // Skip if no translation needed\n if (this.options.sourceLocale === this.options.targetLocale) {\n return;\n }\n\n compiler.hooks.compilation.tap(pluginName, (compilation: any) => {\n // Hook into HTML processing\n compilation.hooks.processAssets.tapPromise(\n {\n name: pluginName,\n stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_SIZE,\n },\n async (assets: any) => {\n const promises = Object.keys(assets)\n .filter(filename => this.options.test.test(filename))\n .map(filename => this.processAsset(compilation, filename));\n\n await Promise.all(promises);\n }\n );\n });\n }\n\n private async processAsset(compilation: any, filename: string): Promise<void> {\n const asset = compilation.assets[filename];\n const source = asset.source();\n\n try {\n const processed = this.processHtml(source);\n\n if (processed !== source) {\n compilation.assets[filename] = {\n source: () => processed,\n size: () => processed.length,\n };\n }\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : String(error);\n compilation.errors.push(new Error(`Failed to process ${filename}: ${message}`));\n }\n }\n\n private processHtml(html: string): string {\n const root = parse(html);\n let hasChanges = false;\n\n this.options.attributes.forEach(attr => {\n const elements = root.querySelectorAll(`[${attr}]`);\n\n elements.forEach((element: any) => {\n const original = element.getAttribute(attr);\n if (!original) return;\n\n const translated = this.translator.translate(original, {\n from: this.options.sourceLocale,\n to: this.options.targetLocale,\n });\n\n if (original !== translated) {\n hasChanges = true;\n\n if (this.options.preserveOriginal) {\n element.setAttribute(`${attr}-${this.options.sourceLocale}`, original);\n }\n\n element.setAttribute(attr, translated);\n }\n });\n });\n\n return hasChanges ? root.toString() : html;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/types.ts","../../src/dictionaries/en.ts","../../src/dictionaries/es.ts","../../src/dictionaries/ko.ts","../../src/dictionaries/zh.ts","../../src/dictionaries/fr.ts","../../src/dictionaries/de.ts","../../src/dictionaries/ja.ts","../../src/dictionaries/ar.ts","../../src/dictionaries/tr.ts","../../src/dictionaries/id.ts","../../src/dictionaries/qu.ts","../../src/dictionaries/sw.ts","../../src/dictionaries/pt.ts","../../src/dictionaries/it.ts","../../src/dictionaries/vi.ts","../../src/dictionaries/pl.ts","../../src/dictionaries/ru.ts","../../src/dictionaries/uk.ts","../../src/dictionaries/hi.ts","../../src/dictionaries/bn.ts","../../src/dictionaries/th.ts","../../src/dictionaries/ms.ts","../../src/dictionaries/tl.ts","../../src/dictionaries/he.ts","../../src/dictionaries/index.ts","../../src/utils/locale.ts","../../src/utils/tokenizer-adapter.ts","../../src/validators/schema.ts","../../src/validators/index.ts","../../src/translator.ts","../../src/plugins/webpack.ts"],"names":["en","es","ja","ko","zh","fr","de","ar","tr","id","pt","qu","sw","it","vi","pl","he","supportedLocales"],"mappings":"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","file":"webpack.cjs","sourcesContent":["// packages/i18n/src/types.ts\n\n/**\n * Dictionary category names as a union type for type-safe access.\n */\nexport type DictionaryCategory =\n | 'commands'\n | 'modifiers'\n | 'events'\n | 'logical'\n | 'temporal'\n | 'values'\n | 'attributes'\n | 'expressions';\n\n/**\n * All valid dictionary categories.\n */\nexport const DICTIONARY_CATEGORIES: readonly DictionaryCategory[] = [\n 'commands',\n 'modifiers',\n 'events',\n 'logical',\n 'temporal',\n 'values',\n 'attributes',\n 'expressions',\n] as const;\n\n/**\n * Dictionary structure for i18n translations.\n * Maps English canonical keywords to locale-specific translations.\n *\n * Note: Index signature removed for stricter type safety.\n * Use DICTIONARY_CATEGORIES to iterate over categories.\n */\nexport interface Dictionary {\n commands: Record<string, string>;\n modifiers: Record<string, string>;\n events: Record<string, string>;\n logical: Record<string, string>;\n temporal: Record<string, string>;\n values: Record<string, string>;\n attributes: Record<string, string>;\n expressions: Record<string, string>;\n}\n\n// =============================================================================\n// Type Guards\n// =============================================================================\n\n/**\n * Type guard to check if a string is a valid dictionary category.\n */\nexport function isDictionaryCategory(key: string): key is DictionaryCategory {\n return DICTIONARY_CATEGORIES.includes(key as DictionaryCategory);\n}\n\n/**\n * Safely get a category from a dictionary with type narrowing.\n * Returns undefined if the category doesn't exist.\n */\nexport function getDictionaryCategory(\n dict: Dictionary,\n category: string\n): Record<string, string> | undefined {\n if (isDictionaryCategory(category)) {\n return dict[category];\n }\n return undefined;\n}\n\n/**\n * Iterate over all categories in a dictionary with proper typing.\n */\nexport function forEachCategory(\n dict: Dictionary,\n callback: (category: DictionaryCategory, entries: Record<string, string>) => void\n): void {\n for (const category of DICTIONARY_CATEGORIES) {\n callback(category, dict[category]);\n }\n}\n\n/**\n * Find a translation in any category of a dictionary.\n * Returns the English key if found, undefined otherwise.\n */\nexport function findInDictionary(\n dict: Dictionary,\n localizedWord: string\n): { category: DictionaryCategory; englishKey: string } | undefined {\n const normalized = localizedWord.toLowerCase();\n for (const category of DICTIONARY_CATEGORIES) {\n const entries = dict[category];\n for (const [english, localized] of Object.entries(entries)) {\n if (localized.toLowerCase() === normalized) {\n return { category, englishKey: english };\n }\n }\n }\n return undefined;\n}\n\n/**\n * Find a translation for an English word in any category.\n * Returns the localized word if found, undefined otherwise.\n */\nexport function translateFromEnglish(dict: Dictionary, englishWord: string): string | undefined {\n const normalized = englishWord.toLowerCase();\n for (const category of DICTIONARY_CATEGORIES) {\n const entries = dict[category];\n const translated = entries[normalized];\n if (translated) {\n return translated;\n }\n }\n return undefined;\n}\n\nexport interface I18nConfig {\n locale: string;\n fallbackLocale?: string;\n dictionaries?: Record<string, Dictionary>;\n detectLocale?: boolean;\n rtlLocales?: string[];\n preserveOriginalAttribute?: string;\n}\n\nexport interface TranslationOptions {\n from?: string;\n to: string;\n preserveOriginal?: boolean;\n validate?: boolean;\n}\n\nexport interface ValidationResult {\n valid: boolean;\n errors: ValidationError[];\n warnings: ValidationWarning[];\n coverage: {\n total: number;\n translated: number;\n missing: string[];\n };\n}\n\nexport interface ValidationError {\n type: 'missing' | 'invalid' | 'duplicate';\n key: string;\n message: string;\n}\n\nexport interface ValidationWarning {\n type: 'unused' | 'deprecated' | 'inconsistent';\n key: string;\n message: string;\n}\n\nexport interface LocaleMetadata {\n code: string;\n name: string;\n nativeName: string;\n rtl: boolean;\n pluralRules?: (n: number) => string;\n}\n\nexport interface TranslationContext {\n locale: string;\n direction: 'ltr' | 'rtl';\n dictionary: Dictionary;\n metadata: LocaleMetadata;\n}\n\nexport type TokenType =\n | 'command'\n | 'modifier'\n | 'event'\n | 'logical'\n | 'temporal'\n | 'value'\n | 'attribute'\n | 'expression'\n | 'identifier'\n | 'operator'\n | 'literal';\n\nexport interface Token {\n type: TokenType;\n value: string;\n translated?: string;\n position: {\n start: number;\n end: number;\n line: number;\n column: number;\n };\n}\n\nexport interface TranslationResult {\n translated: string;\n original?: string;\n tokens: Token[];\n locale: {\n from: string;\n to: string;\n };\n warnings?: string[];\n}\n","// packages/i18n/src/dictionaries/en.ts\n\nimport { Dictionary } from '../types';\n\n/**\n * English dictionary - identity mapping since English is the canonical hyperscript language.\n * This exists primarily for symmetry in translation operations (e.g., en -> es).\n */\nexport const en: Dictionary = {\n commands: {\n // Event handling\n on: 'on',\n tell: 'tell',\n trigger: 'trigger',\n send: 'send',\n\n // DOM manipulation\n take: 'take',\n put: 'put',\n set: 'set',\n get: 'get',\n add: 'add',\n remove: 'remove',\n toggle: 'toggle',\n hide: 'hide',\n show: 'show',\n\n // Control flow\n if: 'if',\n unless: 'unless',\n repeat: 'repeat',\n for: 'for',\n while: 'while',\n until: 'until',\n continue: 'continue',\n break: 'break',\n halt: 'halt',\n\n // Async\n wait: 'wait',\n fetch: 'fetch',\n call: 'call',\n return: 'return',\n\n // Other commands\n make: 'make',\n log: 'log',\n throw: 'throw',\n catch: 'catch',\n measure: 'measure',\n transition: 'transition',\n\n // Data Commands\n increment: 'increment',\n decrement: 'decrement',\n default: 'default',\n\n // Reactivity Commands\n bind: 'bind',\n\n // Realtime / service-worker Commands\n eventsource: 'eventsource',\n socket: 'socket',\n worker: 'worker',\n intercept: 'intercept',\n\n // Navigation Commands\n go: 'go',\n pushUrl: 'pushUrl',\n replaceUrl: 'replaceUrl',\n\n // Utility Commands\n copy: 'copy',\n pick: 'pick',\n beep: 'beep',\n\n // Advanced Commands\n js: 'js',\n async: 'async',\n render: 'render',\n\n // Animation Commands\n swap: 'swap',\n morph: 'morph',\n settle: 'settle',\n\n // Content Commands\n append: 'append',\n\n // Control Flow\n exit: 'exit',\n\n // Behaviors\n install: 'install',\n\n // v0.9.90 Phase 1 — DOM / form state / debug\n open: 'open',\n close: 'close',\n select: 'select',\n clear: 'clear',\n breakpoint: 'breakpoint',\n\n // Other commands with schemas (backfill — pre-existing gaps surfaced by\n // the schema-alignment test)\n prepend: 'prepend',\n clone: 'clone',\n // Navigation/DOM commands added in core (Dec 2025 / Apr 2026)\n scroll: 'scroll',\n push: 'push',\n replace: 'replace',\n process: 'process',\n },\n\n modifiers: {\n to: 'to',\n from: 'from',\n into: 'into',\n with: 'with',\n at: 'at',\n in: 'in',\n of: 'of',\n as: 'as',\n by: 'by',\n before: 'before',\n after: 'after',\n over: 'over',\n under: 'under',\n between: 'between',\n through: 'through',\n without: 'without',\n },\n\n events: {\n click: 'click',\n dblclick: 'dblclick',\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n mouseover: 'mouseover',\n mouseout: 'mouseout',\n mousemove: 'mousemove',\n\n keydown: 'keydown',\n keyup: 'keyup',\n keypress: 'keypress',\n\n focus: 'focus',\n blur: 'blur',\n change: 'change',\n input: 'input',\n submit: 'submit',\n reset: 'reset',\n\n load: 'load',\n unload: 'unload',\n resize: 'resize',\n scroll: 'scroll',\n\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n },\n\n logical: {\n when: 'when',\n where: 'where',\n and: 'and',\n or: 'or',\n not: 'not',\n is: 'is',\n exists: 'exists',\n matches: 'matches',\n contains: 'contains',\n includes: 'includes',\n equals: 'equals',\n has: 'has', // third-person: \"it has .class\", \"#element has .class\"\n have: 'have', // first-person: \"I have .class\"\n then: 'then',\n else: 'else',\n otherwise: 'otherwise',\n end: 'end',\n live: 'live',\n changes: 'changes',\n },\n\n temporal: {\n seconds: 'seconds',\n second: 'second',\n milliseconds: 'milliseconds',\n millisecond: 'millisecond',\n minutes: 'minutes',\n minute: 'minute',\n hours: 'hours',\n hour: 'hour',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n },\n\n values: {\n true: 'true',\n false: 'false',\n null: 'null',\n undefined: 'undefined',\n it: 'it',\n its: 'its',\n me: 'me',\n my: 'my',\n myself: 'myself',\n you: 'you',\n your: 'your',\n yourself: 'yourself',\n element: 'element',\n target: 'target',\n detail: 'detail',\n event: 'event',\n window: 'window',\n document: 'document',\n body: 'body',\n result: 'result',\n value: 'value',\n },\n\n attributes: {\n class: 'class',\n classes: 'classes',\n style: 'style',\n styles: 'styles',\n attribute: 'attribute',\n attributes: 'attributes',\n property: 'property',\n properties: 'properties',\n },\n\n expressions: {\n // Positional\n first: 'first',\n last: 'last',\n next: 'next',\n previous: 'previous',\n prev: 'prev',\n at: 'at',\n random: 'random',\n\n // DOM Traversal\n closest: 'closest',\n parent: 'parent',\n children: 'children',\n within: 'within',\n\n // Emptiness/Existence\n no: 'no',\n empty: 'empty',\n some: 'some',\n\n // String operations\n 'starts with': 'starts with',\n 'ends with': 'ends with',\n 'ignoring case': 'ignoring case',\n\n // Collection operations (v0.9.90)\n 'sorted by': 'sorted by',\n 'mapped to': 'mapped to',\n 'split by': 'split by',\n 'joined by': 'joined by',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const es: Dictionary = {\n commands: {\n on: 'en',\n tell: 'decir',\n trigger: 'disparar',\n send: 'enviar',\n take: 'tomar',\n put: 'poner',\n set: 'establecer',\n get: 'obtener',\n add: 'agregar',\n remove: 'quitar',\n toggle: 'alternar',\n hide: 'ocultar',\n show: 'mostrar',\n if: 'si',\n unless: 'menos',\n repeat: 'repetir',\n for: 'para',\n while: 'mientras',\n until: 'hasta',\n continue: 'continuar',\n break: 'romper',\n halt: 'detener',\n wait: 'esperar',\n fetch: 'buscar',\n call: 'llamar',\n return: 'retornar',\n make: 'hacer',\n log: 'registrar',\n throw: 'lanzar',\n catch: 'atrapar',\n measure: 'medir',\n transition: 'transición',\n increment: 'incrementar',\n decrement: 'decrementar',\n default: 'predeterminar',\n go: 'ir',\n pushUrl: 'pushUrl',\n replaceUrl: 'reemplazarUrl',\n copy: 'copiar',\n pick: 'escoger',\n beep: 'pitido',\n js: 'js',\n async: 'asíncrono',\n render: 'renderizar',\n swap: 'intercambiar',\n morph: 'transformar',\n settle: 'estabilizar',\n append: 'anexar', // profile primary; 'añadir' is add's word (parsed as add)\n exit: 'salir',\n install: 'instalar',\n breakpoint: 'punto-interrupción',\n clear: 'limpiar',\n close: 'cerrar',\n open: 'abrir',\n select: 'seleccionar',\n clone: 'clonar',\n prepend: 'anteponer',\n },\n\n modifiers: {\n to: 'a',\n from: 'de',\n into: 'en',\n with: 'con',\n at: 'en',\n in: 'en',\n of: 'de',\n as: 'como',\n by: 'por',\n before: 'antes',\n after: 'después',\n over: 'sobre',\n under: 'bajo',\n between: 'entre',\n through: 'través',\n without: 'sin',\n },\n\n events: {\n click: 'clic',\n dblclick: 'dobleclic',\n mouseenter: 'ratónentrar',\n mouseleave: 'ratónsalir',\n // V3 Batch 2: fused forms split to the S5b/tokenizer-known forms (the fused\n // spellings captured event=expression:undefined — broken listeners)\n mousedown: 'ratón abajo',\n mouseup: 'ratón arriba',\n mouseover: 'ratón encima',\n mouseout: 'ratón fuera',\n mousemove: 'ratónmover',\n keydown: 'tecla abajo',\n keyup: 'tecla arriba',\n keypress: 'teclapresar',\n focus: 'enfocar',\n blur: 'desenfocar',\n change: 'cambiar',\n input: 'entrada',\n submit: 'envío', // Batch 3: enviar is the send verb — on-submit listener captured event \"send\"\n reset: 'reiniciar',\n load: 'cargar',\n unload: 'descargar',\n resize: 'redimensionar',\n scroll: 'desplazar',\n touchstart: 'toqueempezar',\n touchend: 'toqueterminar',\n touchmove: 'toquemover',\n touchcancel: 'toquecancelar',\n },\n\n logical: {\n when: 'cuando',\n where: 'donde',\n and: 'y',\n or: 'o',\n not: 'no',\n is: 'es',\n exists: 'existe',\n matches: 'coincide',\n contains: 'contiene',\n includes: 'incluye',\n equals: 'iguala',\n has: 'tiene',\n have: 'tengo',\n then: 'entonces',\n else: 'sino',\n otherwise: 'delocontrario',\n end: 'fin',\n live: 'vivo',\n changes: 'cambia',\n },\n\n temporal: {\n seconds: 'segundos',\n second: 'segundo',\n milliseconds: 'milisegundos',\n millisecond: 'milisegundo',\n minutes: 'minutos',\n minute: 'minuto',\n hours: 'horas',\n hour: 'hora',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n },\n\n values: {\n true: 'verdadero',\n false: 'falso',\n null: 'nulo',\n undefined: 'indefinido',\n it: 'ello',\n its: 'su',\n me: 'yo',\n my: 'mi',\n you: 'tu',\n your: 'tu',\n yourself: 'ti mismo',\n myself: 'yo mismo',\n element: 'elemento',\n target: 'objetivo',\n detail: 'detalle',\n event: 'evento',\n window: 'ventana',\n document: 'documento',\n body: 'cuerpo',\n result: 'resultado',\n value: 'valor',\n },\n\n attributes: {\n class: 'clase',\n classes: 'clases',\n style: 'estilo',\n styles: 'estilos',\n attribute: 'atributo',\n attributes: 'atributos',\n property: 'propiedad',\n properties: 'propiedades',\n },\n\n expressions: {\n characters: 'caracteres',\n inclusive: 'inclusivo',\n exclusive: 'exclusivo',\n first: 'primero',\n last: 'último',\n next: 'siguiente',\n previous: 'anterior',\n prev: 'ant',\n at: 'en',\n random: 'aleatorio',\n closest: 'cercano',\n parent: 'padre',\n children: 'hijos',\n within: 'dentro',\n no: 'ningún',\n empty: 'vacío',\n some: 'algún',\n 'starts with': 'empieza con',\n 'ends with': 'termina con',\n 'ignoring case': 'ignorando mayúsculas',\n 'sorted by': 'ordenado por',\n 'mapped to': 'transformado a',\n 'split by': 'dividido por',\n 'joined by': 'unido por',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const ko: Dictionary = {\n commands: {\n on: '에',\n tell: '말하다',\n trigger: '트리거',\n send: '보내다',\n take: '가져오다',\n put: '넣다',\n set: '설정',\n get: '얻다',\n add: '추가',\n remove: '제거',\n toggle: '토글',\n hide: '숨기다',\n show: '보이다',\n if: '만약',\n unless: '아니라면', // distinct from else `아니면` (line ~131) — was a homonym\n repeat: '반복',\n for: '각각', // profile's for word — 동안 is while (collision)\n while: '동안',\n until: '까지',\n continue: '계속',\n break: '중단',\n halt: '정지',\n wait: '대기',\n fetch: '가져오기',\n call: '호출',\n return: '반환',\n make: '만들다',\n log: '로그',\n throw: '던지다',\n catch: '잡다',\n measure: '측정',\n transition: '전환',\n increment: '증가',\n decrement: '감소',\n default: '기본값',\n go: '이동',\n pushUrl: 'URL푸시',\n replaceUrl: 'URL교체',\n copy: '복사',\n pick: '선택',\n beep: '비프',\n js: 'JS실행',\n async: '비동기',\n render: '렌더링',\n swap: '교환',\n morph: '변형',\n settle: '안정',\n append: '덧붙이다', // profile primary; '추가' is add's word (parsed as add)\n // 종료 → 나가기: realigned to the semantic profile primary (ko.ts `exit: 나가기`,\n // whose comment already flags the 종료 end-collision). Rendered as 종료 it\n // tokenized as a plain identifier, so a guard-clause `exit` never parsed.\n exit: '나가기',\n install: '설치',\n breakpoint: '중단점',\n clear: '지우기',\n close: '닫기',\n open: '열기',\n select: '고르기', // Batch 3: 선택 is the pick keyword — bare select rendered with it parses null\n clone: '복제',\n prepend: '앞에추가',\n socket: '소켓',\n },\n\n modifiers: {\n to: '에',\n from: '에서',\n into: '으로',\n with: '와',\n at: '에',\n in: '안에',\n of: '의',\n as: '로',\n by: '에의해',\n before: '전에',\n after: '후에',\n over: '위에',\n under: '아래',\n between: '사이',\n through: '통해',\n without: '없이',\n },\n\n events: {\n click: '클릭',\n dblclick: '더블클릭',\n mousedown: '마우스다운',\n mouseup: '마우스업',\n mouseenter: '마우스엔터',\n mouseleave: '마우스리브',\n mouseover: '마우스오버',\n mouseout: '마우스아웃',\n mousemove: '마우스무브',\n keydown: '키다운',\n keyup: '키업',\n keypress: '키프레스',\n focus: '포커스',\n blur: '블러',\n change: '변경',\n input: '입력',\n submit: '제출',\n reset: '재설정', // Batch 3: 리셋 captured on.event as expression (broken listener) — profile word round-trips\n load: '로드',\n unload: 'unload',\n resize: '리사이즈',\n scroll: '스크롤',\n // V3c burn-down (2026-07-14): English passthrough — no native form round-trips\n // on the parse side (probe: split forms shatter, fused forms capture verbatim).\n touchstart: 'touchstart',\n touchend: '터치종료',\n touchmove: 'touchmove',\n touchcancel: '터치취소',\n },\n\n logical: {\n when: '때',\n where: '어디',\n and: '그리고',\n or: '또는',\n not: '아니',\n is: '이다',\n exists: '존재',\n matches: '일치',\n contains: '포함',\n includes: '포함하다',\n equals: '같다',\n has: '있다',\n have: '있다',\n then: '그러면',\n else: '아니면',\n otherwise: '그렇지않으면',\n end: '끝',\n live: '라이브',\n bind: '바인드',\n changes: '변경되면',\n },\n\n temporal: {\n seconds: '초',\n second: '초',\n milliseconds: '밀리초',\n millisecond: '밀리초',\n minutes: '분',\n minute: '분',\n hours: '시간',\n hour: '시간',\n ms: 'ms',\n s: '초',\n min: '분',\n h: '시',\n },\n\n values: {\n true: '참',\n false: '거짓',\n null: '널',\n undefined: '정의안됨',\n it: '그것',\n its: '그것의',\n me: '나',\n my: '내',\n myself: '나자신',\n you: '너',\n your: '네',\n yourself: '너자신',\n element: '요소',\n target: '대상',\n detail: '세부',\n event: '이벤트',\n window: '창',\n document: '문서',\n body: '바디',\n result: '결과',\n value: '값',\n },\n\n attributes: {\n class: '클래스',\n classes: '클래스들',\n style: '스타일',\n styles: '스타일들',\n attribute: '속성',\n attributes: '속성들',\n property: '프로퍼티',\n properties: '프로퍼티들',\n },\n\n expressions: {\n characters: '문자',\n inclusive: '포함',\n exclusive: '제외',\n first: '첫번째',\n last: '마지막',\n next: '다음',\n previous: '이전',\n prev: '이전',\n at: '에서',\n random: '무작위',\n closest: '가장가까운',\n parent: '부모',\n children: '자식',\n within: '이내',\n no: '없음',\n empty: '비어있는',\n some: '일부',\n 'starts with': '로시작',\n 'ends with': '로끝나는',\n 'ignoring case': '대소문자_무시',\n 'sorted by': '로_정렬',\n 'mapped to': '로_변환',\n 'split by': '로_분할',\n 'joined by': '로_결합',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const zh: Dictionary = {\n commands: {\n on: '当',\n tell: '告诉',\n trigger: '触发',\n send: '发送',\n // `拿取` (the semantic zh profile's take primary), not `获取` — `获取` is the\n // profile's GET primary, so emitting it for take made `take …` parse as get\n // (take-class-from-siblings: phantom get, take dropped). Exposed by the get-zh-ba\n // pattern; same dict↔profile homonym family as pl get/fetch.\n take: '拿取',\n put: '放置',\n set: '设置',\n get: '获得',\n add: '添加',\n remove: '移除',\n toggle: '切换',\n hide: '隐藏',\n show: '显示',\n if: '如果',\n unless: '除非',\n repeat: '重复',\n for: '为',\n while: '当',\n until: '直到',\n continue: '继续',\n break: '中断',\n halt: '停止',\n wait: '等待',\n // 抓取 (zhuāqǔ, \"grab/scrape\") is the semantic zh profile's `fetch` primary;\n // 获取 (huòqǔ) is its `get` primary, so emitting 获取 here made the semantic\n // parser read a transformed `fetch` as `get`. See ZH_BLOCK_BODY_SCOPE.md #3.\n fetch: '抓取',\n call: '调用',\n return: '返回',\n make: '制作',\n log: '日志',\n throw: '抛出',\n catch: '捕获',\n measure: '测量',\n transition: '过渡',\n increment: '增加',\n decrement: '减少',\n default: '默认',\n go: '前往',\n pushUrl: '推送网址',\n replaceUrl: '替换网址',\n copy: '复制',\n pick: '选取',\n beep: '蜂鸣',\n js: 'JS执行',\n async: '异步',\n render: '渲染',\n swap: '交换',\n morph: '变形',\n settle: '稳定',\n append: '追加',\n exit: '退出',\n install: '安装',\n breakpoint: '断点',\n clear: '清除',\n close: '关闭',\n open: '打开',\n select: '选择',\n clone: '克隆',\n prepend: '前置',\n },\n\n modifiers: {\n to: '到',\n from: '从',\n into: '进入',\n with: '与',\n at: '在',\n in: '在',\n of: '的',\n as: '作为',\n by: '通过',\n before: '之前',\n after: '之后',\n over: '在上',\n under: '在下',\n between: '之间',\n through: '通过',\n without: '没有',\n },\n\n events: {\n click: '点击',\n dblclick: '双击',\n // mousedown/mouseup: English passthrough — no native form round-trips on the\n // parse side (V3c probe 2026-07-14: fused forms captured verbatim, split forms\n // shattered to their first word — live broken listeners in repeat-until-event).\n // The Batch-2 id-keyup precedent; revisit if S5b + tokenizer gain native entries.\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n // V3 Batch 2: 鼠标悬停 captured no event (expression:undefined) — realigned\n // to the tokenizer-registered 鼠标移入 (also S5b-listed). 按键抬起\n // prefix-shattered to 按键 and captured `keydown` (a keyup handler firing\n // on keydown) → 松键, the S5b/tokenizer form. keydown keeps 按键按下\n // (captures keydown via the registered 按键 prefix; S5b-aliased) — fixing\n // it to bare 按键 would collide with keypress below.\n mouseover: '鼠标移入',\n mouseout: '鼠标移出',\n mousemove: '鼠标移动',\n keydown: '按键按下',\n keyup: '松键',\n keypress: 'keypress',\n focus: '聚焦',\n blur: '失焦',\n change: '改变',\n input: '输入',\n submit: '提交',\n reset: '重置',\n load: '加载',\n unload: '卸载',\n resize: '调整大小',\n scroll: '滚动',\n touchstart: '触摸开始',\n touchend: 'touchend',\n touchmove: '触摸移动',\n // V3c burn-down (2026-07-14): English passthrough — no native form round-trips\n // on the parse side (probe: split forms shatter, fused forms capture verbatim).\n touchcancel: 'touchcancel',\n },\n\n logical: {\n when: '当',\n where: '哪里',\n and: '和',\n or: '或',\n not: '非',\n is: '是',\n exists: '存在',\n matches: '匹配',\n contains: '包含',\n includes: '包括',\n equals: '等于',\n has: '有',\n have: '有',\n then: '那么',\n else: '否则',\n otherwise: '要不然',\n end: '结束',\n live: '实时',\n bind: '绑定',\n changes: '改变时',\n },\n\n temporal: {\n seconds: '秒',\n second: '秒',\n milliseconds: '毫秒',\n millisecond: '毫秒',\n minutes: '分钟',\n minute: '分钟',\n hours: '小时',\n hour: '小时',\n ms: '毫秒',\n s: '秒',\n min: '分',\n h: '时',\n },\n\n values: {\n true: '真',\n false: '假',\n null: '空',\n undefined: '未定义',\n it: '它',\n its: '它的',\n me: '我',\n my: '我的',\n myself: '我自己',\n you: '你',\n your: '你的',\n yourself: '你自己',\n element: '元素',\n target: '目标',\n detail: '详情',\n event: '事件',\n window: '窗口',\n document: '文档',\n body: '主体',\n result: '结果',\n value: '值',\n },\n\n attributes: {\n class: '类',\n classes: '类别',\n style: '样式',\n styles: '样式集',\n attribute: '属性',\n attributes: '属性集',\n property: '特性',\n properties: '特性集',\n },\n\n expressions: {\n characters: '字符',\n inclusive: '包含',\n exclusive: '排除',\n first: '第一个',\n last: '最后一个',\n next: '下一个',\n previous: '上一个',\n prev: '上个',\n at: '在',\n random: '随机',\n closest: '最近的',\n parent: '父级',\n children: '子级',\n within: '之内',\n no: '没有',\n empty: '空的',\n some: '一些',\n 'starts with': '以开头',\n 'ends with': '以结尾',\n 'ignoring case': '忽略大小写',\n 'sorted by': '按_排序',\n 'mapped to': '映射为',\n 'split by': '按_分割',\n 'joined by': '用_连接',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const fr: Dictionary = {\n commands: {\n on: 'sur',\n tell: 'dire',\n trigger: 'déclencher',\n send: 'envoyer',\n take: 'prendre',\n put: 'mettre',\n set: 'définir',\n get: 'obtenir',\n add: 'ajouter',\n remove: 'supprimer',\n toggle: 'basculer',\n // command blur (the events section has the blur EVENT word; without this\n // entry the transformer fell back to it and no profile read it as the verb)\n blur: 'défocaliser',\n hide: 'cacher',\n show: 'montrer',\n if: 'si',\n unless: 'saufsi',\n repeat: 'répéter',\n for: 'pour',\n while: 'tantque',\n until: 'jusquà',\n continue: 'continuer',\n break: 'arrêter',\n halt: 'stopper',\n wait: 'attendre',\n fetch: 'récupérer',\n call: 'appeler',\n return: 'retourner',\n make: 'créer',\n log: 'enregistrer',\n throw: 'lancer',\n catch: 'attraper',\n measure: 'mesurer',\n transition: 'transition',\n increment: 'incrémenter',\n decrement: 'décrémenter',\n default: 'défaut',\n go: 'aller',\n pushUrl: 'pousserUrl',\n replaceUrl: 'remplacerUrl',\n copy: 'copier',\n pick: 'choisir',\n beep: 'bip',\n js: 'js',\n async: 'asynchrone',\n render: 'rendu',\n swap: 'échanger',\n morph: 'transformer',\n settle: 'stabiliser',\n append: 'annexer', // profile primary; 'ajouter' is add's word (parsed as add)\n exit: 'sortir',\n install: 'installer',\n breakpoint: 'point-arrêt',\n clear: 'effacer',\n close: 'fermer',\n open: 'ouvrir',\n select: 'sélectionner',\n clone: 'cloner',\n prepend: 'préfixer',\n focus: 'focaliser',\n },\n\n modifiers: {\n to: 'à',\n from: 'de',\n into: 'dans',\n with: 'avec',\n at: 'à',\n in: 'en',\n of: 'de',\n as: 'comme',\n by: 'par',\n before: 'avant',\n after: 'après',\n over: 'sur',\n under: 'sous',\n between: 'entre',\n through: 'à travers',\n without: 'sans',\n },\n\n events: {\n click: 'clic',\n dblclick: 'doubleclic',\n // mousedown/mouseup: English passthrough — no native form round-trips on the\n // parse side (V3c probe 2026-07-14: fused forms captured verbatim, split forms\n // shattered to their first word — live broken listeners in repeat-until-event).\n // The Batch-2 id-keyup precedent; revisit if S5b + tokenizer gain native entries.\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'sourisentrer',\n mouseleave: 'sourissortir',\n // V3 Batch 2: fused forms split to the S5b/tokenizer-known forms (the fused\n // spellings captured event=expression:undefined — broken listeners)\n mouseover: 'souris dessus',\n mouseout: 'souris dehors',\n mousemove: 'sourisbouger',\n keydown: 'touche bas',\n keyup: 'touche haut',\n keypress: 'touchepressée',\n focus: 'focus',\n blur: 'flou',\n change: 'changer',\n input: 'saisie',\n submit: 'soumettre',\n reset: 'réinitialiser',\n load: 'charger',\n unload: 'décharger',\n resize: 'redimensionner',\n scroll: 'défiler',\n touchstart: 'touchercommencer',\n touchend: 'toucherfin',\n touchmove: 'toucherbouger',\n touchcancel: 'toucherannuler',\n },\n\n logical: {\n when: 'quand',\n where: 'où',\n and: 'et',\n or: 'ou',\n not: 'non',\n is: 'est',\n exists: 'existe',\n matches: 'correspond',\n contains: 'contient',\n includes: 'inclut',\n equals: 'égale',\n has: 'a',\n have: 'ai',\n then: 'alors',\n else: 'sinon',\n otherwise: 'autrement',\n end: 'fin',\n live: 'vif',\n changes: 'change',\n },\n\n temporal: {\n seconds: 'secondes',\n second: 'seconde',\n milliseconds: 'millisecondes',\n millisecond: 'milliseconde',\n minutes: 'minutes',\n minute: 'minute',\n hours: 'heures',\n hour: 'heure',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n },\n\n values: {\n true: 'vrai',\n false: 'faux',\n null: 'nul',\n undefined: 'indéfini',\n it: 'ça',\n its: 'son',\n me: 'moi',\n my: 'mon',\n you: 'tu',\n your: 'ton',\n yourself: 'toi-même',\n myself: 'moi-même',\n element: 'élément',\n target: 'cible',\n detail: 'détail',\n event: 'événement',\n window: 'fenêtre',\n document: 'document',\n body: 'corps',\n result: 'résultat',\n value: 'valeur',\n },\n\n attributes: {\n class: 'classe',\n classes: 'classes',\n style: 'style',\n styles: 'styles',\n attribute: 'attribut',\n attributes: 'attributs',\n property: 'propriété',\n properties: 'propriétés',\n },\n\n expressions: {\n characters: 'caractères',\n inclusive: 'inclusif',\n exclusive: 'exclusif',\n first: 'premier',\n last: 'dernier',\n next: 'suivant',\n previous: 'précédent',\n prev: 'préc',\n at: 'à',\n random: 'aléatoire',\n closest: 'proche',\n parent: 'parent',\n children: 'enfants',\n within: 'dans',\n no: 'aucun',\n empty: 'vide',\n some: 'quelques',\n 'starts with': 'commence par',\n 'ends with': 'finit par',\n 'ignoring case': 'en ignorant la casse',\n 'sorted by': 'trié par',\n 'mapped to': 'transformé en',\n 'split by': 'divisé par',\n 'joined by': 'joint par',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const de: Dictionary = {\n commands: {\n on: 'bei',\n tell: 'sagen',\n trigger: 'auslösen',\n send: 'senden',\n take: 'nehmen',\n put: 'setzen',\n set: 'festlegen',\n get: 'erhalten',\n add: 'hinzufügen',\n remove: 'entfernen',\n toggle: 'umschalten',\n // command blur (the events section has the blur EVENT word; without this\n // entry the transformer fell back to it and no profile read it as the verb)\n blur: 'defokussieren',\n hide: 'verstecken',\n show: 'zeigen',\n // Align with the semantic German profile's `if` primary (`falls`). The previous\n // `wenn` collides with the profile's `when` keyword (German `wenn` = both\n // \"if\" and \"when\"), so a transformed `if` resolved to `when` and the conditional\n // wrapper never formed (`if`/`put` dropped). Same dict↔profile alignment as id\n // `toggle` / get-value. `when` is unaffected (separate dict entry).\n if: 'falls',\n unless: 'wennnicht',\n repeat: 'wiederholen',\n for: 'für',\n while: 'während',\n until: 'bis',\n continue: 'weiter',\n break: 'unterbrechen',\n halt: 'anhalten',\n wait: 'warten',\n fetch: 'abrufen',\n call: 'aufrufen',\n return: 'zurückgeben',\n make: 'erstellen',\n log: 'protokollieren',\n throw: 'werfen',\n catch: 'fangen',\n measure: 'messen',\n transition: 'übergang',\n increment: 'erhöhen',\n decrement: 'verringern',\n default: 'standard',\n go: 'gehen',\n pushUrl: 'urlHinzufügen',\n replaceUrl: 'urlErsetzen',\n copy: 'kopieren',\n pick: 'auswählen',\n beep: 'piepton',\n js: 'js',\n async: 'asynchron',\n render: 'rendern',\n swap: 'tauschen',\n morph: 'verwandeln',\n settle: 'stabilisieren',\n append: 'anhängen',\n exit: 'beenden',\n install: 'installieren',\n breakpoint: 'haltepunkt',\n clear: 'bereinigen', // löschen is a remove alternative in the profile\n close: 'schließen',\n open: 'öffnen',\n select: 'markieren', // Batch 3: auswählen is the pick keyword — bare select rendered with it parses null\n clone: 'klonen',\n prepend: 'voranstellen',\n focus: 'fokussieren',\n },\n\n modifiers: {\n to: 'zu',\n from: 'von',\n into: 'in',\n with: 'mit',\n at: 'bei',\n in: 'in',\n of: 'von',\n as: 'als',\n by: 'durch',\n before: 'vor',\n after: 'nach',\n over: 'über',\n under: 'unter',\n between: 'zwischen',\n through: 'durch',\n without: 'ohne',\n },\n\n events: {\n click: 'klick',\n dblclick: 'doppelklick',\n // mousedown/mouseup: English passthrough — no native form round-trips on the\n // parse side (V3c probe 2026-07-14: fused forms captured verbatim, split forms\n // shattered to their first word — live broken listeners in repeat-until-event).\n // The Batch-2 id-keyup precedent; revisit if S5b + tokenizer gain native entries.\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mauseintreten',\n mouseleave: 'mausverlassen',\n // V3 Batch 2: fused/dead event words realigned to the de tokenizer's\n // registered forms (S5b's `maus über`/`taste runter` are aspirational — they\n // do not tokenize; `mausüber` etc. captured event=expression:undefined).\n mouseover: 'maus drüber',\n mouseout: 'maus weg',\n mousemove: 'mausbewegen',\n keydown: 'taste unten',\n keyup: 'taste oben',\n keypress: 'tastedrücken',\n focus: 'fokus',\n // matches commands.blur (which shadows this at render time) and the live\n // corpus render; `unscharf` was dead vocab that captured no event\n blur: 'defokussieren',\n change: 'ändern',\n input: 'eingabe',\n submit: 'absenden',\n reset: 'zurücksetzen',\n load: 'laden',\n unload: 'entladen',\n // 'größeändern' was a malformed compound: German either separates the verb\n // phrase ('Größe ändern') or compounds with the linking -n- ('Größenänderung').\n resize: 'größenänderung',\n scroll: 'scrollen',\n touchstart: 'berührungstart',\n touchend: 'berührungend',\n touchmove: 'berührungbewegen',\n touchcancel: 'berührungabbrechen',\n },\n\n logical: {\n when: 'wenn',\n where: 'wo',\n and: 'und',\n or: 'oder',\n not: 'nicht',\n is: 'ist',\n exists: 'existiert',\n matches: 'passt',\n contains: 'enthält',\n includes: 'beinhaltet',\n equals: 'gleicht',\n has: 'hat',\n have: 'habe',\n then: 'dann',\n else: 'sonst',\n otherwise: 'andernfalls',\n end: 'ende',\n live: 'live',\n changes: 'ändert',\n },\n\n temporal: {\n seconds: 'sekunden',\n second: 'sekunde',\n milliseconds: 'millisekunden',\n millisecond: 'millisekunde',\n minutes: 'minuten',\n minute: 'minute',\n hours: 'stunden',\n hour: 'stunde',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'std',\n },\n\n values: {\n true: 'wahr',\n false: 'falsch',\n null: 'null',\n undefined: 'undefiniert',\n it: 'es',\n its: 'sein',\n me: 'ich',\n my: 'mein',\n you: 'du',\n your: 'dein',\n yourself: 'dich selbst',\n myself: 'ich selbst',\n element: 'element',\n target: 'ziel',\n detail: 'detail',\n event: 'ereignis',\n window: 'fenster',\n document: 'dokument',\n body: 'körper',\n result: 'ergebnis',\n value: 'wert',\n },\n\n attributes: {\n class: 'klasse',\n classes: 'klassen',\n style: 'stil',\n styles: 'stile',\n attribute: 'attribut',\n attributes: 'attribute',\n property: 'eigenschaft',\n properties: 'eigenschaften',\n },\n\n expressions: {\n characters: 'Zeichen',\n inclusive: 'inklusiv',\n exclusive: 'exklusiv',\n first: 'erste',\n last: 'letzte',\n next: 'nächste',\n previous: 'vorherige',\n prev: 'vorh',\n at: 'bei',\n random: 'zufällig',\n // `nächste` already serves `next` (line above). German `nächste` is\n // genuinely ambiguous (next/nearest), so emitting it for `closest` too\n // collided: the semantic tokenizer normalizes `nächste`→next (a deliberate\n // last-wins choice — see german.ts), and a closest reading is impossible to\n // recover. Use the unambiguous `nächstgelegene` (\"nearest-located\") for\n // closest so the two readings stay distinct end-to-end.\n closest: 'nächstgelegene',\n parent: 'elternteil',\n children: 'kinder',\n within: 'innerhalb',\n no: 'kein',\n empty: 'leer',\n some: 'einige',\n 'starts with': 'beginnt mit',\n 'ends with': 'endet mit',\n 'ignoring case': 'ohne Groß-/Kleinschreibung',\n 'sorted by': 'sortiert nach',\n 'mapped to': 'zugeordnet zu',\n 'split by': 'geteilt durch',\n 'joined by': 'verbunden mit',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const ja: Dictionary = {\n commands: {\n on: 'で',\n tell: '伝える',\n trigger: '引き金',\n send: '送る',\n take: '取る',\n put: '置く',\n set: '設定',\n get: '取得',\n add: '追加',\n remove: '削除',\n toggle: '切り替え',\n hide: '隠す',\n show: '表示',\n if: 'もし',\n unless: 'ない限り', // not でなければ — leading で particle shatters the marker\n repeat: '繰り返し',\n for: 'ために',\n while: 'の間',\n until: 'まで',\n continue: '続ける',\n break: '中断',\n halt: '停止',\n wait: '待つ',\n fetch: 'フェッチ',\n call: '呼び出し',\n return: '戻る',\n make: '作る',\n log: '記録',\n throw: '投げる',\n catch: '捕まえる',\n measure: '測定',\n transition: '遷移',\n increment: '増加',\n decrement: '減少',\n default: '既定',\n go: '移動',\n pushUrl: 'URLプッシュ',\n replaceUrl: 'URL置換',\n copy: 'コピー',\n pick: '選択',\n beep: 'ビープ',\n js: 'JS実行',\n async: '非同期',\n render: '描画',\n swap: '交換',\n morph: '変形',\n settle: '安定',\n append: '末尾追加',\n // 終了 → 退出: realigned to the semantic profile primary (ja.ts `exit: 退出`).\n // 終了 was the historic exit/end collision word (see isEndKeyword's ja note);\n // rendered as 終了 it tokenized as a plain identifier, so a guard-clause\n // `exit` inside `if … end` never parsed (behavior-sortable ja).\n exit: '退出',\n install: 'インストール',\n breakpoint: 'ブレークポイント',\n clear: 'クリア',\n close: '閉じる',\n open: '開く',\n select: '選ぶ', // Batch 3: 選択 is the pick keyword — bare select rendered with it parses null\n clone: '複製',\n prepend: '先頭追加',\n socket: 'ソケット',\n },\n\n modifiers: {\n to: 'に',\n from: 'から',\n into: 'へ',\n with: 'と',\n at: 'で',\n in: 'の中',\n of: 'の',\n as: 'として',\n by: 'によって',\n before: '前に',\n after: '後に',\n over: '上に',\n under: '下に',\n between: '間に',\n through: '通して',\n without: 'なしで',\n },\n\n events: {\n click: 'クリック',\n dblclick: 'dblclick',\n mousedown: 'マウス押下',\n mouseup: 'マウス解放',\n // V3c burn-down (2026-07-14): English passthrough — no native form round-trips\n // on the parse side (probe: split forms shatter, fused forms capture verbatim).\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n // V3 Batch 2: kanji compounds realigned to the S5b/tokenizer katakana\n // loanwords (the standard JS event terms; the compounds captured\n // event=expression:undefined — broken listeners)\n mouseover: 'マウスオーバー',\n mouseout: 'マウスアウト',\n mousemove: 'mousemove',\n keydown: 'キーダウン',\n keyup: 'キーアップ',\n keypress: 'キープレス',\n focus: 'フォーカス',\n blur: 'ぼかし',\n change: '変更',\n input: '入力',\n submit: '送信',\n reset: 'リセット',\n load: '読み込み',\n unload: 'unload',\n resize: 'サイズ変更',\n scroll: 'スクロール',\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n },\n\n logical: {\n when: '時',\n where: 'どこ',\n and: 'そして',\n or: 'または',\n not: 'ではない',\n is: 'である',\n exists: '存在する',\n matches: '一致する',\n contains: '含む',\n includes: '含める',\n equals: '等しい',\n has: 'ある',\n have: 'ある',\n then: 'それから',\n else: 'そうでなければ',\n otherwise: 'そうでなければ',\n end: '終わり',\n live: 'ライブ',\n bind: 'バインド',\n changes: '変わったら',\n },\n\n temporal: {\n seconds: '秒',\n second: '秒',\n milliseconds: 'ミリ秒',\n millisecond: 'ミリ秒',\n minutes: '分',\n minute: '分',\n hours: '時間',\n hour: '時間',\n ms: 'ms',\n s: '秒',\n min: '分',\n h: '時',\n },\n\n values: {\n true: '真',\n false: '偽',\n null: 'null',\n undefined: '未定義',\n it: 'それ',\n its: 'その',\n me: '私',\n my: '私の',\n you: 'あなた',\n your: 'あなたの',\n yourself: 'あなた自身',\n myself: '私自身',\n element: '要素',\n target: '対象',\n detail: '詳細',\n event: 'イベント',\n window: 'ウィンドウ',\n document: 'ドキュメント',\n body: 'ボディ',\n result: '結果',\n value: '値',\n },\n\n attributes: {\n class: 'クラス',\n classes: 'クラス群',\n style: 'スタイル',\n styles: 'スタイル群',\n attribute: '属性',\n attributes: '属性群',\n property: 'プロパティ',\n properties: 'プロパティ群',\n },\n\n expressions: {\n characters: '文字',\n inclusive: '含む',\n exclusive: '除く',\n first: '最初',\n last: '最後',\n next: '次',\n previous: '前',\n prev: '前',\n at: 'で',\n random: 'ランダム',\n closest: '最も近い',\n parent: '親',\n children: '子',\n within: '以内',\n no: 'ない',\n empty: '空',\n some: 'いくつか',\n 'starts with': 'で始まる',\n 'ends with': 'で終わる',\n 'ignoring case': '大文字小文字を無視',\n 'sorted by': 'でソート',\n 'mapped to': 'に変換',\n 'split by': 'で分割',\n 'joined by': 'で結合',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const ar: Dictionary = {\n commands: {\n on: 'على',\n tell: 'أخبر',\n trigger: 'تشغيل',\n send: 'أرسل',\n take: 'خذ',\n put: 'ضع',\n set: 'اضبط',\n get: 'احصل',\n add: 'أضف',\n remove: 'احذف',\n toggle: 'بدل',\n hide: 'اخف',\n show: 'اظهر',\n if: 'إذا',\n // Single-token form: the semantic ar tokenizer splits the two-word `إلا إذا`\n // into `إلا` + `إذا`(if), which derails the `unless` block. `إلا` alone is the\n // conventional Arabic shorthand and matches the ar profile's unless keyword.\n unless: 'إلا',\n repeat: 'كرر',\n for: 'لكل',\n while: 'بينما',\n until: 'حتى',\n continue: 'واصل',\n break: 'توقف',\n halt: 'أوقف',\n wait: 'انتظر',\n fetch: 'احضر',\n call: 'استدع',\n return: 'ارجع',\n make: 'اصنع',\n log: 'سجل',\n throw: 'ارم',\n catch: 'التقط',\n measure: 'قس',\n transition: 'انتقال',\n increment: 'زِد',\n decrement: 'أنقص',\n default: 'افتراضي',\n go: 'اذهب',\n pushUrl: 'ادفع رابط',\n replaceUrl: 'استبدل رابط',\n copy: 'انسخ',\n pick: 'اختر',\n beep: 'صفّر',\n js: 'جافاسكربت',\n async: 'متزامن',\n render: 'ارسم',\n swap: 'استبدل', // profile primary; 'بدّل' is toggle's word (parsed as toggle)\n morph: 'حوّل',\n settle: 'استقر',\n append: 'ألحق',\n exit: 'اخرج',\n install: 'ثبّت',\n breakpoint: 'نقطة-توقف',\n clear: 'نظّف', // امسح is a remove alternative in the profile\n close: 'أغلق',\n open: 'افتح',\n select: 'ظلل', // Batch 3: اختر is the pick keyword — bare select rendered with it parses null\n clone: 'استنسخ',\n prepend: 'سبق',\n socket: 'مقبس',\n },\n\n modifiers: {\n to: 'إلى',\n from: 'من',\n into: 'في',\n with: 'مع',\n at: 'عند',\n in: 'في',\n of: 'من',\n as: 'كـ',\n by: 'بواسطة',\n before: 'قبل',\n after: 'بعد',\n over: 'فوق',\n under: 'تحت',\n between: 'بين',\n through: 'عبر',\n without: 'بدون',\n },\n\n events: {\n click: 'نقر',\n // V3c burn-down (2026-07-14): English passthrough — no native form round-trips\n // on the parse side (probe: split forms shatter, fused forms capture verbatim).\n dblclick: 'dblclick',\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n mouseover: 'فأرة فوق',\n mouseout: 'mouseout',\n mousemove: 'mousemove',\n keydown: 'مفتاح أسفل',\n keyup: 'مفتاح أعلى',\n keypress: 'keypress',\n focus: 'تركيز',\n blur: 'ضبابية',\n change: 'تغيير',\n input: 'إدخال',\n submit: 'إرسال',\n reset: 'reset',\n load: 'تحميل',\n unload: 'unload',\n resize: 'تغيير حجم',\n scroll: 'تمرير',\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n },\n\n logical: {\n when: 'عندما',\n where: 'أين',\n and: 'و',\n or: 'أو',\n not: 'ليس',\n is: 'هو',\n exists: 'موجود',\n matches: 'يطابق',\n contains: 'يحتوي',\n includes: 'يشمل',\n equals: 'يساوي',\n has: 'لديه',\n have: 'لدي',\n then: 'ثم',\n else: 'وإلا',\n otherwise: 'خلاف ذلك',\n end: 'النهاية',\n live: 'حي',\n bind: 'اربط',\n changes: 'يتغير',\n },\n\n temporal: {\n seconds: 'ثوانِ',\n second: 'ثانية',\n milliseconds: 'ميلي ثانية',\n millisecond: 'ميلي ثانية',\n minutes: 'دقائق',\n minute: 'دقيقة',\n hours: 'ساعات',\n hour: 'ساعة',\n ms: 'م.ث',\n s: 'ث',\n min: 'د',\n h: 'س',\n },\n\n values: {\n true: 'صحيح',\n false: 'خطأ',\n null: 'فارغ',\n undefined: 'غير معرف',\n it: 'هو',\n its: 'له',\n me: 'أنا',\n my: 'لي',\n myself: 'نفسي',\n you: 'أنت',\n your: 'لك',\n yourself: 'نفسك',\n element: 'عنصر',\n target: 'هدف',\n detail: 'تفاصيل',\n event: 'حدث',\n window: 'نافذة',\n document: 'وثيقة',\n body: 'جسم',\n result: 'نتيجة',\n value: 'قيمة',\n },\n\n attributes: {\n class: 'فئة',\n classes: 'فئات',\n style: 'أسلوب',\n styles: 'أساليب',\n attribute: 'خاصية',\n attributes: 'خصائص',\n property: 'خاصية',\n properties: 'خصائص',\n },\n\n expressions: {\n characters: 'حروف',\n inclusive: 'شامل',\n exclusive: 'حصري',\n first: 'أول',\n last: 'آخر',\n next: 'التالي',\n previous: 'السابق',\n prev: 'سابق',\n at: 'عند',\n random: 'عشوائي',\n closest: 'الأقرب',\n parent: 'والد',\n children: 'أطفال',\n within: 'داخل',\n no: 'لا يوجد',\n empty: 'فارغ',\n some: 'بعض',\n 'starts with': 'يبدأ بـ',\n 'ends with': 'ينتهي بـ',\n 'ignoring case': 'مع تجاهل الحالة',\n 'sorted by': 'مرتب حسب',\n 'mapped to': 'محول إلى',\n 'split by': 'مقسم بواسطة',\n 'joined by': 'مدموج بواسطة',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const tr: Dictionary = {\n commands: {\n on: 'üzerinde',\n tell: 'söyle',\n trigger: 'tetikle',\n send: 'gönder',\n take: 'tut', // auditor: dict emitted a word the profile reads differently\n put: 'koy',\n set: 'ayarla',\n get: 'al',\n add: 'ekle',\n remove: 'kaldır',\n toggle: 'değiştir',\n hide: 'gizle',\n show: 'göster',\n if: 'eğer',\n unless: 'değilse',\n repeat: 'tekrarla',\n for: 'için',\n // `süresince` (the semantic tr profile's while primary), not `iken`: `iken`\n // is the profile's WHEN primary (logical.when below also emits it), so a\n // fronted repeat-while head tokenized as `when` and the condition dropped\n // wholesale. Same dict↔profile homonym disambiguation as pl get/pobierz.\n while: 'süresince',\n until: 'kadar',\n continue: 'devam',\n break: 'dur',\n halt: 'durdur',\n wait: 'bekle',\n fetch: 'getir',\n call: 'çağır',\n return: 'dön',\n make: 'yap',\n log: 'kaydet',\n throw: 'fırlat',\n catch: 'yakala',\n measure: 'ölç',\n transition: 'geçiş',\n increment: 'artır',\n decrement: 'azalt',\n default: 'varsayılan',\n go: 'git',\n pushUrl: 'urlEkle',\n replaceUrl: 'urlDeğiştir',\n copy: 'kopyala',\n pick: 'seç',\n beep: 'bip',\n js: 'js',\n async: 'asenkron',\n render: 'render',\n swap: 'takas',\n morph: 'dönüştür',\n settle: 'sabitlen',\n append: 'iliştir', // profile primary; 'ekle' is add's word (parsed as add)\n exit: 'çık',\n install: 'kur',\n breakpoint: 'kesme-noktası',\n clear: 'temizle',\n close: 'kapat',\n open: 'aç',\n select: 'vurgula', // Batch 3: seç is the pick keyword — bare select rendered with it parses null\n clone: 'klonla',\n prepend: 'başınaekle',\n socket: 'soket',\n },\n\n modifiers: {\n to: 'e',\n from: 'den',\n into: 'içine',\n with: 'ile',\n at: 'de',\n in: 'içinde',\n of: 'nin',\n as: 'olarak',\n by: 'tarafından',\n before: 'önce',\n after: 'sonra',\n over: 'üzerinde',\n under: 'altında',\n between: 'arasında',\n through: 'boyunca',\n without: 'olmadan',\n },\n\n events: {\n click: 'tıklama',\n dblclick: 'dblclick',\n // Fused (no `_`): the semantic tokenizer splits on `_`, breaking event\n // recognition (mousedown → \"bas\" / mouseup mis-captured). Mirrors the #535\n // ru/uk fuse + #510 resize fix.\n mousedown: 'farebas',\n mouseup: 'farebırak',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n // V3 Batch 2: same `_`-split class (tuş_bas captured verbatim `bas` — a\n // listener for a DOM event named \"bas\") — realigned to the S5b/tokenizer\n // fused forms.\n mouseover: 'fareiçinde',\n mouseout: 'faredışında',\n mousemove: 'mousemove',\n keydown: 'tuşbasma',\n keyup: 'tuşbırakma',\n // V3c burn-down (2026-07-14): English passthrough — no native form round-trips\n // on the parse side (probe: split forms shatter, fused forms capture verbatim).\n keypress: 'keypress',\n focus: 'odak',\n blur: 'bulanık',\n change: 'değişim',\n input: 'giriş',\n submit: 'gönderme', // Batch 3: gönder is the send verb — on-submit listener captured event \"send\"\n reset: 'sıfırla',\n load: 'yükle',\n unload: 'unload',\n resize: 'boyutlandırma',\n scroll: 'kaydır',\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n },\n\n logical: {\n when: 'iken',\n where: 'nerede',\n and: 've',\n or: 'veya',\n not: 'değil',\n is: 'dir',\n exists: 'var',\n matches: 'eşleşir',\n contains: 'içerir',\n includes: 'dahil',\n equals: 'eşittir',\n has: 'var',\n have: 'var',\n then: 'ardından',\n else: 'yoksa',\n otherwise: 'aksi_halde',\n end: 'son',\n live: 'canlı',\n changes: 'değiştiğinde',\n },\n\n temporal: {\n seconds: 'saniye',\n second: 'saniye',\n milliseconds: 'milisaniye',\n millisecond: 'milisaniye',\n minutes: 'dakika',\n minute: 'dakika',\n hours: 'saat',\n hour: 'saat',\n ms: 'ms',\n s: 's',\n min: 'dk',\n h: 'sa',\n },\n\n values: {\n true: 'doğru',\n false: 'yanlış',\n null: 'boş',\n undefined: 'tanımsız',\n it: 'o',\n its: 'onun',\n me: 'ben',\n my: 'benim',\n myself: 'kendim',\n you: 'sen',\n your: 'senin',\n yourself: 'kendin',\n element: 'öğe',\n target: 'hedef',\n detail: 'detay',\n event: 'olay',\n window: 'pencere',\n document: 'belge',\n body: 'gövde',\n result: 'sonuç',\n value: 'değer',\n },\n\n attributes: {\n class: 'sınıf',\n classes: 'sınıflar',\n style: 'stil',\n styles: 'stiller',\n attribute: 'özellik',\n attributes: 'özellikler',\n property: 'özellik',\n properties: 'özellikler',\n },\n\n expressions: {\n characters: 'karakterler',\n inclusive: 'dahil',\n exclusive: 'hariç',\n first: 'ilk',\n // 'son' is also the END keyword emission (block terminator), and the\n // parser's end-recognizers match it by value — so a positional `last`\n // emission of 'son' terminated the enclosing block mid-condition\n // (focus-trap's `eşleşir son <button/>` dropped the branch body; the sw\n // mwisho class). 'sonuncu' (\"the last one\") is unambiguous.\n last: 'sonuncu',\n next: 'sonraki',\n previous: 'önceki',\n prev: 'önc',\n at: 'de',\n random: 'rastgele',\n closest: 'enyakın',\n parent: 'ebeveyn',\n children: 'çocuklar',\n within: 'içinde',\n no: 'yok',\n empty: 'boş',\n some: 'bazı',\n 'starts with': 'ile başlar',\n 'ends with': 'ile biter',\n 'ignoring case': 'büyük küçük harf duyarsız',\n 'sorted by': 'göre sıralı',\n 'mapped to': 'ye dönüştürülmüş',\n 'split by': 'ile bölünmüş',\n 'joined by': 'ile birleştirilmiş',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const id: Dictionary = {\n commands: {\n on: 'pada',\n tell: 'katakan',\n trigger: 'picu',\n send: 'kirim',\n take: 'ambil',\n put: 'taruh',\n set: 'atur',\n get: 'dapatkan',\n add: 'tambah',\n remove: 'hapus',\n toggle: 'alihkan',\n hide: 'sembunyikan',\n show: 'tampilkan',\n if: 'jika',\n unless: 'kecuali',\n repeat: 'ulangi',\n for: 'untuk',\n while: 'selama',\n until: 'sampai',\n continue: 'lanjutkan',\n break: 'hentikan',\n halt: 'berhenti',\n wait: 'tunggu',\n // profile primary; 'ambil' is take's word — emitting it for fetch made every\n // fetch parse as take once the fused take-event pattern came alive (the de\n // holen/abrufen bug class)\n fetch: 'muat',\n call: 'panggil',\n return: 'kembali',\n make: 'buat',\n log: 'catat',\n throw: 'lempar',\n catch: 'tangkap',\n measure: 'ukur',\n transition: 'transisi',\n // naikkan (raise), not tambahkan — tambahkan is the semantic profile's\n // `add` alternative, so emitting it made increment-counter parse as ADD\n // (the #373 collision family). naikkan is the profile's increment\n // alternative, pairing naturally with the decrement side.\n increment: 'naikkan',\n decrement: 'kurangi',\n default: 'bawaan',\n go: 'pergi',\n pushUrl: 'tambahUrl',\n replaceUrl: 'gantiUrl',\n copy: 'salin',\n pick: 'pilih',\n beep: 'bunyi',\n js: 'js',\n async: 'asinkron',\n render: 'olah', // auditor: dict emitted a word the profile reads differently\n swap: 'tukar',\n morph: 'ubah', // auditor: dict emitted a word the profile reads differently\n settle: 'stabilkan', // auditor: dict emitted a word the profile reads differently\n append: 'sisipkan', // profile primary; 'tambah_akhir' splits and is unrecognized\n exit: 'keluar',\n install: 'pasang',\n breakpoint: 'titik-henti',\n clear: 'bersihkan', // hapus is the remove PRIMARY in the profile\n close: 'tutupkan', // Batch 3: tutup is the hide keyword — rendered close parsed as action=hide\n open: 'buka',\n select: 'tandai', // Batch 3: pilih is the pick keyword — bare select rendered with it parses null\n clone: 'klon',\n prepend: 'awali',\n },\n\n modifiers: {\n to: 'ke',\n from: 'dari',\n into: 'ke_dalam',\n with: 'dengan',\n at: 'di',\n in: 'dalam',\n of: 'dari',\n as: 'sebagai',\n by: 'oleh',\n before: 'sebelum',\n after: 'setelah',\n over: 'di_atas',\n under: 'di_bawah',\n between: 'antara',\n through: 'melalui',\n without: 'tanpa',\n },\n\n events: {\n click: 'klik',\n dblclick: 'dblclick',\n // mousedown/mouseup: English passthrough — no native form round-trips on the\n // parse side (V3c probe 2026-07-14: fused forms captured verbatim, split forms\n // shattered to their first word — live broken listeners in repeat-until-event).\n // The Batch-2 id-keyup precedent; revisit if S5b + tokenizer gain native entries.\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n // V3 Batch 2: mouse_atas/mouse_luar captured no event (the S5b forms\n // `mouse masuk`/`mouse keluar` are aspirational — they don't tokenize\n // either) — realigned to the tokenizer-registered natives. keydown keeps\n // tekan_tombol (captures keydown via the registered `tekan`; S5b-aliased).\n // keyup has NO parseable native (lepas is unregistered) → English\n // passthrough, matching the blur/reset precedent below.\n mouseover: 'arahkan',\n mouseout: 'tinggalkan',\n mousemove: 'mousemove',\n keydown: 'tekan_tombol',\n keyup: 'keyup',\n keypress: 'keypress',\n focus: 'fokus',\n blur: 'blur',\n change: 'ubah',\n input: 'masukan',\n submit: 'kirim',\n reset: 'reset',\n load: 'muat',\n unload: 'bongkar',\n resize: 'ubah_ukuran',\n scroll: 'gulir',\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n // V3c burn-down (2026-07-14): English passthrough — no native form round-trips\n // on the parse side (probe: split forms shatter, fused forms capture verbatim).\n touchcancel: 'touchcancel',\n },\n\n logical: {\n when: 'ketika',\n where: 'di_mana',\n and: 'dan',\n or: 'atau',\n not: 'bukan',\n is: 'adalah',\n exists: 'ada',\n matches: 'cocok',\n contains: 'berisi',\n includes: 'termasuk',\n equals: 'sama',\n has: 'punya',\n have: 'punya',\n then: 'lalu',\n else: 'lainnya',\n otherwise: 'sebaliknya',\n end: 'akhir',\n live: 'langsung',\n changes: 'berubah',\n },\n\n temporal: {\n seconds: 'detik',\n second: 'detik',\n milliseconds: 'milidetik',\n millisecond: 'milidetik',\n minutes: 'menit',\n minute: 'menit',\n hours: 'jam',\n hour: 'jam',\n ms: 'ms',\n s: 'd',\n min: 'mnt',\n h: 'j',\n },\n\n values: {\n true: 'benar',\n false: 'salah',\n null: 'kosong',\n undefined: 'tidak_terdefinisi',\n it: 'itu',\n its: 'miliknya',\n me: 'saya',\n my: 'saya punya',\n myself: 'saya sendiri',\n you: 'kamu',\n your: 'kamu punya',\n yourself: 'kamu sendiri',\n element: 'elemen',\n target: 'target',\n detail: 'detail',\n event: 'peristiwa',\n window: 'jendela',\n document: 'dokumen',\n body: 'badan',\n result: 'hasil',\n value: 'nilai',\n },\n\n attributes: {\n class: 'kelas',\n classes: 'kelas_kelas',\n style: 'gaya',\n styles: 'gaya_gaya',\n attribute: 'atribut',\n attributes: 'atribut_atribut',\n property: 'properti',\n properties: 'properti_properti',\n },\n\n expressions: {\n characters: 'karakter',\n inclusive: 'inklusif',\n exclusive: 'eksklusif',\n first: 'pertama',\n last: 'terakhir',\n next: 'berikutnya',\n previous: 'sebelumnya',\n prev: 'sblm',\n at: 'di',\n random: 'acak',\n closest: 'terdekat',\n parent: 'induk',\n children: 'anak_anak',\n within: 'dalam',\n no: 'tidak_ada',\n empty: 'kosong',\n some: 'beberapa',\n 'starts with': 'dimulai dengan',\n 'ends with': 'diakhiri dengan',\n 'ignoring case': 'abaikan kapital',\n 'sorted by': 'diurutkan berdasarkan',\n 'mapped to': 'dipetakan ke',\n 'split by': 'dipisah oleh',\n 'joined by': 'digabung oleh',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const qu: Dictionary = {\n commands: {\n on: 'kaqpi',\n tell: 'niy',\n trigger: 'kichay',\n send: 'kachay',\n take: 'hapiy', // auditor: dict emitted a word the profile reads differently\n put: 'churay',\n // churay is the semantic qu profile's `put` primary; `set` is churanay. Emitting\n // churay for set made the semantic parser read a transformed `set` as `put`.\n // See ZH_BLOCK_BODY_SCOPE.md (#2 sweep — keyword realignment, cf. zh fetch).\n set: 'churanay',\n // Align with the semantic quechua profile's `get` primary (`taripay`); the\n // previous `chaskiy` had no profile entry, so the transformed `get` dropped\n // (get-value parsed degenerate). Same dict↔profile alignment as id `toggle`.\n get: 'taripay',\n add: 'yapay',\n remove: 'qichuy',\n toggle: 'tikray',\n hide: 'pakay',\n show: 'rikuchiy',\n if: 'sichus',\n unless: 'mana sichus', // spaced phrase (\"if not\"); `_` form split to `mana`+`sichus`(=if) at parse time\n repeat: 'kutipay',\n for: 'sapankaq', // profile's for word — rayku doubles as `by`\n // `kaykamaqa` (the semantic qu profile's while primary), not `kay_kaq`: the\n // `_` form is unknown to the profile (and `_` words split at parse time, cf.\n // qhipaman_yapay), so the fronted repeat-while head never formed a `while`\n // node — the condition dropped wholesale. Same dict↔profile alignment as\n // vi render / de abrufen.\n while: 'kaykamaqa',\n until: 'hayk_akama',\n continue: 'purichiy',\n break: 'p_akiy',\n halt: 'sayay',\n wait: 'suyay',\n fetch: 'apamuy',\n call: 'qayay',\n return: 'kutimuy',\n make: 'ruray',\n // qillqay is the semantic qu profile's `copy` primary; `log` is qillqakuy.\n // Emitting qillqay for log made the parser read every transformed log as\n // copy (log-value/log-element/get-value lossy) — same realign as set above.\n log: 'qillqakuy',\n throw: 'wikchuy',\n catch: 'hapsiy',\n measure: 'tupuy',\n // pasay, not tikray: the semantic qu profile's toggle keyword is\n // t'ikray/tikray, so a tikray render collided with toggle and the\n // transition command never anchored (sw kama precedent, #569).\n transition: 'pasay',\n increment: 'yapachiy',\n decrement: 'pisiyachiy',\n default: 'ñawpaq_kaq',\n go: 'riy',\n pushUrl: 'url_tanqay',\n replaceUrl: 'url_tikray',\n copy: 'qillqay',\n pick: 'akllay',\n beep: 'waqay',\n js: 'js',\n async: 'mana_suyaspa',\n render: 'rikurichiy', // auditor: dict emitted a word the profile reads differently\n swap: \"t'inkuy\", // profile primary; 'rantin_tikray' splits, 'tikray' is toggle's word\n morph: 'tukunay', // auditor: dict emitted a word the profile reads differently\n settle: 'tiyakuy', // auditor: dict emitted a word the profile reads differently\n append: 'qatichiy', // profile's append primary (single token); `qhipaman_yapay` `_`-split to qhipaman+yapay(=add) at parse time\n exit: 'lluqsiy',\n install: 'tarpuy',\n breakpoint: 'sayachinay',\n clear: 'pichay',\n close: 'wichqay',\n open: 'paskay', // Batch 3: kichay is the trigger keyword — rendered open parsed null\n select: 'marcay', // Batch 3: akllay is the pick keyword — bare select rendered with it parses null\n clone: 'kikinchay',\n prepend: 'ñawpachiy',\n socket: 'tinkina',\n },\n\n modifiers: {\n to: 'man',\n from: 'manta',\n into: 'ukupi',\n with: 'wan',\n at: 'pi',\n in: 'ukupi',\n of: 'pa',\n as: 'hina',\n by: 'rayku',\n before: 'ñawpaqpi',\n after: 'qhepapi',\n over: 'hawapi',\n under: 'urapi',\n between: 'chawpipi',\n through: 'pasaspa',\n without: 'mana',\n },\n\n events: {\n click: 'ñitiy',\n dblclick: 'dblclick',\n // Fused (no `_`): the semantic tokenizer splits on `_` — and `rat_ñitiy` then\n // mis-captured as the `click` event (ñitiy→click). Mirrors the #535 ru/uk fuse.\n mousedown: 'ratñitiy',\n mouseup: 'rathuqariy',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n mouseover: 'mouseover',\n mouseout: 'mouseout',\n mousemove: 'mousemove',\n // V3 Batch 2: `yupana_ñitiy` split at `_` and mis-captured as the `click`\n // event (ñitiy→click, the same mechanism as the mousedown fuse above);\n // `yupana_huqariy` captured verbatim `huqariy`. Realigned to the\n // S5b/tokenizer forms.\n keydown: 'llave uray',\n keyup: 'llave hawa',\n keypress: 'keypress',\n focus: 'qhaway',\n blur: 'paqariy',\n change: 'kambiay', // Batch 3: tikray is the toggle verb — on-change listener captured event \"toggle\"\n input: 'yaykuchiy',\n submit: 'apaykachay', // Batch 3: kachay is the send verb — on-submit captured \"send\" in one corpus slot\n reset: 'musuqchay', // Batch 3: qallariy is the init/start word — on-reset listener captured event \"default\"\n load: 'apakuy',\n unload: 'unload',\n resize: 'hatun_kay',\n scroll: 'kunray',\n // V3c burn-down (2026-07-14): English passthrough — no native form round-trips\n // on the parse side (probe: split forms shatter, fused forms capture verbatim).\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n },\n\n logical: {\n when: 'maykama',\n where: 'maypi',\n and: 'chaymanta',\n or: 'utaq',\n not: 'mana',\n is: 'kanqa',\n exists: 'tiyan',\n matches: 'tupan',\n contains: 'ukupi_kan',\n includes: 'churasqa',\n equals: 'kikin',\n has: 'kachkan',\n have: 'kachkani',\n then: 'chayqa',\n // Align to the semantic profile's else word `manachus`. The old `mana_chayqa`\n // tokenized as `mana`(false) + `_` + `chayqa`(then) — no else keyword formed,\n // so qu conditionals never split their else branch. `manachus` is a single\n // token the profile-derived keyword map reads as `else` (dict↔profile align).\n else: 'manachus',\n otherwise: 'huk_kaqpi',\n end: 'tukuy',\n live: 'kawsay',\n changes: 'tukurikun',\n },\n\n temporal: {\n seconds: 'sikundukuna',\n second: 'sikundu',\n milliseconds: 'iskay_paqta_sikundukuna',\n millisecond: 'iskay_paqta_sikundu',\n minutes: 'minutukuna',\n minute: 'minutu',\n hours: 'horakuna',\n hour: 'hora',\n ms: 'ms',\n s: 's',\n min: 'm',\n h: 'h',\n },\n\n values: {\n true: 'cheqaq',\n false: 'llulla',\n null: 'chusaq',\n undefined: 'mana_riqsisqa',\n it: 'chay',\n its: 'chaypaq',\n me: 'noqa',\n my: 'noqaq',\n myself: 'noqa killa',\n you: 'qam',\n your: 'qampaq',\n yourself: 'qam killa',\n element: 'raku',\n target: 'punta',\n detail: 'sut_iy',\n event: 'ruway',\n window: 'k_iri',\n document: 'qillqa',\n body: 'kurku',\n result: 'lluqsiy',\n value: 'chanin',\n },\n\n attributes: {\n class: 'ayllu',\n classes: 'ayllukuna',\n style: 'sami',\n styles: 'samikuna',\n attribute: 'kaq',\n attributes: 'kaqkuna',\n property: 'kanay',\n properties: 'kanaykuna',\n },\n\n expressions: {\n // Pick unit word (arc 3): native-first per qu convention — `sanampa`\n // (\"sign/letter\", the standard term for alphabet characters) over a\n // loanword. Paired with the QUECHUA_EXTRAS entry in the semantic\n // tokenizer; both surfaces must match verbatim.\n characters: 'sanampa',\n first: 'ñawpaq',\n last: 'qhipa',\n next: 'qhipantin',\n previous: 'ñawpaqnin',\n prev: 'ñawpaq',\n at: 'pi',\n random: 'imaymanata',\n closest: 'kaylla',\n parent: 'mama_tayta',\n children: 'wawakuna',\n within: 'ukupi',\n no: 'mana_kanchu',\n empty: 'chusaq',\n some: 'wakin',\n 'starts with': 'qallarisqa wan',\n 'ends with': 'tukusqa wan',\n 'ignoring case': 'hatun-huchuy qillqata-saqiy',\n 'sorted by': 'niqpi ruwasqa',\n 'mapped to': 'kay kaqman',\n 'split by': 'rakisqa',\n 'joined by': 'huñusqa',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const sw: Dictionary = {\n commands: {\n on: 'kwenye',\n tell: 'ambia',\n trigger: 'chochea',\n send: 'tuma',\n take: 'chukua',\n put: 'weka',\n // weka is the semantic sw profile's `put` primary; `set` is seti. Emitting weka\n // for set made the semantic parser read a transformed `set` as `put`.\n // See ZH_BLOCK_BODY_SCOPE.md (#2 sweep — keyword realignment, cf. zh fetch).\n set: 'seti',\n get: 'pata',\n add: 'ongeza',\n remove: 'ondoa',\n toggle: 'badilisha',\n // command blur (the events section has the blur EVENT word; without this\n // entry the transformer fell back to it and no profile read it as the verb)\n blur: 'blur',\n hide: 'ficha',\n show: 'onyesha',\n if: 'kama',\n unless: 'isipokuwa',\n repeat: 'rudia',\n for: 'kwa',\n while: 'wakati',\n until: 'hadi',\n continue: 'endelea',\n break: 'vunja',\n halt: 'simama',\n wait: 'ngoja',\n fetch: 'leta',\n call: 'ita',\n // `rudisha` (transitive, \"give back a value\"), not `rudi` (\"go back\"): the\n // semantic profile reads `rudisha`/`rejea`, so emitting `rudi` produced sw code\n // the parser could not read back. Kept clear of `rudia` (= `repeat`).\n return: 'rudisha',\n make: 'tengeneza', // auditor: dict emitted a word the profile reads differently\n log: 'andika',\n throw: 'tupa',\n catch: 'shika',\n measure: 'pima',\n transition: 'mpito',\n increment: 'ongezeko',\n decrement: 'punguza',\n default: 'msingi',\n go: 'nenda',\n pushUrl: 'sukumaUrl',\n replaceUrl: 'badilishaUrl',\n copy: 'nakala', // Batch 3: nakili is the clone keyword — rendered copy parsed as action=clone\n pick: 'chagua',\n beep: 'lia',\n js: 'js',\n async: 'sainkroni',\n render: 'chora',\n swap: 'badilishana',\n morph: 'geuza', // auditor: dict emitted a word the profile reads differently\n settle: 'tulia',\n append: 'ambatanisha', // profile primary; 'ongezaMwisho' is unrecognized\n exit: 'toka',\n install: 'sakinisha',\n breakpoint: 'nukta-simama',\n clear: 'safisha', // futa is a remove alternative in the profile\n close: 'funga',\n open: 'fungua',\n select: 'alama', // Batch 3: chagua is the pick keyword — bare select rendered with it parses null\n clone: 'nakili',\n prepend: 'tanguliza',\n focus: 'lenga',\n socket: 'soketi',\n },\n\n modifiers: {\n to: 'kwa',\n from: 'kutoka',\n into: 'ndani',\n with: 'na',\n at: 'katika',\n in: 'ndani',\n of: 'ya',\n // `kuwa` (\"to be/become\" — the conversion sense, cf. `badilisha kuwa`), not\n // `kama`: sw `kama` is the IF keyword (commands.if above and the semantic sw\n // profile's if primary), so emitting it for `as` grew a phantom `if` command\n // out of every transformed `as <Type>` tail (`kama JSON`, `kama Number`) when\n // the semantic parser split event-body statements. Same dict↔profile homonym\n // disambiguation as pl get/pobierz. The semantic fetch-sw pattern still\n // tolerates hand-written `kama` in as-marker position.\n as: 'kuwa',\n by: 'na',\n before: 'kabla',\n after: 'baada',\n over: 'juu',\n under: 'chini',\n between: 'kati',\n through: 'kupitia',\n without: 'bila',\n },\n\n events: {\n click: 'bonyeza',\n // V3c burn-down (2026-07-14): English passthrough — no native form round-trips\n // on the parse side (probe: split forms shatter, fused forms capture verbatim).\n dblclick: 'dblclick',\n mousedown: 'panya_shuka',\n mouseup: 'panya_juu',\n mouseenter: 'panya_ingia',\n mouseleave: 'panya_toka',\n // V3 Batch 2: panya_juu is mouseup's form (shared here by mistake — the\n // tokenizer deliberately maps it to mouseup for the corpus row, so a\n // mouseover handler captured `mouseup`) — realigned to the\n // tokenizer-registered `sogeza juu`.\n mouseover: 'sogeza juu',\n mouseout: 'panya_nje',\n mousemove: 'panya_sogea',\n keydown: 'kitufe_shuka',\n keyup: 'kitufe_juu',\n keypress: 'keypress',\n // V3 Batch 2: zingatia captured no event → lenga (S5b/tokenizer form);\n // poteza_macho was a null parse → `blur` (the S5b identity form — matches\n // the live corpus render `kwenye blur`); badilisha is the toggle VERB\n // homonym (a change handler captured event=`toggle` — a listener for a DOM\n // event named \"toggle\") → kubadilisha (S5b/tokenizer form).\n focus: 'lenga',\n blur: 'blur',\n change: 'kubadilisha',\n input: 'ingizo',\n submit: 'wasilisha',\n reset: 'reset',\n load: 'pakia',\n unload: 'shuka',\n resize: 'badilisha_ukubwa',\n scroll: 'sogeza',\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n },\n\n logical: {\n when: 'wakati',\n where: 'wapi',\n and: 'na',\n or: 'au',\n not: 'si',\n is: 'ni',\n exists: 'ipo',\n matches: 'inafanana',\n contains: 'ina',\n includes: 'pamoja',\n equals: 'sawa',\n has: 'ana',\n have: 'nina',\n then: 'kisha',\n else: 'sivyo',\n otherwise: 'vinginevyo',\n end: 'mwisho',\n live: 'mubashara',\n changes: 'inabadilika',\n },\n\n temporal: {\n seconds: 'sekunde',\n second: 'sekunde',\n milliseconds: 'millisekunde',\n millisecond: 'millisekunde',\n minutes: 'dakika',\n minute: 'dakika',\n hours: 'masaa',\n hour: 'saa',\n ms: 'ms',\n s: 's',\n min: 'dk',\n h: 'sa',\n },\n\n values: {\n true: 'kweli',\n false: 'uongo',\n null: 'tupu',\n undefined: 'haijafafanuliwa',\n it: 'hiyo',\n its: 'yake',\n me: 'mimi',\n my: 'yangu',\n myself: 'mimi mwenyewe',\n you: 'wewe',\n your: 'yako',\n yourself: 'wewe mwenyewe',\n element: 'kipengele',\n target: 'lengo',\n detail: 'maelezo',\n event: 'tukio',\n window: 'dirisha',\n document: 'hati',\n body: 'mwili',\n result: 'matokeo',\n value: 'thamani',\n },\n\n attributes: {\n class: 'darasa',\n classes: 'madarasa',\n style: 'mtindo',\n styles: 'mitindo',\n attribute: 'sifa',\n attributes: 'sifa',\n property: 'mali',\n properties: 'mali',\n },\n\n expressions: {\n characters: 'herufi',\n first: 'kwanza',\n // 'mwisho' is the END keyword (block terminator) — the tokenizer's keyword\n // map is last-wins, so a positional `last` emission of 'mwisho' reads as\n // `end` and terminates the enclosing block mid-condition (focus-trap's\n // `… inafanana mwisho <button/>` dropped the whole branch body). Emit the\n // concatenated adjective form instead (wa mwisho — the saufsi/wennnicht/\n // enyakın single-token class); the tokenizer reads it as `last`.\n last: 'wamwisho',\n next: 'ijayo',\n previous: 'iliyopita',\n prev: 'awali',\n at: 'katika',\n random: 'nasibu',\n // Natural Swahili: `karibu` (\"near/close\") is the ordinary word and already\n // maps to closest. The earlier `karibu_zaidi` (\"nearer\") underscore-split to\n // karibu/_/zaidi (the stray `_ zaidi` broke positional capture); the fused\n // `karibuzaidi` parsed but isn't real Swahili. `karibu` alone is both natural\n // and correct (the sw tokenizer is single-word-only, so a spaced `karibu\n // zaidi` would strand `zaidi` regardless).\n closest: 'karibu',\n parent: 'mzazi',\n children: 'watoto',\n within: 'ndani_ya',\n no: 'hakuna',\n empty: 'tupu',\n some: 'baadhi',\n 'starts with': 'huanza na',\n 'ends with': 'huisha na',\n 'ignoring case': 'puuza herufi kubwa ndogo',\n 'sorted by': 'kupangwa kwa',\n 'mapped to': 'kubadilishwa kuwa',\n 'split by': 'kugawanywa kwa',\n 'joined by': 'kuunganishwa kwa',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const pt: Dictionary = {\n commands: {\n on: 'em',\n tell: 'dizer',\n trigger: 'disparar',\n send: 'enviar',\n take: 'pegar',\n put: 'colocar',\n set: 'definir',\n get: 'obter',\n add: 'adicionar',\n remove: 'remover',\n toggle: 'alternar',\n // command blur (the events section has the blur EVENT word; without this\n // entry the transformer fell back to it and no profile read it as the verb)\n blur: 'desfocar',\n hide: 'esconder',\n show: 'mostrar',\n if: 'se',\n unless: 'salvo', // a_menos splits at _ in the pt extractor (see profile)\n repeat: 'repetir',\n for: 'para',\n while: 'enquanto',\n until: 'até',\n continue: 'continuar',\n // un-crossed: the profile/tokenizer read parar=halt, interromper=break\n break: 'interromper',\n halt: 'parar',\n wait: 'esperar',\n fetch: 'buscar',\n call: 'chamar',\n return: 'retornar',\n make: 'fazer',\n log: 'registrar',\n throw: 'lançar',\n catch: 'capturar',\n measure: 'medir',\n transition: 'transição',\n increment: 'incrementar',\n decrement: 'decrementar',\n default: 'padrão',\n go: 'ir',\n pushUrl: 'pushUrl',\n replaceUrl: 'substituirUrl',\n copy: 'copiar',\n pick: 'escolher',\n beep: 'apitar',\n js: 'js',\n async: 'assíncrono',\n render: 'renderizar',\n swap: 'trocar',\n morph: 'transformar',\n settle: 'estabilizar',\n append: 'anexar',\n exit: 'sair',\n install: 'instalar',\n breakpoint: 'ponto-interrupção',\n clear: 'limpar',\n close: 'fechar',\n open: 'abrir',\n select: 'selecionar',\n clone: 'clonar',\n prepend: 'preceder',\n focus: 'focar',\n socket: 'soquete',\n },\n\n modifiers: {\n to: 'para',\n from: 'de',\n into: 'em',\n with: 'com',\n at: 'em',\n in: 'dentro',\n of: 'de',\n as: 'como',\n by: 'por',\n before: 'antes',\n after: 'depois',\n over: 'sobre',\n under: 'sob',\n between: 'entre',\n through: 'através',\n without: 'sem',\n },\n\n events: {\n click: 'clique',\n dblclick: 'duploClique',\n mouseenter: 'mouseEntrar',\n mouseleave: 'mouseSair',\n // V3 Batch 2: camelCase forms split to the S5b/tokenizer-known forms (the\n // fused spellings captured event=expression:undefined — broken listeners)\n // pt-BR idiom is \"pressionado\"/\"solto\", not the spatial baixo/cima calque —\n // cf. MDN pt-BR (\"um botão ... é pressionado\") and Scratch pt-BR\n // (\"mouse pressionado?\"). The calques stay as profile parse alternatives.\n mousedown: 'mouse pressionado',\n mouseup: 'mouse solto',\n mouseover: 'mouse sobre',\n mouseout: 'mouse fora',\n mousemove: 'mouseMover',\n keydown: 'tecla baixo',\n keyup: 'tecla cima',\n keypress: 'teclaPressionar',\n focus: 'foco',\n blur: 'desfoque',\n change: 'mudança',\n input: 'entrada',\n submit: 'envio',\n reset: 'redefinir', // Batch 3: reiniciar captured on.event as expression (broken listener) — profile word round-trips\n load: 'carregar',\n unload: 'descarregar',\n resize: 'redimensionar',\n scroll: 'rolar',\n touchstart: 'toqueInício',\n touchend: 'toqueFim',\n touchmove: 'toqueMover',\n touchcancel: 'toqueCancelar',\n },\n\n logical: {\n when: 'quando',\n where: 'onde',\n and: 'e',\n or: 'ou',\n not: 'não',\n is: 'é',\n exists: 'existe',\n matches: 'corresponde',\n contains: 'contém',\n includes: 'inclui',\n equals: 'igual',\n has: 'tem',\n have: 'tenho',\n then: 'então',\n else: 'senão',\n otherwise: 'caso_contrário',\n end: 'fim',\n live: 'vivo',\n changes: 'muda',\n },\n\n temporal: {\n seconds: 'segundos',\n second: 'segundo',\n milliseconds: 'milissegundos',\n millisecond: 'milissegundo',\n minutes: 'minutos',\n minute: 'minuto',\n hours: 'horas',\n hour: 'hora',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n },\n\n values: {\n true: 'verdadeiro',\n false: 'falso',\n null: 'nulo',\n undefined: 'indefinido',\n it: 'isso',\n its: 'seu',\n me: 'eu',\n my: 'meu',\n myself: 'eu mesmo',\n you: 'você',\n your: 'seu',\n yourself: 'você mesmo',\n element: 'elemento',\n target: 'alvo',\n detail: 'detalhe',\n event: 'evento',\n window: 'janela',\n document: 'documento',\n body: 'corpo',\n result: 'resultado',\n value: 'valor',\n },\n\n attributes: {\n class: 'classe',\n classes: 'classes',\n style: 'estilo',\n styles: 'estilos',\n attribute: 'atributo',\n attributes: 'atributos',\n property: 'propriedade',\n properties: 'propriedades',\n },\n\n expressions: {\n characters: 'caracteres',\n inclusive: 'inclusivo',\n exclusive: 'exclusivo',\n first: 'primeiro',\n last: 'último',\n next: 'próximo',\n previous: 'anterior',\n prev: 'ant',\n at: 'em',\n random: 'aleatório',\n closest: 'maispróximo',\n parent: 'pai',\n children: 'filhos',\n within: 'dentro',\n no: 'nenhum',\n empty: 'vazio',\n some: 'algum',\n 'starts with': 'começa com',\n 'ends with': 'termina com',\n 'ignoring case': 'ignorando maiúsculas',\n 'sorted by': 'ordenado por',\n 'mapped to': 'mapeado para',\n 'split by': 'dividido por',\n 'joined by': 'unido por',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const it: Dictionary = {\n commands: {\n on: 'su',\n tell: 'dire',\n trigger: 'scatenare',\n send: 'inviare',\n take: 'prendere',\n put: 'mettere',\n set: 'impostare',\n get: 'ottenere',\n add: 'aggiungere',\n remove: 'rimuovere',\n toggle: 'commutare',\n hide: 'nascondere',\n show: 'mostrare',\n if: 'se',\n unless: 'salvo',\n repeat: 'ripetere',\n for: 'per',\n while: 'mentre',\n until: 'fino',\n continue: 'continuare',\n break: 'interrompere',\n halt: 'fermare',\n wait: 'aspettare',\n fetch: 'recuperare',\n call: 'chiamare',\n return: 'ritornare',\n make: 'fare',\n log: 'registrare',\n throw: 'lanciare',\n catch: 'catturare',\n measure: 'misurare',\n transition: 'transizione',\n increment: 'incrementare',\n decrement: 'decrementare',\n default: 'predefinito',\n go: 'andare',\n pushUrl: 'pushUrl',\n replaceUrl: 'sostituireUrl',\n copy: 'copiare',\n pick: 'scegliere',\n beep: 'beep',\n js: 'js',\n async: 'asincrono',\n render: 'renderizzare',\n swap: 'scambiare',\n morph: 'trasformare',\n settle: 'stabilizzare',\n append: 'accodare', // profile primary; 'aggiungere' is add's word (parsed as add)\n exit: 'uscire',\n install: 'installare',\n breakpoint: 'punto-interruzione',\n clear: 'cancellare',\n close: 'chiudere',\n open: 'aprire',\n select: 'selezionare',\n clone: 'clonare',\n prepend: 'anteporre',\n // profile primary; without a commands entry the transformer fell back to\n // the EVENTS noun 'fuoco', which generated focus patterns can't match\n focus: 'focalizzare',\n },\n\n modifiers: {\n to: 'a',\n from: 'da',\n into: 'in',\n with: 'con',\n at: 'a',\n in: 'in',\n of: 'di',\n as: 'come',\n by: 'per',\n before: 'prima',\n after: 'dopo',\n over: 'sopra',\n under: 'sotto',\n between: 'tra',\n through: 'attraverso',\n without: 'senza',\n },\n\n events: {\n click: 'clic',\n dblclick: 'doppioclic',\n // mousedown/mouseup: English passthrough — no native form round-trips on the\n // parse side (V3c probe 2026-07-14: fused forms captured verbatim, split forms\n // shattered to their first word — live broken listeners in repeat-until-event).\n // The Batch-2 id-keyup precedent; revisit if S5b + tokenizer gain native entries.\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mouseentra',\n mouseleave: 'mouseesce',\n mouseover: 'mousesopra',\n mouseout: 'mousefuori',\n mousemove: 'mousemuovi',\n keydown: 'tastogiù',\n keyup: 'tastosu',\n keypress: 'tastopremi',\n focus: 'fuoco',\n blur: 'sfuocare', // Batch 3: the noun form parsed the blur command with no patient; the verb round-trips both event and command slots\n change: 'cambio',\n input: 'input',\n submit: 'invio',\n reset: 'reimpostare', // Batch 3: English passthrough captured on.event as expression — profile verb round-trips\n load: 'carica',\n unload: 'scarica',\n resize: 'ridimensiona',\n scroll: 'scorrimento',\n touchstart: 'toccoinizia',\n touchend: 'toccofine',\n touchmove: 'toccomuovi',\n touchcancel: 'toccoannulla',\n },\n\n logical: {\n when: 'quando',\n where: 'dove',\n and: 'e',\n or: 'o',\n not: 'non',\n is: 'è',\n exists: 'esiste',\n matches: 'corrisponde',\n contains: 'contiene',\n includes: 'include',\n equals: 'uguale',\n has: 'ha',\n have: 'ho',\n then: 'allora',\n else: 'altrimenti',\n otherwise: 'altrimenti',\n end: 'fine',\n live: 'vivo',\n changes: 'cambia',\n },\n\n temporal: {\n seconds: 'secondi',\n second: 'secondo',\n milliseconds: 'millisecondi',\n millisecond: 'millisecondo',\n minutes: 'minuti',\n minute: 'minuto',\n hours: 'ore',\n hour: 'ora',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n },\n\n values: {\n true: 'vero',\n false: 'falso',\n null: 'nullo',\n undefined: 'indefinito',\n it: 'esso',\n its: 'suo',\n me: 'io',\n my: 'mio',\n you: 'tu',\n your: 'tuo',\n yourself: 'te stesso',\n myself: 'me stesso',\n element: 'elemento',\n target: 'obiettivo',\n detail: 'dettaglio',\n event: 'evento',\n window: 'finestra',\n document: 'documento',\n body: 'corpo',\n result: 'risultato',\n value: 'valore',\n },\n\n attributes: {\n class: 'classe',\n classes: 'classi',\n style: 'stile',\n styles: 'stili',\n attribute: 'attributo',\n attributes: 'attributi',\n property: 'proprietà',\n properties: 'proprietà',\n },\n\n expressions: {\n characters: 'caratteri',\n inclusive: 'inclusivo',\n exclusive: 'esclusivo',\n first: 'primo',\n last: 'ultimo',\n next: 'prossimo',\n previous: 'precedente',\n prev: 'prec',\n at: 'a',\n random: 'casuale',\n closest: 'vicino',\n parent: 'genitore',\n children: 'figli',\n within: 'dentro',\n no: 'nessun',\n empty: 'vuoto',\n some: 'qualche',\n 'starts with': 'inizia con',\n 'ends with': 'finisce con',\n 'ignoring case': 'ignorando maiuscole',\n 'sorted by': 'ordinato per',\n 'mapped to': 'trasformato in',\n 'split by': 'diviso per',\n 'joined by': 'unito per',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const vi: Dictionary = {\n commands: {\n on: 'khi',\n tell: 'nói với',\n trigger: 'kích hoạt',\n send: 'gửi',\n take: 'lấy',\n put: 'đặt',\n set: 'gán',\n get: 'lấy giá trị',\n add: 'thêm',\n remove: 'xóa',\n toggle: 'chuyển đổi',\n hide: 'ẩn',\n show: 'hiển thị',\n if: 'nếu',\n unless: 'trừ khi',\n repeat: 'lặp lại',\n for: 'với mỗi',\n while: 'trong khi',\n until: 'cho đến khi',\n continue: 'tiếp tục',\n break: 'dừng',\n halt: 'dừng lại',\n wait: 'chờ',\n fetch: 'tải',\n call: 'gọi',\n return: 'trả về',\n make: 'tạo',\n log: 'in ra',\n throw: 'ném',\n catch: 'bắt',\n measure: 'đo lường',\n transition: 'chuyển tiếp',\n increment: 'tăng',\n decrement: 'giảm',\n default: 'mặc định',\n go: 'đi đến',\n pushUrl: 'pushUrl',\n replaceUrl: 'thayThếUrl',\n copy: 'sao chép',\n pick: 'chọn',\n beep: 'beep',\n js: 'js',\n async: 'bất đồng bộ',\n render: 'kết xuất', // distinct from `show` (was `hiển thị`, which collides with show: the semantic profile reads `hiển thị` as show, `kết xuất` as render)\n swap: 'hoán đổi',\n morph: 'biến đổi',\n settle: 'ổn định',\n append: 'nối',\n exit: 'thoát',\n focus: 'tập trung',\n blur: 'mất tập trung',\n init: 'khởi tạo',\n behavior: 'hành vi',\n install: 'cài đặt',\n clone: 'nhân bản', // Batch 3: 'sao chép' is the copy verb — rendered clone parsed as action=copy\n prepend: 'thêm vào đầu', // Batch 3: 'thêm đầu' shatters at 'thêm' (add) — parsed as action=add\n else: 'không thì',\n breakpoint: 'điểm-dừng',\n clear: 'tẩy', // xóa is the remove PRIMARY in the profile\n close: 'đóng',\n open: 'mở',\n select: 'đánh-dấu', // Batch 3: 'chọn' is the pick keyword — bare select rendered with it parses null\n },\n\n modifiers: {\n into: 'vào',\n before: 'trước',\n after: 'sau',\n then: 'rồi',\n end: 'kết thúc',\n from: 'từ',\n to: 'đến',\n with: 'với',\n as: 'như',\n by: 'bởi',\n on: 'trên',\n in: 'trong',\n at: 'tại',\n of: 'của',\n between: 'giữa',\n the: '',\n times: 'lần',\n },\n\n events: {\n click: 'nhấp',\n dblclick: 'dblclick',\n input: 'nhập',\n change: 'change',\n submit: 'nộp', // Batch 3: 'gửi' is the send verb — on-submit listener captured event \"send\"\n keydown: 'keydown',\n keyup: 'keyup',\n keypress: 'keypress',\n mouseover: 'mouseover',\n mouseout: 'mouseout',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n focus: 'focus',\n blur: 'blur',\n // V3c burn-down (2026-07-14): English passthrough — no native form round-trips\n // on the parse side (probe: split forms shatter, fused forms capture verbatim).\n reset: 'reset',\n load: 'load',\n scroll: 'cuộn',\n resize: 'đổi kích thước',\n },\n\n logical: {\n when: 'khi',\n where: 'ở_đâu',\n and: 'và',\n or: 'hoặc',\n not: 'không',\n is: 'là',\n equals: 'bằng',\n contains: 'chứa',\n matches: 'khớp',\n exists: 'tồn tại',\n has: 'có',\n have: 'có',\n empty: 'trống',\n true: 'đúng',\n false: 'sai',\n null: 'rỗng',\n else: 'không thì',\n end: 'kết thúc',\n then: 'rồi',\n live: 'live',\n changes: 'thay đổi',\n },\n\n temporal: {\n now: 'bây giờ',\n today: 'hôm nay',\n tomorrow: 'ngày mai',\n yesterday: 'hôm qua',\n always: 'luôn luôn',\n never: 'không bao giờ',\n sometimes: 'đôi khi',\n once: 'một lần',\n twice: 'hai lần',\n forever: 'mãi mãi',\n },\n\n values: {\n true: 'đúng',\n false: 'sai',\n null: 'rỗng',\n undefined: 'không xác định',\n none: 'không có',\n all: 'tất cả',\n any: 'bất kỳ',\n some: 'một số',\n each: 'mỗi',\n every: 'tất cả',\n body: 'body',\n event: 'sự kiện',\n it: 'nó',\n its: 'của nó',\n me: 'tôi',\n my: 'của tôi',\n result: 'kết quả',\n target: 'mục tiêu',\n you: 'bạn',\n your: 'của bạn',\n },\n\n attributes: {\n id: 'id',\n class: 'lớp',\n style: 'kiểu',\n value: 'giá trị',\n text: 'văn bản',\n html: 'html',\n src: 'nguồn',\n href: 'liên kết',\n disabled: 'vô hiệu',\n hidden: 'ẩn',\n checked: 'được chọn',\n selected: 'được chọn',\n },\n\n expressions: {\n random: 'ngẫu nhiên',\n characters: 'ký tự',\n inclusive: 'bao gồm',\n exclusive: 'loại trừ',\n me: 'tôi',\n my: 'của tôi',\n it: 'nó',\n its: 'của nó',\n result: 'kết quả',\n event: 'sự kiện',\n target: 'mục tiêu',\n first: 'đầu tiên',\n last: 'cuối cùng',\n next: 'tiếp theo',\n previous: 'trước đó',\n parent: 'cha',\n children: 'con',\n closest: 'gần nhất',\n empty: 'làm-rỗng',\n 'starts with': 'bắt đầu bằng',\n 'ends with': 'kết thúc bằng',\n 'ignoring case': 'không phân biệt hoa thường',\n 'sorted by': 'sắp xếp theo',\n 'mapped to': 'ánh xạ thành',\n 'split by': 'tách bởi',\n 'joined by': 'nối bởi',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const pl: Dictionary = {\n commands: {\n on: 'gdy',\n tell: 'powiedz',\n trigger: 'wyzwól', // auditor: dict emitted a word the profile reads differently\n send: 'wyślij',\n take: 'weź',\n put: 'umieść',\n set: 'ustaw',\n // `uzyskaj` (the semantic pl profile's get primary), not `pobierz`: pl `pobierz`\n // (\"download\") is the profile's FETCH primary, so emitting it for get made the\n // parser read every transformed get as fetch (get-value lossy + a phantom fetch).\n // Same dict↔profile homonym disambiguation as tr load/install, qu get.\n get: 'uzyskaj',\n add: 'dodaj',\n remove: 'usuń',\n toggle: 'przełącz',\n // command blur (the events section has the blur EVENT word; without this\n // entry the transformer fell back to it and no profile read it as the verb)\n blur: 'rozmyj',\n hide: 'ukryj',\n show: 'pokaż',\n if: 'jeśli',\n unless: 'chyba',\n repeat: 'powtórz',\n for: 'dla',\n while: 'dopóki',\n until: 'aż',\n continue: 'kontynuuj',\n break: 'przerwij',\n halt: 'zatrzymaj',\n wait: 'czekaj',\n fetch: 'pobierz',\n call: 'wywołaj',\n return: 'zwróć',\n make: 'utwórz',\n log: 'loguj',\n throw: 'rzuć',\n catch: 'złap',\n measure: 'zmierz',\n transition: 'animuj',\n increment: 'zwiększ',\n decrement: 'zmniejsz',\n default: 'domyślnie',\n go: 'idź',\n pushUrl: 'dodajUrl',\n replaceUrl: 'zamieńUrl',\n copy: 'kopiuj',\n pick: 'wybierz',\n beep: 'sygnał',\n js: 'js',\n async: 'async',\n render: 'renderuj',\n swap: 'zamień',\n morph: 'przekształć',\n settle: 'ustabilizuj',\n append: 'dołącz',\n exit: 'wyjdź',\n install: 'zainstaluj',\n breakpoint: 'punkt-przerwania',\n clear: 'zeruj', // wyczyść is a remove alternative in the profile\n close: 'zamknij',\n open: 'otwórz',\n select: 'zaznacz', // Batch 3: wybierz is the pick keyword — bare select rendered with it parses null\n clone: 'sklonuj',\n prepend: 'poprzedź',\n focus: 'skup',\n },\n\n modifiers: {\n to: 'do',\n from: 'z',\n into: 'do',\n with: 'z',\n at: 'przy',\n in: 'w',\n of: 'z',\n as: 'jako',\n by: 'przez',\n before: 'przed',\n after: 'po',\n over: 'nad',\n under: 'pod',\n between: 'między',\n through: 'przez',\n without: 'bez',\n },\n\n events: {\n click: 'kliknięcie',\n dblclick: 'podwójnekliknięcie',\n // mousedown/mouseup: English passthrough — no native form round-trips on the\n // parse side (V3c probe 2026-07-14: fused forms captured verbatim, split forms\n // shattered to their first word — live broken listeners in repeat-until-event).\n // The Batch-2 id-keyup precedent; revisit if S5b + tokenizer gain native entries.\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'myszwejście',\n mouseleave: 'myszwyjście',\n mouseover: 'mysznad',\n mouseout: 'myszpoza',\n mousemove: 'myszruch',\n keydown: 'klawiszdół',\n keyup: 'klawiszgóra',\n keypress: 'klawisznaciśnięcie',\n focus: 'fokus',\n blur: 'rozmycie',\n change: 'zmiana',\n input: 'wejście',\n submit: 'wysłaniu', // Batch 3: wyślij is the send verb — on-submit listener captured event \"send\"\n reset: 'zresetuj', // Batch 3: resetuj captured on.event as expression (broken listener) — profile word round-trips\n load: 'załaduj',\n unload: 'wyładuj',\n // 'zmieńrozmiar' was a fused two-word phrase; Polish writes 'zmiana rozmiaru'.\n resize: 'zmiana rozmiaru',\n scroll: 'przewiń',\n touchstart: 'dotykstart',\n touchend: 'dotykkoniec',\n touchmove: 'dotykruch',\n touchcancel: 'dotykanuluj',\n },\n\n logical: {\n when: 'kiedy',\n where: 'gdzie',\n and: 'i',\n or: 'lub',\n not: 'nie',\n is: 'jest',\n exists: 'istnieje',\n matches: 'pasuje',\n contains: 'zawiera',\n includes: 'obejmuje',\n equals: 'równa się',\n has: 'ma',\n have: 'mam',\n then: 'wtedy',\n else: 'inaczej',\n otherwise: 'wpp',\n end: 'koniec',\n live: 'żywy',\n changes: 'zmienia',\n },\n\n temporal: {\n seconds: 'sekundy',\n second: 'sekunda',\n milliseconds: 'milisekundy',\n millisecond: 'milisekunda',\n minutes: 'minuty',\n minute: 'minuta',\n hours: 'godziny',\n hour: 'godzina',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'godz',\n },\n\n values: {\n true: 'prawda',\n false: 'fałsz',\n null: 'null',\n undefined: 'niezdefiniowane',\n it: 'to',\n its: 'jego',\n me: 'ja',\n my: 'mój',\n you: 'ty',\n your: 'twój',\n yourself: 'ty sam',\n myself: 'ja sam',\n element: 'element',\n target: 'cel',\n detail: 'szczegół',\n event: 'zdarzenie',\n window: 'okno',\n document: 'dokument',\n body: 'body',\n result: 'wynik',\n value: 'wartość',\n },\n\n attributes: {\n class: 'klasa',\n classes: 'klasy',\n style: 'styl',\n styles: 'style',\n attribute: 'atrybut',\n attributes: 'atrybuty',\n property: 'właściwość',\n properties: 'właściwości',\n },\n\n expressions: {\n characters: 'znaki',\n inclusive: 'włącznie',\n exclusive: 'wyłącznie',\n first: 'pierwszy',\n last: 'ostatni',\n next: 'następny',\n previous: 'poprzedni',\n prev: 'poprz',\n at: 'przy',\n random: 'losowy',\n closest: 'najbliższy',\n parent: 'rodzic',\n children: 'dzieci',\n within: 'wewnątrz',\n no: 'brak',\n empty: 'pusty',\n some: 'jakiś',\n 'starts with': 'zaczyna się od',\n 'ends with': 'kończy się na',\n 'ignoring case': 'ignorując wielkość liter',\n 'sorted by': 'sortowane według',\n 'mapped to': 'przekształcone na',\n 'split by': 'podzielone przez',\n 'joined by': 'połączone przez',\n },\n};\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const russianDictionary: Dictionary = {\n commands: {\n on: 'при',\n tell: 'сказать',\n trigger: 'запустить', // auditor: dict emitted a word the profile reads differently\n send: 'отправить',\n take: 'взять',\n put: 'положить',\n set: 'установить',\n get: 'получить',\n add: 'добавить',\n remove: 'удалить',\n toggle: 'переключить',\n hide: 'скрыть',\n show: 'показать',\n // command verb; the events section keeps the noun прокрутка for `on scroll`.\n // Without this entry the transformer fell back to the event noun, which the\n // parser doesn't read as the scroll command (#321 focus family).\n scroll: 'прокрутить',\n if: 'если',\n unless: 'кроме',\n repeat: 'повторить',\n for: 'для',\n while: 'пока',\n until: 'до',\n continue: 'продолжить',\n break: 'прервать',\n halt: 'остановить',\n wait: 'ждать',\n fetch: 'загрузить',\n call: 'вызвать',\n return: 'вернуть',\n make: 'создать',\n log: 'записать',\n throw: 'бросить',\n catch: 'поймать',\n measure: 'измерить',\n transition: 'анимировать',\n increment: 'увеличить',\n decrement: 'уменьшить',\n default: 'по_умолчанию',\n go: 'перейти',\n pushUrl: 'добавить_url',\n replaceUrl: 'заменить_url',\n copy: 'копировать',\n pick: 'выбрать',\n beep: 'звук',\n js: 'js',\n async: 'асинхронно',\n render: 'отобразить',\n swap: 'поменять',\n morph: 'трансформировать',\n settle: 'стабилизировать',\n append: 'дописать', // matches the ru profile primary\n exit: 'выйти',\n else: 'иначе',\n install: 'инсталлировать', // loanword — `установить` is `set` (homonym); see russian profile\n init: 'инициализировать',\n behavior: 'поведение',\n focus: 'сфокусировать',\n blur: 'размыть',\n clone: 'клонировать',\n prepend: 'добавить в начало', // natural form; the underscore compound was never natural Russian\n breakpoint: 'точка-останова',\n clear: 'очистить',\n close: 'закрыть',\n open: 'открыть',\n select: 'выделить', // Batch 3: выбрать is the pick keyword — bare select rendered with it parses null\n },\n\n modifiers: {\n to: 'к',\n from: 'из',\n into: 'в',\n with: 'с',\n at: 'у',\n in: 'в',\n of: 'из',\n as: 'как',\n by: 'на',\n before: 'до',\n after: 'после',\n over: 'над',\n under: 'под',\n between: 'между',\n through: 'через',\n without: 'без',\n on: 'на',\n },\n\n events: {\n click: 'клик',\n dblclick: 'двойной_клик',\n // Fused (no `_`): the semantic tokenizer splits on `_`, so an underscore form\n // breaks event recognition (mousedown → bare expression). Mirrors the #510 tr\n // resize fix (boyut_değiştir → boyutlandırma) and the enyakın superlative.\n mousedown: 'мышьвниз',\n mouseup: 'мышьвверх',\n mouseenter: 'мышь_вход',\n mouseleave: 'мышь_выход',\n mouseover: 'наведение',\n mouseout: 'уход',\n mousemove: 'движение_мыши',\n keydown: 'клавиша_вниз',\n keyup: 'клавиша_вверх',\n keypress: 'нажатие_клавиши',\n focus: 'фокус',\n blur: 'потеря_фокуса',\n change: 'изменение',\n input: 'ввод',\n submit: 'отправка',\n reset: 'сбросить', // Batch 3: сброс captured on.event as expression (broken listener) — profile verb round-trips\n load: 'загрузка',\n unload: 'выгрузка',\n resize: 'изменениеразмера', // fused (no `_`) — see mousedown note above\n scroll: 'прокрутка',\n touchstart: 'касание_начало',\n touchend: 'касание_конец',\n touchmove: 'касание_движение',\n touchcancel: 'касание_отмена',\n },\n\n logical: {\n when: 'когда',\n where: 'где',\n and: 'и',\n or: 'или',\n not: 'не',\n is: 'есть',\n exists: 'существует',\n matches: 'соответствует',\n contains: 'содержит',\n includes: 'включает',\n equals: 'равно',\n then: 'затем',\n else: 'иначе',\n otherwise: 'в_противном_случае',\n end: 'конец',\n live: 'живой',\n changes: 'изменяется',\n has: 'имеет',\n have: 'имею',\n isNot: 'не_есть',\n empty: 'пустой',\n },\n\n temporal: {\n seconds: 'секунд',\n second: 'секунда',\n milliseconds: 'миллисекунд',\n millisecond: 'миллисекунда',\n minutes: 'минут',\n minute: 'минута',\n hours: 'часов',\n hour: 'час',\n ms: 'мс',\n s: 'с',\n min: 'мин',\n h: 'ч',\n forever: 'всегда',\n once: 'однажды',\n every: 'каждый',\n until: 'до',\n },\n\n values: {\n true: 'истина',\n false: 'ложь',\n null: 'ничего',\n undefined: 'неопределено',\n it: 'это',\n its: 'его',\n me: 'я',\n my: 'мой',\n you: 'ты',\n your: 'твой',\n yourself: 'сам',\n myself: 'я_сам',\n element: 'элемент',\n target: 'цель',\n detail: 'детали',\n event: 'событие',\n window: 'окно',\n document: 'документ',\n body: 'тело',\n result: 'результат',\n value: 'значение',\n first: 'первый',\n last: 'последний',\n next: 'следующий',\n previous: 'предыдущий',\n closest: 'ближайший',\n parent: 'родитель',\n },\n\n attributes: {\n class: 'класс',\n classes: 'классы',\n style: 'стиль',\n styles: 'стили',\n attribute: 'атрибут',\n attributes: 'атрибуты',\n property: 'свойство',\n properties: 'свойства',\n disabled: 'отключено',\n hidden: 'скрыто',\n checked: 'отмечено',\n selected: 'выбрано',\n readonly: 'только_чтение',\n required: 'обязательно',\n text: 'текст',\n html: 'html',\n },\n\n expressions: {\n characters: 'символы',\n inclusive: 'включительно',\n exclusive: 'исключительно',\n first: 'первый',\n last: 'последний',\n next: 'следующий',\n previous: 'предыдущий',\n prev: 'пред',\n at: 'в',\n random: 'случайный',\n closest: 'ближайший',\n parent: 'родитель',\n children: 'дети',\n within: 'внутри',\n no: 'нет',\n empty: 'пустой',\n some: 'некоторые',\n 'starts with': 'начинается_с',\n 'ends with': 'заканчивается_на',\n 'ignoring case': 'без_учёта_регистра',\n 'sorted by': 'сортировано_по',\n 'mapped to': 'преобразовано_в',\n 'split by': 'разделено_по',\n 'joined by': 'объединено_через',\n },\n};\n\nexport const ru = russianDictionary;\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const ukrainianDictionary: Dictionary = {\n commands: {\n on: 'при',\n tell: 'сказати',\n trigger: 'запустити', // auditor: dict emitted a word the profile reads differently\n send: 'надіслати',\n take: 'взяти',\n put: 'покласти',\n set: 'встановити',\n get: 'отримати',\n add: 'додати',\n remove: 'видалити',\n toggle: 'перемкнути',\n hide: 'сховати',\n show: 'показати',\n // command verb; the events section keeps the noun прокрутка for `on scroll`.\n // Without this entry the transformer fell back to the event noun, which the\n // parser doesn't read as the scroll command (#321 focus family).\n scroll: 'прокрутити',\n if: 'якщо',\n unless: 'крім',\n repeat: 'повторити',\n for: 'для',\n while: 'поки',\n until: 'до',\n continue: 'продовжити',\n break: 'перервати',\n halt: 'зупинити',\n wait: 'чекати',\n fetch: 'завантажити',\n call: 'викликати',\n return: 'повернути',\n make: 'створити',\n log: 'записати',\n throw: 'кинути',\n catch: 'зловити',\n measure: 'виміряти',\n transition: 'анімувати',\n increment: 'збільшити',\n decrement: 'зменшити',\n default: 'за_замовчуванням',\n go: 'перейти',\n pushUrl: 'додати_url',\n replaceUrl: 'замінити_url',\n copy: 'копіювати',\n pick: 'вибрати',\n beep: 'звук',\n js: 'js',\n async: 'асинхронно',\n render: 'відобразити',\n swap: 'поміняти',\n morph: 'трансформувати',\n settle: 'стабілізувати',\n append: 'дописати', // matches the uk profile primary\n exit: 'вийти',\n else: 'інакше',\n install: 'інсталювати', // loanword — `встановити` is `set` (homonym); see ukrainian profile\n init: 'ініціалізувати',\n behavior: 'поведінка',\n focus: 'сфокусувати',\n blur: 'розфокусувати',\n clone: 'клонувати',\n prepend: 'додати на початок', // natural form; see ru.ts\n breakpoint: 'точка-зупинки',\n clear: 'очистити',\n close: 'закрити',\n open: 'відкрити',\n select: 'виділити', // Batch 3: вибрати is the pick keyword — bare select rendered with it parses null\n },\n\n modifiers: {\n to: 'до',\n from: 'з',\n into: 'в',\n with: 'з',\n at: 'в',\n in: 'у',\n of: 'з',\n as: 'як',\n by: 'на',\n before: 'до',\n after: 'після',\n over: 'над',\n under: 'під',\n between: 'між',\n through: 'через',\n without: 'без',\n on: 'на',\n },\n\n events: {\n click: 'клік',\n dblclick: 'подвійний_клік',\n // Fused (no `_`): the semantic tokenizer splits on `_`, so an underscore form\n // breaks event recognition. Mirrors the #510 tr resize fix + enyakın.\n mousedown: 'мишавниз',\n mouseup: 'мишавгору',\n mouseenter: 'миша_вхід',\n mouseleave: 'миша_вихід',\n mouseover: 'наведення',\n mouseout: 'відведення',\n mousemove: 'рух_миші',\n keydown: 'клавіша_вниз',\n keyup: 'клавіша_вгору',\n keypress: 'натискання_клавіші',\n focus: 'фокус',\n blur: 'розфокус',\n change: 'зміна',\n input: 'введення',\n submit: 'надсилання',\n reset: 'скинути', // Batch 3: скидання captured on.event as expression (broken listener) — profile verb round-trips\n load: 'завантаження',\n unload: 'вивантаження',\n resize: 'змінарозміру', // fused (no `_`) — see mousedown note above\n scroll: 'прокрутка',\n touchstart: 'дотик_початок',\n touchend: 'дотик_кінець',\n touchmove: 'дотик_рух',\n touchcancel: 'дотик_скасування',\n },\n\n logical: {\n when: 'коли',\n where: 'де',\n and: 'і',\n or: 'або',\n not: 'не',\n is: 'є',\n exists: 'існує',\n matches: 'відповідає',\n contains: 'містить',\n includes: 'включає',\n equals: 'дорівнює',\n then: 'тоді',\n else: 'інакше',\n otherwise: 'в_іншому_випадку',\n end: 'кінець',\n live: 'живий',\n changes: 'змінюється',\n has: 'має',\n have: 'маю',\n isNot: 'не_є',\n empty: 'порожній',\n },\n\n temporal: {\n seconds: 'секунд',\n second: 'секунда',\n milliseconds: 'мілісекунд',\n millisecond: 'мілісекунда',\n minutes: 'хвилин',\n minute: 'хвилина',\n hours: 'годин',\n hour: 'година',\n ms: 'мс',\n s: 'с',\n min: 'хв',\n h: 'год',\n forever: 'завжди',\n once: 'один_раз',\n every: 'кожний',\n until: 'до',\n },\n\n values: {\n true: 'істина',\n false: 'хибність',\n null: 'нічого',\n undefined: 'невизначено',\n it: 'це',\n its: 'його',\n me: 'я',\n my: 'мій',\n you: 'ти',\n your: 'твій',\n yourself: 'сам',\n myself: 'я_сам',\n element: 'елемент',\n target: 'ціль',\n detail: 'деталі',\n event: 'подія',\n window: 'вікно',\n document: 'документ',\n body: 'тіло',\n result: 'результат',\n value: 'значення',\n first: 'перший',\n last: 'останній',\n next: 'наступний',\n previous: 'попередній',\n closest: 'найближчий',\n parent: 'батьківський',\n },\n\n attributes: {\n class: 'клас',\n classes: 'класи',\n style: 'стиль',\n styles: 'стилі',\n attribute: 'атрибут',\n attributes: 'атрибути',\n property: 'властивість',\n properties: 'властивості',\n disabled: 'вимкнено',\n hidden: 'приховано',\n checked: 'позначено',\n selected: 'вибрано',\n readonly: 'лише_читання',\n required: \"обов'язково\",\n text: 'текст',\n html: 'html',\n },\n\n expressions: {\n characters: 'символи',\n inclusive: 'включно',\n exclusive: 'виключно',\n first: 'перший',\n last: 'останній',\n next: 'наступний',\n previous: 'попередній',\n prev: 'попер',\n at: 'в',\n random: 'випадковий',\n closest: 'найближчий',\n parent: 'батьківський',\n children: 'діти',\n within: 'всередині',\n no: 'ні',\n empty: 'порожній',\n some: 'деякі',\n 'starts with': 'починається_з',\n 'ends with': 'закінчується_на',\n 'ignoring case': 'без_урахування_регістру',\n 'sorted by': 'відсортовано_за',\n 'mapped to': 'перетворено_на',\n 'split by': 'розділено_за',\n 'joined by': \"об'єднано_через\",\n },\n};\n\nexport const uk = ukrainianDictionary;\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const hindiDictionary: Dictionary = {\n commands: {\n on: 'पर',\n tell: 'बताएं',\n trigger: 'ट्रिगर',\n send: 'भेजें',\n take: 'लें',\n put: 'रखें',\n set: 'सेट',\n get: 'प्राप्त',\n add: 'जोड़ें',\n remove: 'हटाएं',\n toggle: 'टॉगल',\n hide: 'छिपाएं',\n show: 'दिखाएं',\n if: 'अगर',\n unless: 'जब तक नहीं', // spaced (not जब_तक_नहीं) → one multi-word `unless` token\n repeat: 'दोहराएं',\n for: 'हेतु', // single token — के_लिए splits at _ in the hi extractor\n while: 'जब तक',\n until: 'तक',\n continue: 'जारी',\n break: 'रोकें',\n halt: 'रोकें',\n wait: 'प्रतीक्षा',\n fetch: 'लाएं',\n call: 'कॉल',\n return: 'लौटाएं',\n make: 'बनाएं',\n log: 'लॉग',\n throw: 'फेंकें',\n catch: 'पकड़ें',\n measure: 'मापें',\n transition: 'संक्रमण',\n increment: 'बढ़ाएं',\n decrement: 'घटाएं',\n default: 'डिफ़ॉल्ट',\n go: 'जाएं',\n pushUrl: 'url_जोड़ें',\n replaceUrl: 'url_बदलें',\n copy: 'कॉपी',\n pick: 'चुनें',\n beep: 'बीप',\n js: 'जेएस',\n async: 'असिंक',\n render: 'रेंडर',\n swap: 'विनिमय',\n morph: 'रूपांतर',\n settle: 'स्थिर',\n append: 'संलग्न',\n exit: 'बाहर',\n else: 'वरना',\n install: 'इंस्टॉल',\n init: 'प्रारंभ',\n behavior: 'व्यवहार',\n focus: 'फोकस',\n blur: 'धुंधला',\n clone: 'क्लोन', // Batch 3: कॉपी is the copy verb — rendered clone parsed as action=copy\n prepend: 'जोड़ें_शुरू',\n breakpoint: 'ब्रेकप्वाइंट',\n clear: 'साफ़-करें',\n close: 'बंद-करें',\n open: 'खोलें',\n select: 'चिह्नित-करें', // Batch 3: चुनें is the pick keyword — bare select rendered with it parses null\n socket: 'सॉकेट',\n },\n\n modifiers: {\n to: 'को',\n from: 'से',\n into: 'में',\n with: 'के_साथ',\n at: 'पर',\n in: 'में',\n of: 'का',\n as: 'के_रूप_में',\n by: 'द्वारा',\n before: 'से पहले',\n after: 'के बाद',\n over: 'के_ऊपर',\n under: 'के_नीचे',\n between: 'के_बीच',\n through: 'के_माध्यम_से',\n without: 'के_बिना',\n on: 'पर',\n },\n\n events: {\n click: 'क्लिक',\n dblclick: 'डबल_क्लिक',\n // Fused (no `_`): the semantic tokenizer splits on `_`, breaking event\n // recognition (mousedown → \"नीचे\"). Mirrors the #535 ru/uk fuse.\n mousedown: 'माउसनीचे',\n mouseup: 'माउसऊपर',\n mouseenter: 'माउस_प्रवेश',\n mouseleave: 'माउस_बाहर',\n mouseover: 'माउस_ओवर',\n mouseout: 'माउस_आउट',\n mousemove: 'माउस_मूव',\n keydown: 'की_नीचे',\n keyup: 'की_ऊपर',\n keypress: 'की_प्रेस',\n focus: 'फोकस',\n blur: 'धुंधला',\n change: 'परिवर्तन',\n input: 'इनपुट',\n submit: 'जमा',\n reset: 'रीसेट',\n load: 'लोड',\n unload: 'अनलोड',\n resize: 'आकार_बदलें',\n scroll: 'स्क्रॉल',\n touchstart: 'टच_शुरू',\n touchend: 'टच_समाप्त',\n touchmove: 'टच_मूव',\n touchcancel: 'टच_रद्द',\n },\n\n logical: {\n when: 'जब',\n where: 'कहाँ',\n and: 'और',\n or: 'या',\n not: 'नहीं',\n is: 'है',\n exists: 'मौजूद',\n // Natural spaced phrase `मेल खाता` (\"matches\") — how Hindi writes it. The base\n // tokenizer now matches multi-word profile keywords, so the hindi profile maps\n // `मेल खाता`→matches without the underscore (`मेल_खाता` split) or the\n // concatenated `मेलखाता` (parsed, but unnatural) workarounds.\n matches: 'मेल खाता',\n contains: 'शामिल',\n includes: 'में_है',\n equals: 'बराबर',\n then: 'फिर',\n else: 'वरना',\n otherwise: 'अन्यथा',\n end: 'समाप्त',\n live: 'लाइव',\n changes: 'बदलने पर',\n has: 'है',\n have: 'है',\n isNot: 'नहीं_है',\n empty: 'खाली',\n },\n\n temporal: {\n seconds: 'सेकंड',\n second: 'सेकंड',\n milliseconds: 'मिलीसेकंड',\n millisecond: 'मिलीसेकंड',\n minutes: 'मिनट',\n minute: 'मिनट',\n hours: 'घंटे',\n hour: 'घंटा',\n ms: 'मिसे',\n s: 'से',\n min: 'मि',\n h: 'घं',\n forever: 'हमेशा',\n once: 'एक_बार',\n every: 'हर',\n until: 'तक',\n },\n\n values: {\n true: 'सच',\n false: 'झूठ',\n null: 'खाली',\n undefined: 'अपरिभाषित',\n it: 'यह',\n its: 'इसका',\n me: 'मैं',\n my: 'मेरा',\n you: 'आप',\n your: 'आपका',\n yourself: 'स्वयं',\n myself: 'मैं_स्वयं',\n element: 'तत्व',\n target: 'लक्ष्य',\n detail: 'विवरण',\n event: 'घटना',\n window: 'विंडो',\n document: 'दस्तावेज़',\n body: 'बॉडी',\n result: 'परिणाम',\n value: 'मान',\n first: 'पहला',\n last: 'अंतिम',\n next: 'अगला',\n previous: 'पिछला',\n closest: 'निकटतम',\n parent: 'मूल',\n },\n\n attributes: {\n class: 'क्लास',\n classes: 'क्लासेस',\n style: 'स्टाइल',\n styles: 'स्टाइल्स',\n attribute: 'गुण',\n attributes: 'गुण',\n property: 'संपत्ति',\n properties: 'संपत्तियाँ',\n disabled: 'अक्षम',\n hidden: 'छिपा',\n checked: 'चेक',\n selected: 'चयनित',\n readonly: 'केवल_पढ़ने',\n required: 'आवश्यक',\n text: 'पाठ',\n html: 'html',\n },\n\n expressions: {\n characters: 'अक्षर',\n first: 'पहला',\n last: 'अंतिम',\n next: 'अगला',\n previous: 'पिछला',\n prev: 'पिछ',\n at: 'पर',\n random: 'यादृच्छिक',\n closest: 'निकटतम',\n parent: 'मूल',\n children: 'बच्चे',\n within: 'के_अंदर',\n no: 'नहीं',\n empty: 'खाली',\n some: 'कुछ',\n 'starts with': 'से_शुरू',\n 'ends with': 'पर_समाप्त',\n 'ignoring case': 'केस_अनदेखा',\n 'sorted by': 'द्वारा_क्रमबद्ध',\n 'mapped to': 'में_परिवर्तित',\n 'split by': 'द्वारा_विभाजित',\n 'joined by': 'द्वारा_जुड़ा',\n },\n};\n\nexport const hi = hindiDictionary;\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const bengaliDictionary: Dictionary = {\n commands: {\n on: 'তে',\n toggle: 'টগল',\n add: 'যোগ',\n remove: 'সরান',\n set: 'সেট',\n get: 'পান',\n put: 'রাখুন',\n take: 'নিন',\n show: 'দেখান',\n hide: 'লুকান',\n increment: 'বৃদ্ধি',\n decrement: 'হ্রাস',\n if: 'যদি',\n else: 'নতুবা',\n repeat: 'পুনরাবৃত্তি',\n for: 'জন্য',\n while: 'যতক্ষণ',\n wait: 'অপেক্ষা',\n fetch: 'আনুন',\n call: 'কল',\n return: 'ফিরুন',\n log: 'লগ',\n trigger: 'ট্রিগার',\n send: 'পাঠান',\n go: 'যান',\n halt: 'থামুন',\n throw: 'নিক্ষেপ',\n continue: 'চালিয়ে যান',\n make: 'তৈরি করুন',\n append: 'জুড়ুন',\n prepend: 'শুরুতে যোগ',\n focus: 'ফোকাস',\n blur: 'ঝাপসা',\n transition: 'সংক্রমণ',\n settle: 'স্থির',\n measure: 'মাপুন',\n async: 'অ্যাসিঙ্ক',\n tell: 'বলুন',\n default: 'ডিফল্ট',\n init: 'শুরু',\n behavior: 'আচরণ',\n install: 'ইনস্টল',\n clone: 'ক্লোন', // Batch 3: কপি is the copy verb — rendered clone parsed as action=copy\n swap: 'বদল',\n morph: 'রূপান্তর',\n beep: 'বীপ',\n break: 'ভাঙুন',\n copy: 'কপি',\n exit: 'বের',\n js: 'জেএস',\n pick: 'বাছুন',\n render: 'রেন্ডার',\n until: 'পর্যন্ত',\n breakpoint: 'ব্রেকপয়েন্ট',\n clear: 'পরিষ্কার',\n close: 'বন্ধ',\n open: 'খুলুন',\n select: 'নির্বাচন',\n socket: 'সকেট',\n },\n\n modifiers: {\n to: 'কে',\n from: 'থেকে',\n into: 'তে',\n on: 'তে',\n with: 'সাথে',\n by: 'দ্বারা',\n as: 'হিসাবে',\n before: 'আগে',\n after: 'পরে',\n at: 'এ',\n in: 'এ',\n over: 'উপর',\n between: 'মধ্যে',\n then: 'তারপর',\n and: 'এবং',\n end: 'শেষ',\n until: 'পর্যন্ত',\n of: 'র',\n },\n\n events: {\n click: 'ক্লিক',\n change: 'পরিবর্তন',\n input: 'ইনপুট',\n submit: 'জমা',\n load: 'লোড',\n focus: 'ফোকাস',\n blur: 'ঝাপসা',\n reset: 'রিসেট',\n keydown: 'keydown',\n keyup: 'keyup',\n // V3c burn-down (2026-07-14): English passthrough — no native form round-trips\n // on the parse side (probe: split forms shatter, fused forms capture verbatim).\n mouseover: 'mouseover',\n mouseout: 'mouseout',\n scroll: 'স্ক্রোল',\n resize: 'রিসাইজ',\n every: 'প্রতি',\n },\n\n logical: {\n if: 'যদি',\n when: 'যখন',\n where: 'কোথায়',\n else: 'নতুবা',\n not: 'না',\n and: 'এবং',\n or: 'অথবা',\n is: 'হয়',\n exists: 'আছে',\n has: 'আছে',\n have: 'আছি',\n empty: 'খালি',\n true: 'সত্য',\n false: 'মিথ্যা',\n null: 'শূন্য',\n undefined: 'অনির্ধারিত',\n end: 'শেষ',\n then: 'তারপর',\n live: 'লাইভ',\n bind: 'বাইন্ড',\n changes: 'পরিবর্তিত হলে',\n },\n\n temporal: {\n now: 'এখন',\n seconds: 'সেকেন্ড',\n milliseconds: 'মিলিসেকেন্ড',\n minutes: 'মিনিট',\n hours: 'ঘণ্টা',\n forever: 'চিরকাল',\n times: 'বার',\n s: 'সে',\n ms: 'মিসে',\n },\n\n values: {\n me: 'আমি',\n my: 'আমার',\n it: 'এটি',\n its: 'এর',\n result: 'ফলাফল',\n event: 'ঘটনা',\n target: 'লক্ষ্য',\n body: 'বডি',\n you: 'আপনি',\n your: 'তোমার',\n },\n\n attributes: {\n class: 'শ্রেণি',\n id: 'আইডি',\n style: 'শৈলী',\n value: 'মান',\n text: 'পাঠ্য',\n html: 'এইচটিএমএল',\n disabled: 'অক্ষম',\n checked: 'চেক করা',\n },\n\n expressions: {\n characters: 'অক্ষর',\n inclusive: 'অন্তর্ভুক্ত',\n exclusive: 'বাদ',\n first: 'প্রথম',\n last: 'শেষ',\n next: 'পরবর্তী',\n previous: 'আগের',\n closest: 'নিকটতম',\n parent: 'মূল',\n children: 'সন্তান',\n random: 'এলোমেলো',\n length: 'দৈর্ঘ্য',\n index: 'সূচক',\n empty: 'খালি-করুন',\n 'starts with': 'দিয়ে_শুরু',\n 'ends with': 'দিয়ে_শেষ',\n 'ignoring case': 'কেস_উপেক্ষা',\n 'sorted by': 'দ্বারা_সাজানো',\n 'mapped to': 'তে_রূপান্তরিত',\n 'split by': 'দ্বারা_বিভক্ত',\n 'joined by': 'দ্বারা_যুক্ত',\n },\n};\n\nexport const bn = bengaliDictionary;\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const thaiDictionary: Dictionary = {\n commands: {\n on: 'เมื่อ',\n toggle: 'สลับ',\n add: 'เพิ่ม',\n remove: 'ลบ',\n set: 'ตั้ง',\n get: 'รับค่า',\n put: 'ใส่',\n take: 'รับ',\n show: 'แสดง',\n hide: 'ซ่อน',\n increment: 'เพิ่มค่า',\n decrement: 'ลดค่า',\n if: 'ถ้า',\n else: 'ไม่งั้น',\n repeat: 'ทำซ้ำ',\n for: 'สำหรับ',\n while: 'ในขณะที่',\n wait: 'รอ',\n fetch: 'ดึงข้อมูล',\n call: 'เรียก',\n return: 'คืนค่า',\n log: 'บันทึก',\n trigger: 'ทริกเกอร์',\n send: 'ส่ง',\n go: 'ไป',\n halt: 'หยุด',\n throw: 'โยน',\n continue: 'ต่อไป',\n make: 'สร้าง',\n append: 'เพิ่มท้าย',\n prepend: 'เพิ่มหน้า',\n focus: 'โฟกัส',\n blur: 'เบลอ',\n // เปลี่ยนผ่าน, not เปลี่ยน: the semantic th profile's `change` keyword is\n // เปลี่ยน, so a เปลี่ยน render could never anchor a transition command.\n transition: 'เปลี่ยนผ่าน',\n settle: 'คงที่',\n measure: 'วัด',\n async: 'อะซิงค์',\n tell: 'บอก',\n default: 'ค่าเริ่มต้น',\n init: 'เริ่มต้น',\n behavior: 'พฤติกรรม',\n install: 'ติดตั้ง',\n clone: 'โคลน', // Batch 3: คัดลอก is the copy verb — rendered clone parsed as action=copy\n swap: 'สลับที่',\n morph: 'แปลงร่าง',\n beep: 'บี๊บ',\n break: 'ขัดจังหวะ',\n copy: 'คัดลอก',\n exit: 'ออก',\n js: 'เจเอส',\n pick: 'เลือก',\n render: 'แสดงผล',\n until: 'จนถึง',\n breakpoint: 'จุดพัก',\n clear: 'เคลียร์',\n close: 'ปิด',\n open: 'เปิด',\n select: 'ทำเครื่องหมาย', // Batch 3: เลือก is the pick keyword — bare select rendered with it parses null\n },\n\n modifiers: {\n to: 'ไปยัง',\n from: 'จาก',\n into: 'ใน',\n on: 'เมื่อ',\n with: 'ด้วย',\n by: 'โดย',\n as: 'เป็น',\n before: 'ก่อน',\n after: 'หลัง',\n at: 'ที่',\n in: 'ใน',\n over: 'เหนือ',\n between: 'ระหว่าง',\n then: 'แล้ว',\n and: 'และ',\n end: 'จบ',\n until: 'จนถึง',\n of: 'ของ',\n },\n\n events: {\n click: 'คลิก',\n change: 'เปลี่ยนแปลง',\n input: 'อินพุต',\n submit: 'ส่ง',\n load: 'โหลด',\n focus: 'โฟกัส',\n blur: 'เบลอ',\n reset: 'รีเซ็ต',\n keydown: 'กดคีย์',\n keyup: 'ปล่อยคีย์',\n mouseover: 'เมาส์เข้า',\n mouseout: 'เมาส์ออก',\n scroll: 'เลื่อน',\n resize: 'ปรับขนาด',\n every: 'ทุก',\n },\n\n logical: {\n if: 'ถ้า',\n when: 'เมื่อ',\n where: 'ที่ไหน',\n else: 'ไม่งั้น',\n not: 'ไม่',\n and: 'และ',\n or: 'หรือ',\n is: 'เป็น',\n exists: 'มีอยู่',\n has: 'มี',\n have: 'มี',\n empty: 'ว่าง',\n true: 'จริง',\n false: 'เท็จ',\n null: 'ว่าง',\n undefined: 'ไม่กำหนด',\n end: 'จบ',\n then: 'แล้ว',\n live: 'สด',\n changes: 'เปลี่ยน',\n },\n\n temporal: {\n now: 'ตอนนี้',\n seconds: 'วินาที',\n milliseconds: 'มิลลิวินาที',\n minutes: 'นาที',\n hours: 'ชั่วโมง',\n forever: 'ตลอดไป',\n times: 'ครั้ง',\n s: 'วิ',\n ms: 'มว',\n },\n\n values: {\n me: 'ฉัน',\n my: 'ของฉัน',\n it: 'มัน',\n its: 'ของมัน',\n result: 'ผลลัพธ์',\n event: 'เหตุการณ์',\n target: 'เป้าหมาย',\n body: 'บอดี้',\n you: 'คุณ',\n your: 'ของคุณ',\n },\n\n attributes: {\n class: 'คลาส',\n id: 'ไอดี',\n style: 'สไตล์',\n value: 'ค่า',\n text: 'ข้อความ',\n html: 'เอชทีเอ็มแอล',\n disabled: 'ปิดใช้งาน',\n checked: 'เลือกแล้ว',\n },\n\n expressions: {\n characters: 'อักขระ',\n inclusive: 'รวม',\n exclusive: 'ยกเว้น',\n first: 'แรก',\n last: 'สุดท้าย',\n next: 'ถัดไป',\n previous: 'ก่อนหน้า',\n closest: 'ใกล้สุด',\n parent: 'ต้นทาง',\n children: 'ลูก',\n random: 'สุ่ม',\n length: 'ความยาว',\n index: 'ดัชนี',\n empty: 'ล้าง',\n 'starts with': 'ขึ้นต้นด้วย',\n 'ends with': 'ลงท้ายด้วย',\n 'ignoring case': 'ไม่สนตัวพิมพ์',\n 'sorted by': 'เรียงตาม',\n 'mapped to': 'แปลงเป็น',\n 'split by': 'แยกด้วย',\n 'joined by': 'รวมด้วย',\n },\n};\n\nexport const th = thaiDictionary;\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const malayDictionary: Dictionary = {\n commands: {\n on: 'apabila',\n tell: 'beritahu',\n trigger: 'cetuskan',\n send: 'hantar',\n take: 'ambil',\n put: 'letak',\n set: 'tetapkan',\n get: 'dapatkan',\n add: 'tambah',\n remove: 'buang',\n toggle: 'togol',\n hide: 'sembunyi',\n show: 'tunjuk',\n if: 'jika',\n unless: 'kecuali',\n repeat: 'ulang',\n for: 'untuk',\n while: 'selagi',\n until: 'sehingga',\n continue: 'teruskan',\n break: 'henti',\n halt: 'henti',\n wait: 'tunggu',\n fetch: 'ambil_dari',\n call: 'panggil',\n return: 'pulang',\n make: 'buat',\n log: 'catat',\n throw: 'lempar',\n catch: 'tangkap',\n measure: 'ukur',\n transition: 'peralihan',\n increment: 'tambah_satu',\n decrement: 'kurang_satu',\n default: 'lalai',\n go: 'pergi',\n pushUrl: 'tolak_url',\n replaceUrl: 'ganti_url',\n copy: 'salin',\n pick: 'pilih',\n beep: 'bunyi',\n js: 'js',\n async: 'tak_segerak',\n render: 'papar',\n swap: 'tukar_tempat',\n morph: 'ubah_bentuk',\n settle: 'selesai',\n append: 'tambah_hujung',\n prepend: 'tambah_mula',\n exit: 'keluar',\n else: 'kalau_tidak',\n focus: 'fokus',\n blur: 'kabur',\n install: 'pasang',\n behavior: 'kelakuan',\n init: 'mula',\n clone: 'klon',\n breakpoint: 'titik-henti',\n clear: 'bersihkan', // padam is a remove alternative in the profile\n close: 'tutup',\n open: 'buka',\n select: 'tandai', // Batch 3: pilih is the pick keyword — bare select rendered with it parses null\n socket: 'soket', // derived from the ms profile (socket.primary); see generate-i18n-dictionaries\n },\n\n modifiers: {\n to: 'ke',\n from: 'dari',\n into: 'ke_dalam',\n with: 'dengan',\n at: 'di',\n in: 'dalam',\n of: 'daripada',\n as: 'sebagai',\n by: 'oleh',\n before: 'sebelum',\n after: 'selepas',\n over: 'atas',\n under: 'bawah',\n between: 'antara',\n through: 'melalui',\n without: 'tanpa',\n on: 'pada',\n then: 'kemudian',\n and: 'dan',\n end: 'tamat',\n until: 'sehingga',\n },\n\n events: {\n click: 'click',\n dblclick: 'dblclick',\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n mouseover: 'mouseover',\n mouseout: 'mouseout',\n mousemove: 'mousemove',\n keydown: 'keydown',\n keyup: 'keyup',\n keypress: 'keypress',\n focus: 'focus',\n blur: 'blur',\n change: 'change',\n input: 'input',\n submit: 'submit',\n reset: 'reset',\n load: 'load',\n unload: 'unload',\n resize: 'resize',\n scroll: 'scroll',\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n every: 'setiap',\n },\n\n logical: {\n when: 'apabila',\n where: 'di_mana',\n and: 'dan',\n or: 'atau',\n not: 'bukan',\n is: 'adalah',\n exists: 'wujud',\n matches: 'sepadan',\n contains: 'mengandungi',\n includes: 'termasuk',\n equals: 'sama',\n has: 'ada',\n have: 'ada',\n then: 'kemudian',\n else: 'kalau_tidak',\n otherwise: 'jika_tidak',\n end: 'tamat',\n live: 'langsung',\n changes: 'berubah',\n if: 'jika',\n empty: 'kosong',\n true: 'benar',\n false: 'salah',\n null: 'null',\n undefined: 'tidak_ditakrifkan',\n },\n\n temporal: {\n seconds: 'saat',\n second: 'saat',\n milliseconds: 'milisaat',\n millisecond: 'milisaat',\n minutes: 'minit',\n minute: 'minit',\n hours: 'jam',\n hour: 'jam',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'j',\n now: 'sekarang',\n forever: 'selamanya',\n times: 'kali',\n },\n\n values: {\n true: 'benar',\n false: 'salah',\n null: 'null',\n undefined: 'tidak_ditakrifkan',\n it: 'ia',\n its: 'nya',\n me: 'saya',\n my: 'saya_punya',\n myself: 'diri_saya',\n you: 'kamu',\n your: 'kamu_punya',\n yourself: 'diri_kamu',\n element: 'elemen',\n target: 'sasaran',\n detail: 'perincian',\n event: 'peristiwa',\n window: 'tetingkap',\n document: 'dokumen',\n body: 'badan',\n result: 'hasil',\n value: 'nilai',\n },\n\n attributes: {\n class: 'kelas',\n classes: 'kelas_kelas',\n style: 'gaya',\n styles: 'gaya_gaya',\n attribute: 'atribut',\n attributes: 'atribut_atribut',\n property: 'sifat',\n properties: 'sifat_sifat',\n id: 'id',\n value: 'nilai',\n text: 'teks',\n html: 'html',\n disabled: 'dilumpuhkan',\n checked: 'ditanda',\n },\n\n expressions: {\n characters: 'aksara',\n inclusive: 'inklusif',\n exclusive: 'eksklusif',\n first: 'pertama',\n last: 'terakhir',\n next: 'seterusnya',\n previous: 'sebelumnya',\n prev: 'sebelum',\n at: 'di',\n random: 'rawak',\n closest: 'terdekat',\n parent: 'induk',\n children: 'anak_anak',\n within: 'dalam',\n no: 'tiada',\n empty: 'kosong',\n some: 'beberapa',\n 'starts with': 'bermula_dengan',\n 'ends with': 'berakhir_dengan',\n 'ignoring case': 'abaikan_huruf_besar_kecil',\n 'sorted by': 'disusun_mengikut',\n 'mapped to': 'dipetakan_ke',\n 'split by': 'dipecah_oleh',\n 'joined by': 'digabung_oleh',\n length: 'panjang',\n index: 'indeks',\n },\n};\n\nexport const ms = malayDictionary;\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const tagalogDictionary: Dictionary = {\n commands: {\n on: 'kapag',\n tell: 'sabihin',\n trigger: 'palitawin',\n send: 'ipadala',\n take: 'kumuha', // auditor: dict emitted a word the profile reads differently\n put: 'ilagay',\n set: 'itakda',\n // Align with the semantic tl profile's `get` primary (`kunin`); the previous\n // `kuhanin` is the base of fetch's `kuhanin_mula`, so the transformed `get`\n // dropped (get-value parsed degenerate). Same dict↔profile alignment as id `toggle`.\n get: 'kunin',\n add: 'idagdag',\n remove: 'alisin',\n toggle: 'palitan',\n hide: 'itago',\n show: 'ipakita',\n if: 'kung',\n unless: 'maliban_kung',\n repeat: 'ulitin',\n for: 'para_sa',\n while: 'habang',\n until: 'hanggang',\n continue: 'magpatuloy',\n break: 'itigil',\n halt: 'huminto',\n wait: 'maghintay',\n fetch: 'kuhanin_mula',\n call: 'tawagin',\n return: 'ibalik',\n make: 'gumawa',\n log: 'itala',\n throw: 'ihagis',\n catch: 'hulihin',\n measure: 'sukatin',\n transition: 'lumipat',\n increment: 'dagdagan',\n decrement: 'bawasan',\n default: 'pamantayan',\n go: 'pumunta',\n pushUrl: 'itulak_url',\n replaceUrl: 'palitan_url',\n copy: 'kopyahin',\n pick: 'pumili',\n beep: 'tunog',\n js: 'js',\n async: 'sabay',\n render: 'irender', // auditor: dict emitted a word the profile reads differently\n swap: 'palitan_pwesto',\n morph: 'baguhin', // auditor: dict emitted a word the profile reads differently\n settle: 'magpatahimik', // auditor: dict emitted a word the profile reads differently\n append: 'idagdag_sa_dulo',\n prepend: 'idagdag_sa_simula',\n exit: 'lumabas',\n else: 'kung_hindi',\n focus: 'ituon',\n blur: 'alisin_tuon',\n install: 'ikabit',\n behavior: 'ugali',\n init: 'simulan',\n clone: 'i-clone', // Batch 3: kopyahin is the copy verb — rendered clone parsed as action=copy\n breakpoint: 'breakpoint',\n clear: 'burahin',\n close: 'isara',\n open: 'buksan',\n select: 'piliin',\n },\n\n modifiers: {\n to: 'sa',\n from: 'mula_sa',\n into: 'papasok_sa',\n with: 'kasama',\n at: 'sa',\n in: 'sa_loob',\n of: 'ng',\n as: 'bilang',\n by: 'sa_pamamagitan_ng',\n before: 'bago',\n // `matapos` (not `pagkatapos`) for the positional \"after\": `pagkatapos` is\n // also Tagalog \"then\", so emitting it for the position modifier collides with\n // the sequence connector. `matapos` is the unambiguous positional form and\n // matches the semantic tl profile's `after`.\n after: 'matapos',\n over: 'sa_ibabaw',\n under: 'sa_ilalim',\n between: 'sa_pagitan',\n through: 'sa_pamamagitan',\n without: 'walang',\n on: 'sa',\n then: 'pagkatapos',\n and: 'at',\n end: 'wakas',\n until: 'hanggang',\n },\n\n events: {\n click: 'click',\n dblclick: 'dblclick',\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n mouseover: 'mouseover',\n mouseout: 'mouseout',\n mousemove: 'mousemove',\n keydown: 'keydown',\n keyup: 'keyup',\n keypress: 'keypress',\n focus: 'focus',\n blur: 'blur',\n change: 'change',\n input: 'input',\n submit: 'submit',\n reset: 'reset',\n load: 'load',\n unload: 'unload',\n resize: 'resize',\n scroll: 'scroll',\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n every: 'bawat',\n },\n\n logical: {\n when: 'kapag',\n where: 'kung_saan',\n and: 'at',\n or: 'o',\n not: 'hindi',\n is: 'ay',\n exists: 'may',\n matches: 'tumutugma',\n contains: 'naglalaman',\n includes: 'kasama',\n equals: 'katumbas',\n has: 'may',\n have: 'may',\n then: 'pagkatapos',\n else: 'kung_hindi',\n otherwise: 'kung_hindi_man',\n end: 'wakas',\n live: 'live',\n changes: 'nagbabago',\n if: 'kung',\n empty: 'walang_laman',\n true: 'totoo',\n false: 'mali',\n null: 'wala',\n undefined: 'hindi_tinukoy',\n },\n\n temporal: {\n seconds: 'segundo',\n second: 'segundo',\n milliseconds: 'milisegundo',\n millisecond: 'milisegundo',\n minutes: 'minuto',\n minute: 'minuto',\n hours: 'oras',\n hour: 'oras',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n now: 'ngayon',\n forever: 'magpakailanman',\n times: 'beses',\n },\n\n values: {\n true: 'totoo',\n false: 'mali',\n null: 'wala',\n undefined: 'hindi_tinukoy',\n it: 'ito',\n its: 'nito',\n me: 'ako',\n my: 'aking',\n myself: 'sarili_ko',\n you: 'ikaw',\n your: 'iyong',\n yourself: 'sarili_mo',\n element: 'elemento',\n target: 'target',\n detail: 'detalye',\n event: 'pangyayari',\n window: 'bintana',\n document: 'dokumento',\n body: 'katawan',\n result: 'resulta',\n value: 'halaga',\n },\n\n attributes: {\n class: 'klase',\n classes: 'mga_klase',\n style: 'estilo',\n styles: 'mga_estilo',\n attribute: 'katangian',\n attributes: 'mga_katangian',\n property: 'ari_arian',\n properties: 'mga_ari_arian',\n id: 'id',\n value: 'halaga',\n text: 'teksto',\n html: 'html',\n disabled: 'hindi_pinagana',\n checked: 'naka_tsek',\n },\n\n expressions: {\n characters: 'karakter',\n inclusive: 'kasama',\n exclusive: 'bukod',\n first: 'una',\n last: 'huli',\n next: 'susunod',\n previous: 'nakaraan',\n prev: 'nakaraan',\n at: 'sa',\n random: 'random',\n closest: 'pinakamalapit',\n parent: 'magulang',\n children: 'mga_anak',\n within: 'sa_loob_ng',\n no: 'walang',\n empty: 'walang_laman',\n some: 'ilan',\n 'starts with': 'nagsisimula_sa',\n 'ends with': 'nagtatapos_sa',\n 'ignoring case': 'huwag_pansinin_ang_case',\n 'sorted by': 'nakaayos_ayon_sa',\n 'mapped to': 'binago_sa',\n 'split by': 'hinati_sa',\n 'joined by': 'pinagsama_sa',\n length: 'haba',\n index: 'indeks',\n },\n};\n\nexport const tl = tagalogDictionary;\n","// Generated/merged from semantic profiles — hand-written entries are preserved\n// To add derived entries, update the semantic profile and run: npm run generate:language-assets\n\nimport { Dictionary } from '../types';\n\nexport const he: Dictionary = {\n commands: {\n add: 'הוסף',\n append: 'צרף',\n async: 'אסינכרוני',\n beep: 'ביפ',\n break: 'שבור',\n call: 'קרא',\n clear: 'נקה', // profile's clear word — was untranslated (parsed as nothing)\n continue: 'המשך',\n copy: 'העתק',\n decrement: 'הקטן',\n default: 'ברירת מחדל',\n exit: 'צא',\n fetch: 'הבא',\n for: 'עבור',\n get: 'קבל',\n go: 'לך',\n halt: 'עצור',\n hide: 'הסתר',\n if: 'אם',\n unless: 'אלא',\n increment: 'הגדל',\n install: 'התקן',\n js: 'js',\n log: 'רשום',\n make: 'צור',\n measure: 'מדוד',\n morph: 'הפוך',\n on: 'ב',\n pick: 'בחר',\n put: 'שים',\n remove: 'הסר',\n render: 'רנדר',\n repeat: 'חזור',\n return: 'החזר',\n scroll: 'גלול',\n send: 'שלח',\n set: 'קבע',\n settle: 'התייצב',\n show: 'הראה',\n swap: 'החלף',\n take: 'קח',\n tell: 'אמור',\n throw: 'זרוק',\n toggle: 'מתג',\n transition: 'מעבר',\n trigger: 'הפעל',\n until: 'עד',\n wait: 'חכה',\n while: 'כל עוד',\n },\n\n modifiers: {\n after: 'אחרי',\n before: 'לפני',\n from: 'מ',\n into: 'לתוך',\n to: 'על',\n with: 'עם',\n },\n\n events: {\n blur: 'טשטש',\n change: 'שינוי',\n click: 'לחיצה',\n focus: 'מקד',\n input: 'קלט',\n submit: 'שליחה',\n },\n\n logical: {\n and: 'וגם',\n else: 'אחרת',\n end: 'סוף',\n then: 'אז',\n live: 'חי',\n bind: 'קשור',\n changes: 'משתנה',\n when: 'כאשר',\n where: 'איפה',\n },\n\n temporal: {},\n\n values: {\n body: 'גוף',\n event: 'אירוע',\n it: 'זה',\n its: 'שלו',\n me: 'אני',\n my: 'שלי',\n result: 'תוצאה',\n target: 'יעד',\n you: 'אתה',\n your: 'שלך',\n },\n\n attributes: {},\n\n expressions: {\n random: 'אקראי',\n characters: 'תווים',\n inclusive: 'כולל',\n exclusive: 'בלעדי',\n last: 'אחרון',\n },\n};\n","/**\n * Dictionary Index\n *\n * Exports dictionaries for all supported languages.\n * Each dictionary maps English canonical keywords to locale-specific translations\n * across 8 categories: commands, modifiers, events, logical, temporal, values,\n * attributes, and expressions.\n *\n * Derivation utilities (deriveFromProfile, createEnglishDictionary) are available\n * for generating dictionaries from semantic language profiles. See ./derive.ts.\n */\n\nimport { Dictionary } from '../types';\n\n// Import per-language dictionaries\nimport { en as enDict } from './en';\nimport { es as esDict } from './es';\nimport { ko as koDict } from './ko';\nimport { zh as zhDict } from './zh';\nimport { fr as frDict } from './fr';\nimport { de as deDict } from './de';\nimport { ja as jaDict } from './ja';\nimport { ar as arDict } from './ar';\nimport { tr as trDict } from './tr';\nimport { id as idDict } from './id';\nimport { qu as quDict } from './qu';\nimport { sw as swDict } from './sw';\nimport { pt as ptDict } from './pt';\nimport { it as itDict } from './it';\nimport { vi as viDict } from './vi';\nimport { pl as plDict } from './pl';\nimport { russianDictionary as ruDict } from './ru';\nimport { ukrainianDictionary as ukDict } from './uk';\nimport { hindiDictionary as hiDict } from './hi';\nimport { bengaliDictionary as bnDict } from './bn';\nimport { thaiDictionary as thDict } from './th';\nimport { malayDictionary as msDict } from './ms';\nimport { tagalogDictionary as tlDict } from './tl';\nimport { he as heDict } from './he';\n\n// =============================================================================\n// Dictionary Exports\n// =============================================================================\n\n/** English dictionary */\nexport const en: Dictionary = enDict;\n/** Spanish dictionary */\nexport const es: Dictionary = esDict;\n/** Japanese dictionary */\nexport const ja: Dictionary = jaDict;\n/** Korean dictionary */\nexport const ko: Dictionary = koDict;\n/** Chinese dictionary */\nexport const zh: Dictionary = zhDict;\n/** French dictionary */\nexport const fr: Dictionary = frDict;\n/** German dictionary */\nexport const de: Dictionary = deDict;\n/** Arabic dictionary */\nexport const ar: Dictionary = arDict;\n/** Turkish dictionary */\nexport const tr: Dictionary = trDict;\n/** Indonesian dictionary */\nexport const id: Dictionary = idDict;\n/** Portuguese dictionary */\nexport const pt: Dictionary = ptDict;\n/** Quechua dictionary */\nexport const qu: Dictionary = quDict;\n/** Swahili dictionary */\nexport const sw: Dictionary = swDict;\n/** Italian dictionary */\nexport const it: Dictionary = itDict;\n/** Vietnamese dictionary */\nexport const vi: Dictionary = viDict;\n/** Polish dictionary */\nexport const pl: Dictionary = plDict;\n/** Russian dictionary */\nexport const ru: Dictionary = ruDict;\n/** Ukrainian dictionary */\nexport const uk: Dictionary = ukDict;\n/** Hindi dictionary */\nexport const hi: Dictionary = hiDict;\n/** Bengali dictionary */\nexport const bn: Dictionary = bnDict;\n/** Thai dictionary */\nexport const th: Dictionary = thDict;\n/** Malay dictionary */\nexport const ms: Dictionary = msDict;\n/** Tagalog dictionary */\nexport const tl: Dictionary = tlDict;\n/** Hebrew dictionary */\nexport const he: Dictionary = heDict;\n\n// =============================================================================\n// Dictionary Registry\n// =============================================================================\n\n/**\n * All available dictionaries indexed by locale code.\n */\nexport const dictionaries: Record<string, Dictionary> = {\n en,\n es,\n ko,\n zh,\n fr,\n de,\n ja,\n ar,\n tr,\n id,\n qu,\n sw,\n pt,\n it,\n vi,\n pl,\n ru,\n uk,\n hi,\n bn,\n th,\n ms,\n tl,\n he,\n};\n\n// =============================================================================\n// Helper Functions\n// =============================================================================\n\n/**\n * Get all supported locale codes.\n */\nexport const supportedLocales = Object.keys(dictionaries);\n\n/**\n * Check if a locale is supported.\n */\nexport const isLocaleSupported = (locale: string): boolean => {\n return locale in dictionaries;\n};\n\n/**\n * Get dictionary with fallback to another locale.\n */\nexport const getDictionary = (locale: string, fallback: string = 'en'): Dictionary | null => {\n return dictionaries[locale] || dictionaries[fallback] || null;\n};\n\n// =============================================================================\n// Derivation Utilities\n// =============================================================================\n\n/**\n * Re-export derivation utilities for generating dictionaries from semantic profiles.\n */\nexport { deriveFromProfile, createEnglishDictionary, validateDictionary } from './derive';\n","// packages/i18n/src/utils/locale.ts\n\nimport { dictionaries } from '../dictionaries';\nimport { DICTIONARY_CATEGORIES } from '../types';\nimport { profiles } from '../grammar/profiles';\n\nexport interface LocaleInfo {\n code: string;\n language: string;\n region?: string;\n script?: string;\n}\n\n/**\n * Parse a locale string into its components\n * Examples: 'en-US', 'zh-Hans-CN', 'es-419'\n */\nexport function parseLocale(locale: string): LocaleInfo {\n const parts = locale.split('-');\n const info: LocaleInfo = {\n code: locale,\n language: parts[0].toLowerCase(),\n };\n\n if (parts.length > 1) {\n // Check if second part is a script (4 letters, first capitalized)\n if (parts[1].length === 4 && /^[A-Z][a-z]{3}$/.test(parts[1])) {\n info.script = parts[1];\n if (parts[2]) {\n info.region = parts[2].toUpperCase();\n }\n } else {\n info.region = parts[1].toUpperCase();\n }\n }\n\n return info;\n}\n\n/**\n * Detect the language of hyperscript text\n */\nexport function detectLocale(text: string, supportedLocales: string[]): string {\n const scores = new Map<string, number>();\n\n // Initialize scores\n supportedLocales.forEach(locale => scores.set(locale, 0));\n\n // Count keyword matches for each locale using type-safe iteration\n for (const [locale, dictionary] of Object.entries(dictionaries)) {\n if (!supportedLocales.includes(locale)) continue;\n\n let score = 0;\n\n // Check all categories\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dictionary[category];\n for (const keyword of Object.values(translations)) {\n // Skip empty or single-character keywords (too ambiguous for detection)\n if (!keyword || keyword.length < 2) continue;\n\n // Use word boundary matching for accuracy\n const regex = new RegExp(`\\\\b${escapeRegex(keyword)}\\\\b`, 'gi');\n const matches = text.match(regex);\n if (matches) {\n score += matches.length;\n }\n }\n }\n\n scores.set(locale, score);\n }\n\n // Find locale with highest score\n let maxScore = 0;\n let detectedLocale = 'en'; // Default to English\n\n scores.forEach((score, locale) => {\n if (score > maxScore) {\n maxScore = score;\n detectedLocale = locale;\n }\n });\n\n return detectedLocale;\n}\n\n/**\n * Get the best matching locale from available locales\n */\nexport function getBestMatchingLocale(\n requestedLocale: string,\n availableLocales: string[]\n): string | null {\n // Exact match\n if (availableLocales.includes(requestedLocale)) {\n return requestedLocale;\n }\n\n const requested = parseLocale(requestedLocale);\n\n // Try language+script match first (more specific)\n if (requested.script) {\n const scriptMatch = availableLocales.find(locale => {\n const available = parseLocale(locale);\n return available.language === requested.language && available.script === requested.script;\n });\n\n if (scriptMatch) {\n return scriptMatch;\n }\n }\n\n // Fall back to language-only match\n const languageMatch = availableLocales.find(locale => {\n const available = parseLocale(locale);\n return available.language === requested.language;\n });\n\n if (languageMatch) {\n return languageMatch;\n }\n\n return null;\n}\n\n/**\n * Get user's preferred locales from browser\n */\nexport function getBrowserLocales(): string[] {\n if (typeof window === 'undefined') {\n return ['en'];\n }\n\n const locales: string[] = [];\n\n // Modern browser API\n if (navigator.languages && navigator.languages.length > 0) {\n locales.push(...navigator.languages);\n }\n\n // Fallback to single language\n if (navigator.language) {\n locales.push(navigator.language);\n }\n\n // Legacy IE\n if ((navigator as any).userLanguage) {\n locales.push((navigator as any).userLanguage);\n }\n\n // Remove duplicates and return\n return [...new Set(locales)];\n}\n\n/**\n * Escape special regex characters\n */\nfunction escapeRegex(str: string): string {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n\n/**\n * Format a locale for display using the native name from its grammar profile.\n */\nexport function formatLocaleName(locale: string): string {\n const profile = profiles[locale];\n if (profile) return profile.name;\n\n // Fallback for sub-locale codes (e.g., 'zh-TW')\n const subLocaleNames: Record<string, string> = {\n 'zh-TW': '繁體中文',\n };\n return subLocaleNames[locale] || locale;\n}\n\n/**\n * Check if a locale uses RTL writing\n */\nexport function isRTL(locale: string): boolean {\n const rtlLocales = ['ar', 'he', 'fa', 'ur', 'yi', 'ji', 'ku', 'dv'];\n const info = parseLocale(locale);\n return rtlLocales.includes(info.language);\n}\n","/**\n * Tokenizer Adapter\n *\n * Bridges the semantic package's sophisticated tokenizers to i18n's\n * dictionary-based token categorization system.\n *\n * The semantic tokenizers handle:\n * - Language-specific word boundaries\n * - CSS selectors, URLs, string literals\n * - Grammatical particles (を, に, من)\n * - Morphological normalization\n *\n * This adapter converts semantic tokens to i18n tokens by:\n * 1. Using semantic's tokenize() for sophisticated tokenization\n * 2. Mapping TokenKind to TokenType via dictionary lookup for keywords\n * 3. Preserving position information for round-trip support\n */\n\nimport type { Token, TokenType } from '../types';\nimport { dictionaries } from '../dictionaries';\n\n// =============================================================================\n// Semantic Tokenizer Integration\n// =============================================================================\n\n// Types from semantic package (inlined to avoid circular dependency issues)\ninterface SourcePosition {\n readonly start: number;\n readonly end: number;\n readonly line?: number;\n readonly column?: number;\n}\n\ntype TokenKind =\n | 'keyword'\n | 'selector'\n | 'literal'\n | 'particle'\n | 'conjunction' // Grammatical conjunction (Arabic و/ف proclitics)\n | 'event-modifier' // Event modifiers (.once, .prevent, etc.)\n | 'identifier'\n | 'operator'\n | 'punctuation'\n | 'url';\n\ninterface LanguageToken {\n readonly value: string;\n readonly kind: TokenKind;\n readonly position: SourcePosition;\n readonly normalized?: string;\n readonly stem?: string;\n readonly stemConfidence?: number;\n}\n\ninterface TokenStream {\n readonly tokens: readonly LanguageToken[];\n readonly language: string;\n}\n\n// Lazy load semantic tokenizers to avoid circular dependency at module load time\nlet _semanticTokenize: ((input: string, language: string) => TokenStream) | null = null;\nlet _isLanguageSupported: ((language: string) => boolean) | null = null;\nlet _semanticLoaded = false;\nlet _semanticLoadFailed = false;\n\nasync function loadSemantic(): Promise<boolean> {\n if (_semanticLoaded) return !_semanticLoadFailed;\n if (_semanticLoadFailed) return false;\n\n try {\n // Dynamic import to break circular dependency\n const semantic = await import('@lokascript/semantic');\n _semanticTokenize = semantic.tokenize;\n _isLanguageSupported = semantic.isLanguageSupported;\n _semanticLoaded = true;\n return true;\n } catch {\n _semanticLoadFailed = true;\n return false;\n }\n}\n\n// Synchronous check - only works after first async load\nfunction isSemanticAvailable(): boolean {\n return _semanticLoaded && !_semanticLoadFailed;\n}\n\nfunction semanticTokenize(input: string, language: string): TokenStream | null {\n if (!_semanticTokenize) return null;\n try {\n return _semanticTokenize(input, language);\n } catch {\n return null;\n }\n}\n\nfunction semanticIsLanguageSupported(language: string): boolean {\n if (!_isLanguageSupported) return false;\n return _isLanguageSupported(language);\n}\n\n// =============================================================================\n// Token Type Mapping\n// =============================================================================\n\n/**\n * Map semantic TokenKind to i18n TokenType.\n *\n * Semantic TokenKind → i18n TokenType:\n * - keyword: Use dictionary lookup to determine specific type\n * - selector: identifier (selectors don't get translated)\n * - literal: literal\n * - particle: modifier (grammatical particles)\n * - identifier: identifier\n * - operator: operator\n * - punctuation: operator\n * - url: literal\n */\nfunction mapTokenKind(kind: TokenKind): TokenType {\n switch (kind) {\n case 'keyword':\n // Will be refined by dictionary lookup\n return 'identifier';\n case 'selector':\n return 'identifier';\n case 'literal':\n return 'literal';\n case 'particle':\n return 'modifier';\n case 'conjunction':\n return 'modifier';\n case 'event-modifier':\n return 'modifier';\n case 'identifier':\n return 'identifier';\n case 'operator':\n return 'operator';\n case 'punctuation':\n return 'operator';\n case 'url':\n return 'literal';\n default:\n return 'identifier';\n }\n}\n\n/**\n * Determine the specific i18n TokenType for a word by looking up\n * in the locale's dictionary.\n *\n * Order matters: events before commands since many events (click, focus)\n * also appear in commands.\n */\nfunction categorizeWord(word: string, locale: string): TokenType {\n const lowerWord = word.toLowerCase();\n\n // Map dictionary categories to token types (events first to handle 'click' etc.)\n const categoryToType: Array<[string, TokenType]> = [\n ['events', 'event'],\n ['commands', 'command'],\n ['expressions', 'expression'],\n ['modifiers', 'modifier'],\n ['logical', 'logical'],\n ['temporal', 'temporal'],\n ['values', 'value'],\n ['attributes', 'attribute'],\n ];\n\n // Check all supported dictionaries (source locale + English)\n const localesToCheck = locale === 'en' ? ['en'] : [locale, 'en'];\n\n for (const loc of localesToCheck) {\n const dict = dictionaries[loc];\n if (!dict) continue;\n\n // Check categories in priority order (events before commands)\n for (const [category, tokenType] of categoryToType) {\n const translations = dict[category as keyof typeof dict];\n if (!translations || typeof translations !== 'object') continue;\n\n // Check if word matches a key (English) or value (translated)\n for (const [key, value] of Object.entries(translations)) {\n if (key.toLowerCase() === lowerWord || value.toLowerCase() === lowerWord) {\n return tokenType;\n }\n }\n }\n }\n\n // Default to identifier\n return 'identifier';\n}\n\n// =============================================================================\n// Token Conversion\n// =============================================================================\n\n/**\n * Convert a semantic LanguageToken to an i18n Token.\n */\nfunction convertToken(token: LanguageToken, locale: string): Token {\n let type: TokenType;\n\n if (token.kind === 'keyword') {\n // For keywords, use dictionary lookup to get specific type\n // Use normalized form if available (e.g., 切り替え → toggle)\n const lookupWord = token.normalized || token.value;\n type = categorizeWord(lookupWord, locale);\n } else {\n type = mapTokenKind(token.kind);\n }\n\n return {\n type,\n value: token.value,\n position: {\n start: token.position.start,\n end: token.position.end,\n line: token.position.line ?? 1,\n column: token.position.column ?? token.position.start + 1,\n },\n };\n}\n\n// =============================================================================\n// Public API\n// =============================================================================\n\n/**\n * Initialize the semantic tokenizer (call once at app startup for best performance).\n * This is optional - tokenize() will work without it, using fallback tokenization.\n */\nexport async function initSemanticTokenizer(): Promise<boolean> {\n return loadSemantic();\n}\n\n/**\n * Tokenize input using semantic package's sophisticated tokenizers,\n * converting to i18n-compatible tokens.\n *\n * Falls back to basic tokenization if:\n * - Semantic package not loaded yet\n * - Language not supported by semantic\n * - Any error occurs\n *\n * For best performance, call initSemanticTokenizer() at app startup.\n */\nexport function tokenize(text: string, locale: string): Token[] {\n // Try semantic tokenization if available\n if (isSemanticAvailable() && semanticIsLanguageSupported(locale)) {\n const stream = semanticTokenize(text, locale);\n if (stream) {\n const tokens: Token[] = [];\n for (const semanticToken of stream.tokens) {\n tokens.push(convertToken(semanticToken, locale));\n }\n return tokens;\n }\n }\n\n // Fall back to basic tokenization\n return tokenizeBasic(text, locale);\n}\n\n/**\n * Tokenize with async initialization of semantic tokenizers.\n * Useful when you want to ensure semantic tokenization is used.\n */\nexport async function tokenizeAsync(text: string, locale: string): Promise<Token[]> {\n await loadSemantic();\n return tokenize(text, locale);\n}\n\n/**\n * Basic tokenization fallback for unsupported languages.\n * This is a simplified version that handles common patterns.\n */\nfunction tokenizeBasic(text: string, locale: string): Token[] {\n const tokens: Token[] = [];\n let position = 0;\n let line = 1;\n let column = 1;\n\n while (position < text.length) {\n const start = position;\n const startLine = line;\n const startColumn = column;\n\n // Skip whitespace but track it\n if (isWhitespace(text[position])) {\n const whitespace = consumeWhitespace(text, position);\n tokens.push({\n type: 'literal',\n value: whitespace,\n position: {\n start,\n end: position + whitespace.length,\n line: startLine,\n column: startColumn,\n },\n });\n\n // Update position tracking\n for (let i = 0; i < whitespace.length; i++) {\n if (whitespace[i] === '\\n') {\n line++;\n column = 1;\n } else {\n column++;\n }\n }\n position += whitespace.length;\n continue;\n }\n\n // String literals\n if (text[position] === '\"' || text[position] === \"'\") {\n const quote = text[position];\n let value = quote;\n position++;\n column++;\n\n while (position < text.length && text[position] !== quote) {\n if (text[position] === '\\\\' && position + 1 < text.length) {\n value += text[position] + text[position + 1];\n position += 2;\n column += 2;\n } else {\n value += text[position];\n if (text[position] === '\\n') {\n line++;\n column = 1;\n } else {\n column++;\n }\n position++;\n }\n }\n\n if (position < text.length) {\n value += text[position];\n position++;\n column++;\n }\n\n tokens.push({\n type: 'literal',\n value,\n position: {\n start,\n end: position,\n line: startLine,\n column: startColumn,\n },\n });\n continue;\n }\n\n // Numbers\n if (isDigit(text[position])) {\n const number = consumeNumber(text, position);\n tokens.push({\n type: 'literal',\n value: number,\n position: {\n start,\n end: position + number.length,\n line: startLine,\n column: startColumn,\n },\n });\n position += number.length;\n column += number.length;\n continue;\n }\n\n // Identifiers and keywords\n if (isIdentifierStart(text[position])) {\n const word = consumeIdentifier(text, position);\n const tokenType = categorizeWord(word, locale);\n\n tokens.push({\n type: tokenType,\n value: word,\n position: {\n start,\n end: position + word.length,\n line: startLine,\n column: startColumn,\n },\n });\n position += word.length;\n column += word.length;\n continue;\n }\n\n // Operators and punctuation\n const operator = consumeOperator(text, position);\n tokens.push({\n type: 'operator',\n value: operator,\n position: {\n start,\n end: position + operator.length,\n line: startLine,\n column: startColumn,\n },\n });\n position += operator.length;\n column += operator.length;\n }\n\n return tokens;\n}\n\n// =============================================================================\n// Helper Functions\n// =============================================================================\n\nfunction isWhitespace(char: string): boolean {\n return /\\s/.test(char);\n}\n\nfunction isDigit(char: string): boolean {\n return /\\d/.test(char);\n}\n\nfunction isIdentifierStart(char: string): boolean {\n return /[a-zA-Z_$\\u00e1\\u00e9\\u00ed\\u00f3\\u00fa\\u00f1\\u00d1\\u00e0\\u00e8\\u00ec\\u00f2\\u00f9\\u00c0\\u00c8\\u00cc\\u00d2\\u00d9\\u4e00-\\u9faf\\u3131-\\u314e\\u314f-\\u3163\\uac00-\\ud7a3]/.test(\n char\n );\n}\n\nfunction isIdentifierPart(char: string): boolean {\n return /[a-zA-Z0-9_$\\u00e1\\u00e9\\u00ed\\u00f3\\u00fa\\u00f1\\u00d1\\u00e0\\u00e8\\u00ec\\u00f2\\u00f9\\u00c0\\u00c8\\u00cc\\u00d2\\u00d9\\u4e00-\\u9faf\\u3131-\\u314e\\u314f-\\u3163\\uac00-\\ud7a3-]/.test(\n char\n );\n}\n\nfunction consumeWhitespace(text: string, start: number): string {\n let end = start;\n while (end < text.length && isWhitespace(text[end])) {\n end++;\n }\n return text.substring(start, end);\n}\n\nfunction consumeNumber(text: string, start: number): string {\n let end = start;\n while (end < text.length && (isDigit(text[end]) || text[end] === '.')) {\n end++;\n }\n return text.substring(start, end);\n}\n\nfunction consumeIdentifier(text: string, start: number): string {\n let end = start;\n while (end < text.length && isIdentifierPart(text[end])) {\n end++;\n }\n return text.substring(start, end);\n}\n\nfunction consumeOperator(text: string, start: number): string {\n // Try to match multi-character operators first\n const twoChar = text.substring(start, start + 2);\n if (['==', '!=', '<=', '>=', '&&', '||', '..'].includes(twoChar)) {\n return twoChar;\n }\n\n // Single character operators\n return text[start];\n}\n","// packages/i18n/src/validators/schema.ts\n\nexport const RequiredCategories = [\n 'commands',\n 'modifiers',\n 'events',\n 'logical',\n 'temporal',\n 'values',\n 'attributes',\n] as const;\n\nexport const RequiredKeys = {\n commands: [\n 'on',\n 'tell',\n 'trigger',\n 'send',\n 'take',\n 'put',\n 'set',\n 'get',\n 'add',\n 'remove',\n 'toggle',\n 'hide',\n 'show',\n 'if',\n 'repeat',\n 'for',\n 'while',\n 'wait',\n 'fetch',\n 'call',\n 'return',\n 'make',\n 'log',\n 'throw',\n 'catch',\n ],\n\n modifiers: [\n 'to',\n 'from',\n 'into',\n 'with',\n 'at',\n 'in',\n 'of',\n 'as',\n 'by',\n 'before',\n 'after',\n 'over',\n 'under',\n 'between',\n ],\n\n events: [\n 'click',\n 'change',\n 'focus',\n 'blur',\n 'keydown',\n 'keyup',\n 'mouseenter',\n 'mouseleave',\n 'submit',\n 'load',\n 'scroll',\n ],\n\n logical: ['and', 'or', 'not', 'is', 'then', 'else', 'end'],\n\n temporal: ['seconds', 'milliseconds', 'minutes', 'hours'],\n\n values: ['true', 'false', 'null', 'it', 'me', 'my', 'element', 'window', 'document'],\n\n attributes: [\n 'class',\n 'style',\n 'attribute',\n 'first',\n 'last',\n 'next',\n 'previous',\n 'parent',\n 'children',\n ],\n} as const;\n\nexport interface DictionarySchema {\n readonly categories: ReadonlyArray<string>;\n readonly requiredKeys: Readonly<Record<string, ReadonlyArray<string>>>;\n}\n\nexport const schema: DictionarySchema = {\n categories: RequiredCategories,\n requiredKeys: RequiredKeys,\n};\n\n// Helper type for strict dictionary validation\nexport type StrictDictionary = {\n [K in (typeof RequiredCategories)[number]]: Record<string, string>;\n};\n\n// Validation helpers\nexport function isValidCategory(category: string): category is (typeof RequiredCategories)[number] {\n return RequiredCategories.includes(category as any);\n}\n\nexport function getRequiredKeysForCategory(category: string): ReadonlyArray<string> {\n return RequiredKeys[category as keyof typeof RequiredKeys] || [];\n}\n\nexport function getMissingKeys(\n dictionary: Record<string, string>,\n requiredKeys: ReadonlyArray<string>\n): string[] {\n return requiredKeys.filter(key => !(key in dictionary));\n}\n\nexport function getExtraKeys(\n dictionary: Record<string, string>,\n requiredKeys: ReadonlyArray<string>\n): string[] {\n const required = new Set(requiredKeys);\n return Object.keys(dictionary).filter(key => !required.has(key));\n}\n","// packages/i18n/src/validators/index.ts\n\nimport {\n Dictionary,\n DICTIONARY_CATEGORIES,\n ValidationResult,\n ValidationError,\n ValidationWarning,\n} from '../types';\nimport { RequiredCategories, RequiredKeys } from './schema';\n\nexport function validate(dictionary: Dictionary, locale: string): ValidationResult {\n const errors: ValidationError[] = [];\n const warnings: ValidationWarning[] = [];\n const coverage = {\n total: 0,\n translated: 0,\n missing: [] as string[],\n };\n\n // Check required categories\n for (const category of RequiredCategories) {\n if (!(category in dictionary)) {\n errors.push({\n type: 'missing',\n key: category,\n message: `Missing required category: ${category}`,\n });\n }\n }\n\n // Check required keys in each category\n for (const [category, requiredKeys] of Object.entries(RequiredKeys)) {\n const categoryDict = dictionary[category as keyof Dictionary];\n\n if (!categoryDict) continue;\n\n for (const key of requiredKeys) {\n coverage.total++;\n\n if (!(key in categoryDict)) {\n errors.push({\n type: 'missing',\n key: `${category}.${key}`,\n message: `Missing required key: ${key} in category ${category}`,\n });\n coverage.missing.push(`${category}.${key}`);\n } else if (!categoryDict[key] || categoryDict[key].trim() === '') {\n errors.push({\n type: 'invalid',\n key: `${category}.${key}`,\n message: `Empty translation for key: ${key} in category ${category}`,\n });\n } else {\n coverage.translated++;\n }\n }\n }\n\n // Check for duplicates using type-safe category iteration\n const seen = new Map<string, string>();\n\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dictionary[category];\n if (!translations) continue;\n\n for (const [key, value] of Object.entries(translations)) {\n if (seen.has(value)) {\n warnings.push({\n type: 'inconsistent',\n key: `${category}.${key}`,\n message: `Duplicate translation \"${value}\" also used for ${seen.get(value)}`,\n });\n } else {\n seen.set(value, `${category}.${key}`);\n }\n }\n }\n\n // Language-specific validations\n validateLocaleSpecific(dictionary, locale, errors, warnings);\n\n return {\n valid: errors.length === 0,\n errors,\n warnings,\n coverage,\n };\n}\n\nfunction validateLocaleSpecific(\n dictionary: Dictionary,\n locale: string,\n _errors: ValidationError[],\n warnings: ValidationWarning[]\n): void {\n // Spanish-specific validations\n if (locale === 'es') {\n // Check for gender consistency\n if (dictionary.values?.true === 'verdadero' && dictionary.values?.false === 'falso') {\n // Both masculine, good\n } else if (dictionary.values?.true === 'verdadera' && dictionary.values?.false === 'falsa') {\n // Both feminine, good\n } else if (dictionary.values?.true && dictionary.values?.false) {\n warnings.push({\n type: 'inconsistent',\n key: 'values.true/false',\n message: 'Gender inconsistency between true/false translations',\n });\n }\n }\n\n // Korean-specific validations\n if (locale === 'ko') {\n // Check for consistent honorific levels\n const formalEndings = ['습니다', '세요'];\n const informalEndings = ['다', '어', '아'];\n\n let formalCount = 0;\n let informalCount = 0;\n\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dictionary[category];\n if (!translations) continue;\n for (const value of Object.values(translations)) {\n if (formalEndings.some(ending => value.endsWith(ending))) {\n formalCount++;\n }\n if (informalEndings.some(ending => value.endsWith(ending))) {\n informalCount++;\n }\n }\n }\n\n if (formalCount > 0 && informalCount > 0) {\n warnings.push({\n type: 'inconsistent',\n key: 'global',\n message: 'Mixed formal and informal speech levels',\n });\n }\n }\n\n // Chinese-specific validations\n if (locale === 'zh' || locale === 'zh-TW') {\n // Check for simplified vs traditional consistency\n const simplified = ['设', '获', '显', '发'];\n const traditional = ['設', '獲', '顯', '發'];\n\n let hasSimplified = false;\n let hasTraditional = false;\n\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dictionary[category];\n if (!translations) continue;\n for (const value of Object.values(translations)) {\n if (simplified.some(char => value.includes(char))) {\n hasSimplified = true;\n }\n if (traditional.some(char => value.includes(char))) {\n hasTraditional = true;\n }\n }\n }\n\n if (hasSimplified && hasTraditional) {\n warnings.push({\n type: 'inconsistent',\n key: 'global',\n message: 'Mixed simplified and traditional Chinese characters',\n });\n }\n }\n}\n","// packages/i18n/src/translator.ts\n\nimport {\n Dictionary,\n DICTIONARY_CATEGORIES,\n I18nConfig,\n TranslationOptions,\n TranslationResult,\n Token,\n TokenType,\n ValidationResult,\n} from './types';\nimport { dictionaries } from './dictionaries';\nimport { detectLocale } from './utils/locale';\nimport { tokenize } from './utils/tokenizer';\nimport { validate } from './validators';\n\nexport class HyperscriptTranslator {\n private config: I18nConfig;\n private dictionaries: Map<string, Dictionary>;\n private reverseDictionaries: Map<string, Map<string, string>>;\n\n constructor(config: I18nConfig) {\n this.config = {\n fallbackLocale: 'en',\n preserveOriginalAttribute: 'data-i18n-original',\n detectLocale: true, // Enable language detection by default\n ...config,\n locale: config.locale || 'en', // Ensure locale has a default\n };\n\n this.dictionaries = new Map();\n this.reverseDictionaries = new Map();\n\n // Load built-in dictionaries\n Object.entries(dictionaries).forEach(([locale, dict]) => {\n this.addDictionary(locale, dict);\n });\n\n // Load custom dictionaries\n if (config.dictionaries) {\n Object.entries(config.dictionaries).forEach(([locale, dict]) => {\n this.addDictionary(locale, dict);\n });\n }\n }\n\n translate(text: string, options: TranslationOptions): string {\n const result = this.translateWithDetails(text, options);\n return result.translated;\n }\n\n translateWithDetails(text: string, options: TranslationOptions): TranslationResult {\n const fromLocale = options.from || this.detectLanguage(text);\n const toLocale = options.to;\n\n if (fromLocale === toLocale) {\n return {\n translated: text,\n original: text,\n tokens: [],\n locale: { from: fromLocale, to: toLocale },\n };\n }\n\n // Get dictionaries\n const fromDict = this.getDictionary(fromLocale);\n const toDict = this.getDictionary(toLocale);\n\n if (!fromDict || !toDict) {\n throw new Error(`Missing dictionary for locale: ${!fromDict ? fromLocale : toLocale}`);\n }\n\n // Tokenize the input\n const tokens = tokenize(text, fromLocale);\n\n // Translate tokens\n const translatedTokens = this.translateTokens(tokens, fromLocale, toLocale);\n\n // Reconstruct the text\n const translated = this.reconstructText(translatedTokens);\n\n // Validate target dictionary if requested\n if (options.validate && toDict) {\n const validation = validate(toDict, toLocale);\n if (!validation.valid) {\n console.warn('Translation validation warnings:', validation.warnings);\n }\n }\n\n const result: TranslationResult = {\n translated,\n tokens: translatedTokens,\n locale: { from: fromLocale, to: toLocale },\n warnings: [],\n };\n if (options.preserveOriginal) {\n result.original = text;\n }\n return result;\n }\n\n private translateTokens(tokens: Token[], fromLocale: string, toLocale: string): Token[] {\n const fromDict = this.getDictionary(fromLocale);\n const toDict = this.getDictionary(toLocale);\n const reverseFromDict = this.getReverseDictionary(fromLocale);\n const emptyDict: Dictionary = {\n commands: {},\n modifiers: {},\n events: {},\n logical: {},\n temporal: {},\n values: {},\n attributes: {},\n expressions: {},\n };\n\n return tokens.map(token => {\n let translated = token.value;\n\n // Only translate keywords, not identifiers or literals\n if (this.isTranslatableToken(token)) {\n // First, try direct translation from source to target\n if (fromLocale !== 'en' && toLocale !== 'en') {\n // Translate through English as intermediate\n const english = this.findTranslation(token.value, fromDict || emptyDict, reverseFromDict);\n if (english) {\n translated =\n this.findTranslation(english, toDict || emptyDict, new Map()) || token.value;\n }\n } else if (fromLocale === 'en') {\n // Direct translation from English\n translated =\n this.findTranslation(token.value, toDict || emptyDict, new Map()) || token.value;\n } else {\n // Translation to English\n translated =\n this.findTranslation(token.value, fromDict || emptyDict, reverseFromDict) ||\n token.value;\n }\n }\n\n return {\n ...token,\n translated,\n };\n });\n }\n\n private findTranslation(\n word: string,\n dict: Dictionary,\n reverseDict: Map<string, string>\n ): string | null {\n const lowerWord = word.toLowerCase();\n\n // Check if translating FROM this locale using reverse dictionary\n if (reverseDict.size > 0) {\n const english = reverseDict.get(lowerWord);\n if (english) return english;\n }\n\n // Check categories in priority order (events before commands to handle 'click' etc.)\n const categoryOrder = [\n 'events',\n 'commands',\n 'expressions',\n 'modifiers',\n 'logical',\n 'temporal',\n 'values',\n 'attributes',\n ];\n\n for (const category of categoryOrder) {\n const translations = dict[category as keyof Dictionary];\n if (translations && typeof translations === 'object') {\n for (const [key, value] of Object.entries(translations)) {\n if (key.toLowerCase() === lowerWord) return value;\n }\n }\n }\n\n return null;\n }\n\n private isTranslatableToken(token: Token): boolean {\n const translatableTypes: TokenType[] = [\n 'command',\n 'modifier',\n 'event',\n 'logical',\n 'temporal',\n 'value',\n 'attribute',\n 'expression',\n ];\n return translatableTypes.includes(token.type);\n }\n\n private reconstructText(tokens: Token[]): string {\n return tokens.map(token => token.translated || token.value).join('');\n }\n\n detectLanguage(text: string): string {\n if (!this.config.detectLocale) {\n return this.config.locale;\n }\n\n return detectLocale(text, Array.from(this.dictionaries.keys()));\n }\n\n addDictionary(locale: string, dictionary: Dictionary): void {\n this.dictionaries.set(locale, dictionary);\n\n // Build reverse dictionary for this locale using type-safe iteration\n const reverseDict = new Map<string, string>();\n\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dictionary[category];\n if (translations) {\n for (const [english, translated] of Object.entries(translations)) {\n reverseDict.set(translated.toLowerCase(), english);\n }\n }\n }\n\n this.reverseDictionaries.set(locale, reverseDict);\n }\n\n getDictionary(locale: string): Dictionary | undefined {\n return this.dictionaries.get(locale);\n }\n\n private getReverseDictionary(locale: string): Map<string, string> {\n return this.reverseDictionaries.get(locale) || new Map();\n }\n\n getSupportedLocales(): string[] {\n return Array.from(this.dictionaries.keys());\n }\n\n validateDictionary(locale: string): ValidationResult {\n const dict = this.getDictionary(locale);\n if (!dict) {\n return {\n valid: false,\n errors: [\n { type: 'missing', key: locale, message: `Dictionary not found for locale: ${locale}` },\n ],\n warnings: [],\n coverage: { total: 0, translated: 0, missing: [] },\n };\n }\n\n return validate(dict, locale);\n }\n\n isRTL(locale: string): boolean {\n const rtlLocales = this.config.rtlLocales || ['ar', 'he', 'fa', 'ur'];\n return rtlLocales.includes(locale);\n }\n\n getCompletions(context: { text: string; position: number; locale: string }): string[] {\n const dict = this.getDictionary(context.locale);\n if (!dict) return [];\n\n const completions: string[] = [];\n\n // Get the partial word at cursor\n const beforeCursor = context.text.substring(0, context.position);\n const partial = beforeCursor.match(/\\b(\\w+)$/)?.[1] || '';\n const lowerPartial = partial.toLowerCase();\n\n // Search all categories for matches using type-safe iteration\n // For non-English locales, search translated values; for English, search keys\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dict[category];\n if (translations) {\n for (const [key, value] of Object.entries(translations)) {\n // Search keys (English terms) and values (translated terms)\n if (key.toLowerCase().startsWith(lowerPartial)) {\n completions.push(key);\n }\n if (value.toLowerCase().startsWith(lowerPartial) && !completions.includes(value)) {\n completions.push(value);\n }\n }\n }\n }\n\n return completions;\n }\n}\n\n// Export a singleton instance for convenience\nexport const translator = new HyperscriptTranslator({ locale: 'en' });\n","// packages/i18n/src/plugins/webpack.ts\n\nimport { HyperscriptTranslator } from '../translator';\n\n// node-html-parser is an optional dependency\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet parse: any;\ntry {\n parse = require('node-html-parser').parse;\n} catch {\n parse = null;\n}\n\n// Webpack types - optional peer dependency\ninterface Compiler {\n hooks: any;\n webpack: any;\n}\ninterface WebpackPluginInstance {\n apply(compiler: Compiler): void;\n}\n\nexport interface HyperscriptI18nWebpackOptions {\n sourceLocale?: string;\n targetLocale?: string;\n preserveOriginal?: boolean;\n attributes?: string[];\n test?: RegExp;\n}\n\nexport class HyperscriptI18nWebpackPlugin implements WebpackPluginInstance {\n private options: Required<HyperscriptI18nWebpackOptions>;\n private translator: HyperscriptTranslator;\n\n constructor(options: HyperscriptI18nWebpackOptions = {}) {\n this.options = {\n sourceLocale: options.sourceLocale || 'en',\n targetLocale: options.targetLocale || 'en',\n preserveOriginal: options.preserveOriginal ?? false,\n attributes: options.attributes || ['_', 'script', 'data-script'],\n test: options.test || /\\.(html)$/,\n };\n\n this.translator = new HyperscriptTranslator({\n locale: this.options.sourceLocale,\n });\n }\n\n apply(compiler: Compiler): void {\n const pluginName = 'HyperscriptI18nWebpackPlugin';\n\n // Skip if no translation needed\n if (this.options.sourceLocale === this.options.targetLocale) {\n return;\n }\n\n compiler.hooks.compilation.tap(pluginName, (compilation: any) => {\n // Hook into HTML processing\n compilation.hooks.processAssets.tapPromise(\n {\n name: pluginName,\n stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_SIZE,\n },\n async (assets: any) => {\n const promises = Object.keys(assets)\n .filter(filename => this.options.test.test(filename))\n .map(filename => this.processAsset(compilation, filename));\n\n await Promise.all(promises);\n }\n );\n });\n }\n\n private async processAsset(compilation: any, filename: string): Promise<void> {\n const asset = compilation.assets[filename];\n const source = asset.source();\n\n try {\n const processed = this.processHtml(source);\n\n if (processed !== source) {\n compilation.assets[filename] = {\n source: () => processed,\n size: () => processed.length,\n };\n }\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : String(error);\n compilation.errors.push(new Error(`Failed to process ${filename}: ${message}`));\n }\n }\n\n private processHtml(html: string): string {\n const root = parse(html);\n let hasChanges = false;\n\n this.options.attributes.forEach(attr => {\n const elements = root.querySelectorAll(`[${attr}]`);\n\n elements.forEach((element: any) => {\n const original = element.getAttribute(attr);\n if (!original) return;\n\n const translated = this.translator.translate(original, {\n from: this.options.sourceLocale,\n to: this.options.targetLocale,\n });\n\n if (original !== translated) {\n hasChanges = true;\n\n if (this.options.preserveOriginal) {\n element.setAttribute(`${attr}-${this.options.sourceLocale}`, original);\n }\n\n element.setAttribute(attr, translated);\n }\n });\n });\n\n return hasChanges ? root.toString() : html;\n }\n}\n"]}