export default function Multilang(eventBus, modeling, injector) { function onElementChanged (event) { var element = event.element; /* for all elements ? if (!(element.businessObject.$instanceOf('bpmn:TextAnnotation') || element.businessObject.$instanceOf('bpmn:FlowNode') || element.businessObject.$instanceOf('bpmn:Participant'))) { return; } */ var lang = injector.get('bpmnjs').getLang(); var bo = element.businessObject; //var di = bo.di; var currentText = element.businessObject.$instanceOf('bpmn:TextAnnotation') ? bo.get('text') : bo.get('name'); //di.get('name:lang'); if (currentText == bo.get(`text_${lang}`)) { return; } var ns = ( currentText ? 'http://claris-solutions/spec/BPMN/non-normative/langs/1.0' : undefined ); var diObj = { //'xmlns:lang': ns }; diObj[`text_${lang}`] = currentText; modeling.updateProperties(element, diObj); } eventBus.on('element.changed', onElementChanged); } Multilang.$inject = [ 'eventBus', 'modeling', 'injector' ];