Skip to content

Commit

Permalink
Merge pull request #12 from tiesebarrell/develop
Browse files Browse the repository at this point in the history
feat: add Dutch translation
  • Loading branch information
rami-nk authored Jan 26, 2023
2 parents 63efc5d + cb77632 commit 41d2500
Show file tree
Hide file tree
Showing 8 changed files with 498 additions and 7 deletions.
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Camunda Modeler I18N-Plugin

This plugin allows you to translate the UI of the Camunda Modeler. It contains translations for German, English and Portuguese and can be easily extended or customized.
This plugin allows you to translate the UI of the Camunda Modeler. It contains translations for German, English, Portuguese, Chinese, Russian and Dutch and can be easily extended or customized.

For more information see our blog post (in German): https://www.flowsquad.io/blog/2020-07-15-internationalization-plugin-f%C3%BCr-den-camunda-modeler/

Expand Down Expand Up @@ -28,7 +28,7 @@ Check the repository out and install all dependencies by using the command `npm

### Testing

To test it, build the plugin by using the command `npm build`. Then, copy the following files into the "resources/plugins" directory (for more see section Installation above):
To test it, build the plugin by using the command `npm run build`. Then, copy the following files into the "resources/plugins" directory (for more see section Installation above):

- `index.js`
- `dist/`
Expand Down Expand Up @@ -56,9 +56,9 @@ Now, if you run `npm run local`, the plugin will be built and automatically copi

If you want to add a new language, follow these steps, after you set up your local development environment:

1. Duplicate the "client/i18n-extension/languages/en" directory and adjust the name (we will use "fr" in this example)
1. Duplicate the "client/bpmnjs-i18n-extension/languages/en" directory and adjust the name (we will use "fr" in this example)
2. Translate the files in the duplicated folder
3. Duplicate the "client/i18n-extension/languages/en.js" file and adjust the name and the imports inside it so your newly translated files are used:
3. Duplicate the "client/bpmnjs-i18n-extension/languages/en.js" file and adjust the name and the imports inside it so your newly translated files are used:
```javascript
import bpmnJs from './fr/bpmn-js';
import dmnJs from './fr/dmn-js';
Expand All @@ -67,7 +67,7 @@ If you want to add a new language, follow these steps, after you set up your loc

// ...
```
4. Open the "client/i18n-extension/translate.js" file, import the new language and add it to the `languages` object:
4. Open the "client/bpmnjs-i18n-extension/translate.js" file, import the new language and add it to the `languages` object:
```javascript
import {config} from '../configuration';
import de from "./languages/de.js";
Expand Down
30 changes: 30 additions & 0 deletions client/bpmnjs-i18n-extension/languages/nl-nl.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/**
* Copyright 2021 FlowSquad GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

import bpmnJs from './nl-nl/bpmn-js';
import dmnJs from './nl-nl/dmn-js';
import propertiesPanel from './nl-nl/properties-panel';
import other from './nl-nl/other';

/**
* Joins and exports the translated strings.
*/
export default {
...bpmnJs,
...dmnJs,
...propertiesPanel,
...other
};
80 changes: 80 additions & 0 deletions client/bpmnjs-i18n-extension/languages/nl-nl/bpmn-js.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
/**
* Copyright 2021 FlowSquad GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/**
* This file contains the strings used in the bpmn-js module.
*/
export default {
'Append {type}': 'Voeg {type} toe',
'Add Lane above': 'Voeg Lane erboven toe',
'Divide into two Lanes': 'Splits in twee Lanes',
'Divide into three Lanes': 'Splits in drie Lanes',
'Add Lane below': 'Voeg Lane eronder toe',
'Append ReceiveTask': 'Voeg Receive-Task toe',
'Append MessageIntermediateCatchEvent': 'Voeg Message-Intermediate-Catch-Event toe',
'Append TimerIntermediateCatchEvent': 'Voeg Timer-Intermediate-Catch-Event toe',
'Append ConditionIntermediateCatchEvent': 'Voeg Condition-Intermediate-Catch-Event toe',
'Append SignalIntermediateCatchEvent': 'Voeg Signal-Intermediate-Catch-Event toe',
'Append compensation activity': 'Voeg compensation activity toe',
'Append EndEvent': 'Voeg End-Event toe',
'Append Gateway': 'Voeg Gateway toe',
'Append Task': 'Voeg Task toe',
'Append Intermediate/Boundary Event': 'Voeg Intermediate/Boundary Event toe',
'Change type': 'Wijzig type',
'Connect using Association': 'Verbind met Association',
'Connect using Sequence/MessageFlow or Association': 'Verbind met Sequence/Message-Flow of Association',
'Connect using DataInputAssociation': 'Verbind met Data-Input-Association',
'Remove': 'Verwijder',
'no shape type specified': 'geen vorm type gekozen',
'out of bounds release': 'release buiten bereik',
'more than {count} child lanes': 'meer dan {count} child lanes',
'element required': 'element vereist',
'no parent for {element} in {parent}': 'geen ouderelement voor {element} in {parent}',
'Create {type}': 'Maak {type}',
'Activate the hand tool': 'Activeer het hand gereedschap',
'Activate the lasso tool': 'Activeer het lasso gereedschap',
'Activate the create/remove space tool': 'Activeer het maak/verwijder ruimte gereedschap',
'Activate the global connect tool': 'Activeer het globale verbinding gereedschap',
'Create StartEvent': 'Maak Start-Event',
'Create Intermediate/Boundary Event': 'Maak Intermediate/Boundary Event',
'Create EndEvent': 'Maak End-Event',
'Create Gateway': 'Maak Gateway',
'Create Task': 'Maak Task',
'Create DataObjectReference': 'Maak Data-Object-Reference',
'Create DataStoreReference': 'Maak Data-Store-Reference',
'Create expanded SubProcess': 'Maak uitgeklapt Sub-Process',
'Create Pool/Participant': 'Maak Pool/Participant',
'Create Group': 'Maak Group',
'Parallel Multi Instance': 'Parallel-Multi-Instance',
'Sequential Multi Instance': 'Sequential-Multi-Instance',
'Loop': 'Loop',
'Ad-hoc': 'Ad-hoc',
'element {element} referenced by {referenced}#{property} not yet drawn': 'element {element} gerefereerd door {referenced}#{property} nog niet getekend',
'unknown di {di} for element {semantic}': 'onbekende di {di} voor element {semantic}',
'missing {semantic}#attachedToRef': '{semantic}#attachedToRef ontbreekt',
'{semantic}#{side} Ref not specified': '{semantic}#{side} Ref niet gespecificeerd',
'already rendered {element}': '{element} reeds getekend',
'failed to import {element}': 'importeren van {element} gefaald',
'multiple DI elements defined for {element}': 'meerdere DI elementen gedefinieerd voor {element}',
'no bpmnElement referenced in {element}': 'geen bpmnElement gerefereerd in {element}',
'diagram not part of bpmn:Definitions': 'diagram geen onderdeel van bpmn:Definitions',
'no diagram to display': 'geen diagram om weer te geven',
'no process or collaboration to display': 'geen process of collaboration om weer te geven',
'correcting missing bpmnElement on {plane} to {rootElement}': 'corrigeer ontbrekend bpmnElement op {plane} naar {rootElement}',
'unsupported bpmnElement for {plane}: {rootElement}': 'bpmnElement voor {plane}: {rootElement} niet ondersteund',
'unrecognized flowElement {element} in context {context}': 'flowElement {element} in context {context} niet herkend',
'HELLO {you}!': 'HALLO {you}!'
};
81 changes: 81 additions & 0 deletions client/bpmnjs-i18n-extension/languages/nl-nl/dmn-js.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
/**
* Copyright 2021 FlowSquad GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/**
* This file contains the translated strings used in the dmn-js component.
* However, notice that these strings are currently not working. We are
* still investigating how to apply them.
*/
export default {
'Activate the lasso tool': 'Activeer het lasso gereedschap',
'Add Cell Description': 'Voeg celbeschrijving toe',
'Add Input': 'Voeg Input toe',
'Add Input Column Left': 'Voeg Input kolom links toe',
'Add Input Column Right': 'Voeg Input kolom rechts toe',
'Add Output': 'Voeg Output toe',
'Add Output Column Left': 'Voeg Output kolom links toe',
'Add Output Column Right': 'Voeg Output kolom rechts toe',
'Add Predefined Values': 'Voeg voorgedefinieerde waarden toe',
'Add Rule Above': 'Voeg Regel erboven toe',
'Add Rule Below': 'Voeg Regel eronder toe',
'Add Values': 'Voeg Waarden toe',
'And': 'En',
'Annotations': 'Annotaties',
'Append {type}': 'Voeg {type} toe',
'cellInput': 'celInvoer',
'Change Cell Expression Language': 'Verander expressietaal voor cel',
'Change type': 'Wijzig type',
'Clear predefined values.': 'Wis voorgedefinieerde waarden.',
'Copy Input Column': 'Kopieer Input kolom',
'Copy Output Column': 'Kopieer Output kolom',
'Copy Rule': 'Kopieer Regel',
'Create Decision': 'Maak Decision',
'Create Input Data': 'Maak Input-Data',
'Create Knowledge Model': 'Maak Knowledge-Model',
'Create Knowledge Source': 'Maak Knowledge-Source',
'Cut Input Column': 'Knip Input Kolom',
'Cut Output Column': 'Knip Output Kolom',
'Cut Rule': 'Knip Regel',
'Edit String': 'Bewerk Tekst',
'Expression': 'Expressie',
'Expression Language': 'Expressie Taal',
'Input': 'Input',
'Input Expression': 'Input-Expression',
'Input Label': 'Input-Label',
'Input Type': 'Input-Type',
'Input Values': 'Input Waarden',
'Input Variable': 'Input Variabele',
'No values': 'Geen waarden',
'Output Label': 'Output-Label',
'Output Name': 'Output-Naam',
'Output Type': 'Output-Type',
'Output Values': 'Output Waarden',
'Paste Input Column Left': 'Plak Input Kolom Links',
'Paste Input Column Right': 'Plak Input Kolom Rechts',
'Paste Output Column Left': 'Plak Output Kolom Links',
'Paste Output Column Right': 'Plak Output Kolom Rechts',
'Paste Rule Above': 'Plak Regel Erboven',
'Paste Rule Below': 'Plak Regel Eronder',
'Predefined Values': 'Voorgedefinieerde Waarden',
'Remove': 'Verwijder',
'Remove Cell Description': 'Verwijder Celbeschrijving',
'Remove Input Column': 'Verwijder Input Kolom',
'Remove Output Column': 'Verwijder Output Kolom',
'Remove Rule': 'Verwijder Regel',
'Set Value': 'Geef Waarde',
'Strings must be in double quotes.': 'Teksten moeten tussen dubbele aanhalingstekens staan.',
'Type': 'Type',
};
96 changes: 96 additions & 0 deletions client/bpmnjs-i18n-extension/languages/nl-nl/other.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
/**
* Copyright 2021 FlowSquad GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/**
* This file contains translations that were used in other components.
*/
export default {
'Open minimap': 'Open minimap',
'This maps to the process definition key.': 'Dit wordt vertaald naar de process definition key.',
'Key': 'Key',
'Intermediate Throw Event': 'Intermediate-Throw-Event',
'End Event': 'End-Event',
'Message Start Event': 'Message-Start-Event',
'Timer Start Event': 'Timer-Start-Event',
'Conditional Start Event': 'Conditional-Start-Event',
'Signal Start Event': 'Signal-Start-Event',
'Expand (not reversible)': 'Uitklappen (niet omkeerbaar)',
'ID': 'ID',
'Start Event': 'Start-Event',
'Message End Event': 'Message-End-Event',
'Escalation End Event': 'Escalation-End-Event',
'Error End Event': 'Error-End-Event',
'Compensation End Event': 'Compensation-End-Event',
'Signal End Event': 'Signal-End-Event',
'Terminate End Event': 'Terminate-End-Event',
'Transaction': 'Transaction',
'Event Sub Process': 'Event-Sub-Process',
'Sub Process (collapsed)': 'Sub-Process (ingeklapt)',
'Close minimap': 'Sluit minimap',
'Message Intermediate Catch Event': 'Message-Intermediate-Catch-Event',
'Message Intermediate Throw Event': 'Message-Intermediate-Throw-Event',
'Timer Intermediate Catch Event': 'Timer-Intermediate-Catch-Event',
'Escalation Intermediate Throw Event': 'Escalation-Intermediate-Throw-Event',
'Conditional Intermediate Catch Event': 'Conditional-Intermediate-Catch-Event',
'Link Intermediate Catch Event': 'Link-Intermediate-Catch-Event',
'Link Intermediate Throw Event': 'Link-Intermediate-Throw-Event',
'Compensation Intermediate Throw Event': 'Compensation-Intermediate-Throw-Event',
'Signal Intermediate Catch Event': 'Signal-Intermediate-Catch-Event',
'Signal Intermediate Throw Event': 'Signal-Intermediate-Throw-Event',
'Parallel Gateway': 'Parallel-Gateway',
'Inclusive Gateway': 'Inclusive-Gateway',
'Complex Gateway': 'Complex-Gateway',
'Event based Gateway': 'Event-based-Gateway',
'Exclusive Gateway': 'Exclusive-Gateway',
'Send Task': 'Send-Task',
'Receive Task': 'Receive-Task',
'User Task': 'User-Task',
'Manual Task': 'Manual-Task',
'Business Rule Task': 'Business-Rule-Task',
'Service Task': 'Service-Task',
'Script Task': 'Script-Task',
'Call Activity': 'Call-Activity',
'Sub Process (expanded)': 'Sub-Process (uitgeklapt)',
'Sub Process': 'Sub-Process',
'Task': 'Task',
'This maps to the task definition key.': 'Dit wordt vertaald naar de task definition key.',
'Collapsed Pool': 'Ingeklapte Pool',
'Expanded Pool': 'Uitgeklapte Pool',
'flow elements must be children of pools/participants': 'flow elements moeten binnen pools/participants worden opgenomen',
'The follow up date as an EL expression (e.g. ${someDate} or an ISO date (e.g. 2015-06-26T09:54:00)': 'De opvolgdatum als EL expressie (bv. ${eenDatum}) of een ISO datum (bv. 2015-06-26T09:54:00)',
'Message Boundary Event': 'Message-Boundary-Event',
'Timer Boundary Event': 'Timer-Boundary-Event',
'Escalation Boundary Event': 'Escalation-Boundary-Event',
'Conditional Boundary Event': 'Conditional-Boundary-Event',
'Error Boundary Event': 'Error-Boundary-Event',
'Cancel Boundary Event': 'Cancel-Boundary-Event',
'Signal Boundary Event': 'Signal-Boundary-Event',
'Compensation Boundary Event': 'Compensation-Boundary-Event',
'Message Boundary Event (non-interrupting)': 'Message-Boundary-Event (non-interrupting)',
'Timer Boundary Event (non-interrupting)': 'Timer-Boundary-Event (non-interrupting)',
'Escalation Boundary Event (non-interrupting)': 'Escalation-Boundary-Event (non-interrupting)',
'Conditional Boundary Event (non-interrupting)': 'Conditional-Boundary-Event (non-interrupting)',
'Signal Boundary Event (non-interrupting)': 'Signal-Boundary-Event (non-interrupting)',
'Connect using Information/Knowledge/Authority Requirement or Association': 'Verbind met Information/Knowledge/Authority Requirement of Association',
'Empty': 'Leeg',
'Literal Expression': 'Literal-Expression',
'This maps to the decision definition key.': 'Dit wordt vertaald naar de decision definition key.',
'Decision Table': 'Decision-Table',
'Output': 'Output',
'Annotation': 'Annotation',
'Output Expression': 'Output-Expression',
'Data Type': 'Data-Type'
}
Loading

0 comments on commit 41d2500

Please sign in to comment.