Hi, while evaluating Qt 5.6 for Android / iOS and preparing blogs with recipes for BlackBery Cascades developers HowTo go with Qt 5.6 I run into a problem.
Using Cascades (qt 4.8) translation is easy: * Open Projectfile (bardescriptor.xml) * add languages and you're done. All the work under the hood: creation of .ts files and generating .qm files was done automagically. I only had to use QtLinguist, translate the strings, save, go back to Eclipse Momentics, refresh and run on device. Have expected something similar with Qt Creator and learned that there are many steps of file creation, copy files, running commands from commandline: https://blog.qt.io/blog/2014/03/19/qt-weekly-2-localizing-qt-quick-apps/ fortunately I found this article: https://wiki.qt.io/Automating_generation_of_qm_files then looked at https://qt.gitorious.org/qt-labs/weather-app?p=qt-labs:weather-app.git;a=blob_plain;f=weatherapp.pro;hb=HEAD tried to understand all what happened inside the .pro and thought that I added the important parts to a .pro file from my sample. project. Here's the .pro - the part below qml.qrc was inserted by me TEMPLATE=app QT+=qmlquick CONFIG+=c++11 SOURCES+=main.cpp #AdditionalimportpathusedtoresolveQMLmodulesinQtCreator'scodemodel QML_IMPORT_PATH= #Defaultrulesfordeployment. include(deployment.pri) RESOURCES+=qml.qrc #var,prepend,append defineReplace(prependAll){ for(a,$$1):result+=$$2$${a}$$3 return($$result) } #Supportedlanguages LANGUAGES=deen #Availabletranslations TRANSLATIONS=$$prependAll(LANGUAGES,$$PWD/translations/EkkesSampleApp_,.ts) #Usedtoembedtheqmfilesinresources TRANSLATIONS_FILES= #runLRELEASEtogeneratetheqmfiles qtPrepareTool(LRELEASE,lrelease) for(tsfile,TRANSLATIONS){ qmfile=$$shadowed($$tsfile) qmfile~=s,\\.ts$,.qm, qmdir=$$dirname(qmfile) !exists($$qmdir){ mkpath($$qmdir)|error("Aborting.") } command=$$LRELEASE-removeidentical$$tsfile-qm$$qmfile system($$command)|error("Failedtorun:$$command") TRANSLATIONS_FILES+=$$qmfile } #TRANSLATIONS-Createextratargetsforconvenience wd=$$replace(PWD,/,$$QMAKE_DIR_SEP) #LUPDATE-Makenewtargetsforeachandalllanguages qtPrepareTool(LUPDATE,lupdate) LUPDATE+=-locationsrelative-no-ui-lines TSFILES=$$files($$PWD/translations/QuickForecast_*.ts)$$PWD/translations/EkkesSampleApp_untranslated.ts for(file,TSFILES){ lang=$$replace(file,.*_([^/]*)\\.ts,\\1) v=ts-$${lang}.commands $$v=cd$$wd&&$$LUPDATE$$SOURCES$$APP_FILES-ts$$file QMAKE_EXTRA_TARGETS+=ts-$$lang } But getting an error: 12:14:37: Starting: "/usr/bin/make" /daten/_QT/5.6/android_armv7/bin/qmake -spec android-g++ CONFIG+=debug CONFIG+=qml_debug -o Makefile ../EkkesSampleApp/EkkesSampleApp.pro lrelease error: Cannot open /daten/_qt_work/EkkesSampleApp/translations/EkkesSampleApp_de.ts: No such file or directory Project ERROR: Failed to run: /daten/_QT/5.6/android_armv7/bin/lrelease -removeidentical /daten/_qt_work/EkkesSampleApp/translations/EkkesSampleApp_de.ts -qm /daten/_qt_work/build-EkkesSampleApp-Android_f_r_armeabi_v7a_GCC_4_9_Qt_5_6_0-Debug/translations/EkkesSampleApp_de.qm make: *** [Makefile] Error 3 12:14:37: The process "/usr/bin/make" exited with code 2. Error while building/deploying project EkkesSampleApp (kit: Android für armeabi-v7a (GCC 4.9, Qt 5.6.0)) When executing step "Make" Am I missing anything ? Or do I have to add something to the project ? Tried creating the folder translations inside project from OSX Finder but didn't help. Or must folders added another way from inside Qt Creator. thx helping ekke
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest