{"_id":"@bpmn-io/form-js-i18n","_rev":"2-85595fdc9ee8d8a3133c0e7c5b556338","name":"@bpmn-io/form-js-i18n","dist-tags":{"latest":"2.1.1"},"versions":{"1.26.0":{"name":"@bpmn-io/form-js-i18n","version":"1.26.0","keywords":["form-js","i18n"],"author":{"url":"https://github.com/bpmn-io","name":"bpmn.io contributors"},"license":"SEE LICENSE IN LICENSE","_id":"@bpmn-io/form-js-i18n@1.26.0","maintainers":[{"name":"bpmn-io-admin","email":"bpmnio@camunda.com"},{"name":"nikku","email":"git_nikku@nixis.de"},{"name":"barmac","email":"maciejbarel@gmail.com"},{"name":"philippfromme","email":"philippfromme@outlook.com"},{"name":"maxtru","email":"maximilian.trumpf@camunda.com"},{"name":"skaiir-camunda","email":"valentin.serra@camunda.com"},{"name":"vsgoulart","email":"vinicius@vsgoulart.com"},{"name":"barinali","email":"ali.barin53@gmail.com"},{"name":"ev-camunda","email":"ev.bilske@camunda.com"},{"name":"jarekdanielak","email":"jarek.danielak@camunda.com"},{"name":"alekseymanetov","email":"alekseyManetov@gmail.com"}],"homepage":"https://github.com/bpmn-io/form-js#readme","bugs":{"url":"https://github.com/bpmn-io/form-js/issues"},"dist":{"shasum":"56316c1a808ebfc220b6d76f5b6c017dfb63f3de","tarball":"https://registry.npmjs.org/@bpmn-io/form-js-i18n/-/form-js-i18n-1.26.0.tgz","fileCount":4,"integrity":"sha512-7g/cVxBt6l4yq9UEap/Uc78dh1qP7X1hOvuBnY0+DqZrZeMHEX6CTRQ4ZWxIe+5xCz00E+wewSUKcjgAK56PuQ==","signatures":[{"sig":"MEYCIQDCraZm+SuW15y9UiY6uLbuwQqvt/URC4skAwz5gM+0GQIhAMb9uQ9F13dpi8nyu4ZlBESSsnuD3AktNfoPLp0sZeT3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22653},"type":"module","gitHead":"8357c47ba50ad8cc96aca0bc54fc65707866cdf6","scripts":{"all":"npm test","test":"node test/test.js","update-translations":"cross-env UPDATE_TRANSLATIONS=1 npm test"},"_npmUser":{"name":"barmac","email":"maciejbarel@gmail.com"},"repository":{"url":"git+https://github.com/bpmn-io/form-js.git","type":"git","directory":"packages/form-js-i18n"},"_npmVersion":"11.17.0","description":"Community contributed form-js translations, and the tooling that collects the translatable keys","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"diagram-js":"^15.22.0"},"_npmOperationalInternal":{"tmp":"tmp/form-js-i18n_1.26.0_1788531857014_0.1604794765753783","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"_id":"@bpmn-io/form-js-i18n@2.1.1","bugs":{"url":"https://github.com/bpmn-io/form-js/issues"},"dist":{"shasum":"d28c0a6bc75bbe29e49edbac77bbaed0a7153b8a","tarball":"https://registry.npmjs.org/@bpmn-io/form-js-i18n/-/form-js-i18n-2.1.1.tgz","fileCount":4,"integrity":"sha512-+56609Z+3IKuTUeOnGxkZXg+1t8XvmWclD3W3qxNXu/VU7TrRfmye0q/ZFbRfEwGm7Zcir8dJs4nJbh17UcvsQ==","signatures":[{"sig":"MEQCIHKPIm1OXbIijsC3i+SzA7kOUh2Mmt9b8fdSWkXxlQ8EAiA+RyZYdnIVGa2CsQ/L2UiJv+FLRN5mUzWw2XsKsbhjVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDOYtfbfMKk/S31GlhpT3Byl5NQqAjfzHZOnX0DtPKJ2gIhAL288W6gGz6G5hHZbydZFbenosw/A2tixv5PU5GuKTeL"}],"unpackedSize":22710},"name":"@bpmn-io/form-js-i18n","type":"module","author":{"url":"https://github.com/bpmn-io","name":"bpmn.io contributors"},"gitHead":"16967a364574070fcb87de3bc602fcc22b6b07c8","license":"SEE LICENSE IN LICENSE","scripts":{"all":"npm test","test":"node test/test.js","update-translations":"cross-env UPDATE_TRANSLATIONS=1 npm test"},"version":"2.1.1","_npmUser":{"name":"barmac","email":"maciejbarel@gmail.com"},"homepage":"https://github.com/bpmn-io/form-js#readme","keywords":["form-js","i18n"],"repository":{"url":"git+https://github.com/bpmn-io/form-js.git","type":"git","directory":"packages/form-js-i18n"},"_npmVersion":"11.17.0","description":"Community contributed form-js translations, and the tooling that collects the translatable keys","directories":{},"maintainers":[{"name":"bpmn-io-admin","email":"bpmnio@camunda.com"},{"name":"nikku","email":"git_nikku@nixis.de"},{"name":"barmac","email":"maciejbarel@gmail.com"},{"name":"philippfromme","email":"philippfromme@outlook.com"},{"name":"maxtru","email":"maximilian.trumpf@camunda.com"},{"name":"skaiir-camunda","email":"valentin.serra@camunda.com"},{"name":"vsgoulart","email":"vinicius@vsgoulart.com"},{"name":"barinali","email":"ali.barin53@gmail.com"},{"name":"ev-camunda","email":"ev.bilske@camunda.com"},{"name":"jarekdanielak","email":"jarek.danielak@camunda.com"},{"name":"alekseymanetov","email":"alekseyManetov@gmail.com"}],"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"diagram-js":"^15.22.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/form-js-i18n_2.1.1_1790858389725_0.7140634516273661"}}},"time":{"created":"2026-09-04T14:24:16.774Z","modified":"2026-10-01T12:39:50.049Z","1.26.0":"2026-09-04T14:24:17.146Z","2.1.1":"2026-10-01T12:39:49.835Z"},"bugs":{"url":"https://github.com/bpmn-io/form-js/issues"},"author":{"url":"https://github.com/bpmn-io","name":"bpmn.io contributors"},"license":"SEE LICENSE IN LICENSE","homepage":"https://github.com/bpmn-io/form-js#readme","keywords":["form-js","i18n"],"repository":{"url":"git+https://github.com/bpmn-io/form-js.git","type":"git","directory":"packages/form-js-i18n"},"description":"Community contributed form-js translations, and the tooling that collects the translatable keys","maintainers":[{"name":"bpmn-io-admin","email":"bpmnio@camunda.com"},{"name":"nikku","email":"git_nikku@nixis.de"},{"name":"barmac","email":"maciejbarel@gmail.com"},{"name":"philippfromme","email":"philippfromme@outlook.com"},{"name":"maxtru","email":"maximilian.trumpf@camunda.com"},{"name":"skaiir-camunda","email":"valentin.serra@camunda.com"},{"name":"vsgoulart","email":"vinicius@vsgoulart.com"},{"name":"barinali","email":"ali.barin53@gmail.com"},{"name":"ev-camunda","email":"ev.bilske@camunda.com"},{"name":"jarekdanielak","email":"jarek.danielak@camunda.com"},{"name":"alekseymanetov","email":"alekseyManetov@gmail.com"}],"readme":"# @bpmn-io/form-js-i18n\n\nCommunity maintained translations for the [form-js](https://github.com/bpmn-io/form-js) viewer and editor.\n\n## Available translations\n\n- [English](./translations/en.js)\n\nSee also the [translation coverage](https://github.com/bpmn-io/form-js/blob/develop/packages/form-js-i18n/docs/COVERAGE.md).\n\n## Use a translation\n\n```javascript\nimport { createForm } from '@bpmn-io/form-js';\n\nimport translations from '@bpmn-io/form-js-i18n/translations/en.js';\n\nfunction customTranslate(template, replacements = {}) {\n  return (translations[template] || template).replace(/{([^}]+)}/g, (_, key) => replacements[key] || '{' + key + '}');\n}\n\ncreateForm({\n  container,\n  schema,\n  additionalModules: [{ translate: ['value', customTranslate] }],\n});\n```\n\nThe same module works for the editor via `createFormEditor`.\n\n## Contribute a translation\n\nCopy [`translations/en.js`](./translations/en.js) to `translations/<language>.js` and translate the values, leaving the keys untouched. `{placeholder}` markers are substituted at runtime and have to survive the translation, though they may be re-ordered to fit the language.\n\nThen regenerate the coverage report:\n\n```sh\nnpm run update-translations\n```\n\nKeys are collected from the form-js source by running `npm run collect-translations` in the repository root, which writes [`docs/translations.json`](https://github.com/bpmn-io/form-js/blob/develop/packages/form-js-i18n/docs/translations.json). `npm test` verifies every translation against that list and reports missing and outdated entries.\n\nThis package owns the whole i18n toolchain: the key list, the dictionaries, the karma reporter that writes the list (`tasks/translation-reporter.cjs`) and the `translate` module that feeds it (`tasks/TranslationCollector.js`). The viewer and editor test setups import the collector from here.\n","readmeFilename":"README.md"}