diff --git a/assets/resources/application/cs.xml b/assets/resources/application/cs.xml
index 1d46cef65..d2f5e6fa2 100644
--- a/assets/resources/application/cs.xml
+++ b/assets/resources/application/cs.xml
@@ -626,6 +626,11 @@
+
+
+
+
+
diff --git a/assets/resources/application/de.xml b/assets/resources/application/de.xml
index ceba0d748..efccd0b3c 100644
--- a/assets/resources/application/de.xml
+++ b/assets/resources/application/de.xml
@@ -628,6 +628,11 @@
+
+
+
+
+
diff --git a/assets/resources/application/es.xml b/assets/resources/application/es.xml
index d477d2138..26d109671 100644
--- a/assets/resources/application/es.xml
+++ b/assets/resources/application/es.xml
@@ -619,6 +619,11 @@
+
+
+
+
+
diff --git a/assets/resources/application/fr.xml b/assets/resources/application/fr.xml
index 8ceb52002..972a69549 100644
--- a/assets/resources/application/fr.xml
+++ b/assets/resources/application/fr.xml
@@ -619,6 +619,11 @@
+
+
+
+
+
diff --git a/assets/resources/application/gl.xml b/assets/resources/application/gl.xml
index 5f49905b8..ec049f956 100644
--- a/assets/resources/application/gl.xml
+++ b/assets/resources/application/gl.xml
@@ -616,6 +616,11 @@
+
+
+
+
+
diff --git a/assets/resources/application/hu.xml b/assets/resources/application/hu.xml
index 6e9c182c7..1a7796982 100644
--- a/assets/resources/application/hu.xml
+++ b/assets/resources/application/hu.xml
@@ -616,6 +616,11 @@
+
+
+
+
+
diff --git a/assets/resources/application/it.xml b/assets/resources/application/it.xml
index 5b2dcf8b8..e0df6e60d 100644
--- a/assets/resources/application/it.xml
+++ b/assets/resources/application/it.xml
@@ -617,6 +617,11 @@
+
+
+
+
+
diff --git a/assets/resources/application/nb.xml b/assets/resources/application/nb.xml
index 2453dd00a..10f0c288e 100644
--- a/assets/resources/application/nb.xml
+++ b/assets/resources/application/nb.xml
@@ -626,6 +626,11 @@
+
+
+
+
+
diff --git a/assets/resources/application/nl.xml b/assets/resources/application/nl.xml
index df508ceb1..c51a831b4 100644
--- a/assets/resources/application/nl.xml
+++ b/assets/resources/application/nl.xml
@@ -616,6 +616,11 @@
+
+
+
+
+
diff --git a/assets/resources/application/pl.xml b/assets/resources/application/pl.xml
index 2e0c6fd35..21a98ad1c 100644
--- a/assets/resources/application/pl.xml
+++ b/assets/resources/application/pl.xml
@@ -616,6 +616,11 @@
+
+
+
+
+
diff --git a/assets/resources/application/pt.xml b/assets/resources/application/pt.xml
index a13404df2..1e03a1511 100644
--- a/assets/resources/application/pt.xml
+++ b/assets/resources/application/pt.xml
@@ -628,6 +628,11 @@
+
+
+
+
+
diff --git a/assets/resources/application/ro.xml b/assets/resources/application/ro.xml
index b69f4ca02..b335c4421 100644
--- a/assets/resources/application/ro.xml
+++ b/assets/resources/application/ro.xml
@@ -616,6 +616,11 @@
+
+
+
+
+
diff --git a/assets/resources/application/ru.xml b/assets/resources/application/ru.xml
index 8ca0fe911..8fe9138e1 100644
--- a/assets/resources/application/ru.xml
+++ b/assets/resources/application/ru.xml
@@ -631,6 +631,11 @@
+
+
+
+
+
diff --git a/assets/resources/application/sr.xml b/assets/resources/application/sr.xml
index 007719e75..bcbdb029b 100644
--- a/assets/resources/application/sr.xml
+++ b/assets/resources/application/sr.xml
@@ -626,6 +626,11 @@
+
+
+
+
+
diff --git a/assets/resources/application/th.xml b/assets/resources/application/th.xml
index d19e752ae..e870f4eee 100644
--- a/assets/resources/application/th.xml
+++ b/assets/resources/application/th.xml
@@ -616,6 +616,11 @@
+
+
+
+
+
diff --git a/assets/resources/application/tr.xml b/assets/resources/application/tr.xml
index 2e089ad73..9f73cc062 100644
--- a/assets/resources/application/tr.xml
+++ b/assets/resources/application/tr.xml
@@ -626,6 +626,11 @@
+
+
+
+
+
diff --git a/assets/resources/application/uk.xml b/assets/resources/application/uk.xml
index bb51d7987..92f3dfb0b 100644
--- a/assets/resources/application/uk.xml
+++ b/assets/resources/application/uk.xml
@@ -616,6 +616,11 @@
+
+
+
+
+
diff --git a/assets/resources/application/vi.xml b/assets/resources/application/vi.xml
index b8e9c5824..62e8678d9 100644
--- a/assets/resources/application/vi.xml
+++ b/assets/resources/application/vi.xml
@@ -616,6 +616,11 @@
+
+
+
+
+
diff --git a/assets/resources/application/zh.xml b/assets/resources/application/zh.xml
index 2cf32a9d2..1defb3e17 100644
--- a/assets/resources/application/zh.xml
+++ b/assets/resources/application/zh.xml
@@ -616,6 +616,11 @@
+
+
+
+
+
diff --git a/assets/resources/application/zh_TW.xml b/assets/resources/application/zh_TW.xml
index 3a2bdee37..eb8ae1a99 100644
--- a/assets/resources/application/zh_TW.xml
+++ b/assets/resources/application/zh_TW.xml
@@ -621,6 +621,11 @@
+
+
+
+
+
diff --git a/assets/resources/zlibrary/it.xml b/assets/resources/zlibrary/it.xml
index 9c81334e8..f6e3154e5 100644
--- a/assets/resources/zlibrary/it.xml
+++ b/assets/resources/zlibrary/it.xml
@@ -50,7 +50,7 @@
-
+
diff --git a/assets/resources/zlibrary/vi.xml b/assets/resources/zlibrary/vi.xml
index be026459f..acded001c 100644
--- a/assets/resources/zlibrary/vi.xml
+++ b/assets/resources/zlibrary/vi.xml
@@ -50,7 +50,7 @@
-
+
diff --git a/scripts/resources/repair.py b/scripts/resources/repair.py
new file mode 100755
index 000000000..313ef7309
--- /dev/null
+++ b/scripts/resources/repair.py
@@ -0,0 +1,36 @@
+#!/usr/bin/python
+
+import sys
+from xml.dom import minidom
+
+def processNodes(base, custom):
+ customChild = custom.firstChild
+ for baseChild in base.childNodes:
+ if baseChild.nodeType != minidom.Node.ELEMENT_NODE:
+ continue
+ while customChild is not None and customChild.nodeType != minidom.Node.ELEMENT_NODE:
+ customChild = customChild.nextSibling
+ if baseChild.nodeName == 'node':
+ name = baseChild.getAttribute('name')
+ if name == '':
+ continue
+ if customChild is None or name != customChild.getAttribute('name'):
+ newNode = custom.ownerDocument.createElement('node')
+ newNode.setAttribute('name', name);
+ value = baseChild.getAttribute('value')
+ if value != '':
+ newNode.setAttribute('value', value);
+ newNode.setAttribute('toBeTranslated', 'true');
+ customChild = custom.insertBefore(newNode, customChild)
+ processNodes(baseChild, customChild)
+ customChild = customChild.nextSibling
+
+if len(sys.argv) != 3:
+ print 'Usage: %s ' % sys.argv[0]
+ exit(1)
+
+base_model = minidom.parse(sys.argv[1])
+custom_model = minidom.parse(sys.argv[2])
+
+processNodes(base_model, custom_model)
+print custom_model.toxml('UTF-8')
diff --git a/scripts/resources/synchronize.sh b/scripts/resources/synchronize.sh
new file mode 100755
index 000000000..b161af530
--- /dev/null
+++ b/scripts/resources/synchronize.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+doRepair() {
+ ./repair.py $1 $2 | xmllint --format - | sed 's/\(toBeTranslated="true"\) \(value=".*"\)\(.*\)$/\2 \1\3/'
+}
+
+if [ "$1" == "" ]; then
+ part=application
+else
+ part=$1
+fi
+
+sed "s/
/#XXX;/g" ../../assets/resources/$part/en.xml > en.tra
+
+for file in ../../assets/resources/$part/*.xml; do
+ shortname=`basename $file .xml`
+ if [ $shortname != en ]; then
+ sed "s/
/#XXX;/g" $file > $shortname.tra
+ doRepair en.tra $shortname.tra | sed "s/#XXX;/\
/g" > $file
+ fi
+done
+
+rm *.tra