aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@digia.com>2014-09-26 13:55:14 +0200
committerTobias Hunger <tobias.hunger@digia.com>2014-09-29 12:10:50 +0200
commit3af3878ace09fedb98c495f9bda550f7aa0df39c (patch)
tree5434751dbfc28a99e95e472c01a1311331d61fc0 /share
parentf39a86f70ea453df8ead15aea19b8775a066f3c7 (diff)
JsonWizard: Make wizards translatable
Change-Id: Ia496829dd3070ef65b2cec31ecaf30955b2900c8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Diffstat (limited to 'share')
-rw-r--r--share/qtcreator/translations/jsonwizard_tr.pro36
-rw-r--r--share/qtcreator/translations/translations.pro6
2 files changed, 40 insertions, 2 deletions
diff --git a/share/qtcreator/translations/jsonwizard_tr.pro b/share/qtcreator/translations/jsonwizard_tr.pro
new file mode 100644
index 00000000000..4bc9f6da91b
--- /dev/null
+++ b/share/qtcreator/translations/jsonwizard_tr.pro
@@ -0,0 +1,36 @@
+TEMPLATE = subdirs
+
+isEmpty(JSONWIZARD_TR_H): JSONWIZARD_TR_H = $$OUT_PWD/jsonwizard_tr.h
+isEmpty(TOP_LEVEL): TOP_LEVEL = "."
+
+for(dir, $$list($$files($$TOP_LEVEL/*, true))): \
+ JSONWIZARD_FILES += $$files($$dir/wizard.json)
+
+defineReplace(findToTranslate) {
+ ROOTKEY = $$1
+ OUTPUT = ""
+ for (KEY, $${ROOTKEY}._KEYS_) {
+ SUBKEY = $${ROOTKEY}.$${KEY}
+ MATCHED = $$find(KEY, ^tr[A-Z])
+ !isEmpty(MATCHED) {
+ VALUE = $$eval($${SUBKEY})
+ OUTPUT += "QCoreApplication(\"ProjectExplorer::JsonWizard\", \"$${VALUE}\");"
+ }
+ OUTPUT += $$findToTranslate($${SUBKEY})
+ }
+ return($$OUTPUT)
+}
+
+WIZ_TRANS_FILE_CONT= \
+ "// This file is autogenerated by qmake." \
+ "$${LITERAL_HASH}include <QCoreApplication>"
+
+for (FILE, JSONWIZARD_FILES) {
+ exists($$FILE) {
+ JSON = $$cat($$FILE, blob)
+ parseJson(JSON, WIZ)
+ WIZ_TRANS_FILE_CONT += $$findToTranslate(WIZ)
+ }
+}
+
+write_file($$JSONWIZARD_TR_H, WIZ_TRANS_FILE_CONT)|error("Aborting")
diff --git a/share/qtcreator/translations/translations.pro b/share/qtcreator/translations/translations.pro
index d1fef6a40a1..8afeaf67493 100644
--- a/share/qtcreator/translations/translations.pro
+++ b/share/qtcreator/translations/translations.pro
@@ -21,6 +21,7 @@ TRANSLATIONS = $$prependAll(LANGUAGES, $$PWD/qtcreator_,.ts)
MIME_TR_H = $$OUT_PWD/mime_tr.h
CUSTOMWIZARD_TR_H = $$OUT_PWD/customwizard_tr.h
+JSONWIZARD_TR_H = $$OUT_PWD/jsonwizard_tr.h
QMLWIZARD_TR_H = $$OUT_PWD/qmlwizard_tr.h
QTQUICKWIZARD_TR_H = $$OUT_PWD/qtquickwizard_tr.h
EXTERNALTOOLS_TR_H = $$OUT_PWD/externaltools_tr.h
@@ -45,7 +46,8 @@ extract.commands += \
$$XMLPATTERNS -output $$CUSTOMWIZARD_TR_H -param files=$$CUSTOMWIZARD_FILES $$PWD/extract-customwizards.xq $$escape_expand(\\n\\t) \
$$XMLPATTERNS -output $$QMLWIZARD_TR_H -param files=$$QMLWIZARD_FILES $$PWD/extract-qmlwizards.xq $$escape_expand(\\n\\t) \
$$XMLPATTERNS -output $$QTQUICKWIZARD_TR_H -param files=$$QTQUICKWIZARD_FILES $$PWD/extract-qtquickwizards.xq $$escape_expand(\\n\\t) \
- $$XMLPATTERNS -output $$EXTERNALTOOLS_TR_H -param files=$$EXTERNALTOOLS_FILES $$PWD/extract-externaltools.xq
+ $$XMLPATTERNS -output $$EXTERNALTOOLS_TR_H -param files=$$EXTERNALTOOLS_FILES $$PWD/extract-externaltools.xq $$escape_expand(\\n\\t) \
+ $(QMAKE) -o Makefile.jsonwizard JSONWIZARD_TR_H=\"$$JSONWIZARD_TR_H\" TOP_LEVEL=\"$$IDE_SOURCE_TREE/share/qtcreator/templates/wizards\" $$PWD/jsonwizard_tr.pro
QMAKE_EXTRA_TARGETS += extract
plugin_sources = $$files($$IDE_SOURCE_TREE/src/plugins/*)
@@ -64,7 +66,7 @@ files = $$files($$PWD/*_??.ts) $$PWD/qtcreator_untranslated.ts
for(file, files) {
lang = $$replace(file, .*_([^/]*)\\.ts, \\1)
v = ts-$${lang}.commands
- $$v = cd $$wd && $$LUPDATE $$sources $$MIME_TR_H $$CUSTOMWIZARD_TR_H $$QMLWIZARD_TR_H $$QTQUICKWIZARD_TR_H $$EXTERNALTOOLS_TR_H -ts $$file
+ $$v = cd $$wd && $$LUPDATE $$sources $$MIME_TR_H $$CUSTOMWIZARD_TR_H $$JSONWIZARD_TR_H $$QMLWIZARD_TR_H $$QTQUICKWIZARD_TR_H $$EXTERNALTOOLS_TR_H -ts $$file
v = ts-$${lang}.depends
$$v = extract
QMAKE_EXTRA_TARGETS += ts-$$lang