summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorasanoaozora <fifitaneki@hotmail.com>2017-09-14 11:32:16 +0200
committerasanoaozora <fifitaneki@hotmail.com>2017-09-14 11:32:16 +0200
commita51abb7f953e18b947a673bc104db4c80c71547e (patch)
tree7e9ee9b592afeac1c7b0864d34e83ff7e6465d04
parentc0e4ab748333079d5443ca0d4a41a977130d5052 (diff)
downloadnavigation-a51abb7f953e18b947a673bc104db4c80c71547e.tar.gz
manage the languages with Qt tools, tested for english and japanese
-rwxr-xr-xsrc/build.sh11
-rw-r--r--src/hmi/config/fsa_seoul.conf22
-rw-r--r--src/hmi/gimp/gdp-theme/800x480/NavigationAppSettings.xcfbin236815 -> 244848 bytes
-rw-r--r--src/hmi/hmi-launcher/CMakeLists.txt40
-rw-r--r--src/hmi/hmi-launcher/main.cpp4
-rw-r--r--src/hmi/hmi-launcher/translator.h70
-rw-r--r--src/hmi/qml/Core/NavigationAppEntryField.qml2
-rw-r--r--src/hmi/qml/Core/genivi-capi.js4
-rw-r--r--src/hmi/qml/Core/genivi-origin.js4
-rw-r--r--src/hmi/qml/NavigationApp.qml13
-rw-r--r--src/hmi/qml/NavigationAppBrowseMap.qml16
-rw-r--r--src/hmi/qml/NavigationAppMain.qml12
-rw-r--r--src/hmi/qml/NavigationAppMap.qml2
-rw-r--r--src/hmi/qml/NavigationAppPOI.qml4
-rw-r--r--src/hmi/qml/NavigationAppSearch.qml38
-rw-r--r--src/hmi/qml/NavigationAppSettings.qml37
-rw-r--r--src/hmi/qml/NavigationAppTripComputer.qml16
-rw-r--r--src/hmi/translations/deu_DEU.js100
-rw-r--r--src/hmi/translations/deu_DEU_Latn.ts300
-rw-r--r--src/hmi/translations/eng_USA.js100
-rw-r--r--src/hmi/translations/eng_USA_Latn.ts301
-rw-r--r--src/hmi/translations/fra_FRA.js100
-rw-r--r--src/hmi/translations/fra_FRA_Latn.ts300
-rw-r--r--src/hmi/translations/jpn_JPN.js99
-rw-r--r--src/hmi/translations/jpn_JPN_Hrkt.ts301
-rw-r--r--src/hmi/translations/kor_KOR_Hang.ts300
-rw-r--r--src/hmi/translations/translating-qml.pro12
-rwxr-xr-xsrc/run6
-rwxr-xr-xsrc/update_third_party.sh2
-rwxr-xr-xsrc/update_translation.sh8
30 files changed, 1754 insertions, 470 deletions
diff --git a/src/build.sh b/src/build.sh
index a22d18f..4ec8739 100755
--- a/src/build.sh
+++ b/src/build.sh
@@ -128,6 +128,11 @@ then
rm -f ./build/CMakeCache.txt
rm -f ./build/cmake_install.cmake
rm -f ./build/Makefile
+ rm -f ./build/hmi/cmake_install.cmake
+ rm -f ./build/hmi/Makefile
+ rm -f ./build/hmi/hmi-launcher/cmake_install.cmake
+ rm -f ./build/hmi/hmi-launcher/Makefile
+ rm -rf ./build/hmi/hmi-launcher/moc
fi
fi
@@ -161,9 +166,9 @@ echo 'build fsa'
if [ "$clean" = 1 ]
then
cmake -DWITH_DLT=$dlt_option $commonapi_tools_option -DWITH_DEBUG=$debug -DWITH_STYLESHEET=$theme_option -DWITH_VEHICLE_GATEWAY=$gateway -DWITH_HTML_MIGRATION=$html ../
- echo 'replace a missing font in the configuration file of navit instances'
- sed -i -e 's/Liberation Sans/TakaoPGothic/' ./navigation/navit/navit/navit_genivi_mapviewer.xml
- sed -i -e 's/Liberation Sans/TakaoPGothic/' ./navigation/navit/navit/navit_genivi_navigationcore.xml
+ echo 'Allow to display Korean and Japanese by replacing a font in the configuration file of navit instances'
+ sed -i -e 's/Liberation Sans/NanumGothic/' ./navigation/navit/navit/navit_genivi_mapviewer.xml
+ sed -i -e 's/Liberation Sans/NanumGothic/' ./navigation/navit/navit/navit_genivi_navigationcore.xml
fi
make
cd ../
diff --git a/src/hmi/config/fsa_seoul.conf b/src/hmi/config/fsa_seoul.conf
new file mode 100644
index 0000000..71996d1
--- /dev/null
+++ b/src/hmi/config/fsa_seoul.conf
@@ -0,0 +1,22 @@
+[Locale]
+language=kor
+country=KOR
+script=Hang
+[DefaultPosition]
+latitude=37.538835
+longitude=126.993809
+altitude=19
+[DefaultAddress]
+country="Korea, Republic of"
+city=용산구
+street=서울특별시
+number=791-1
+[Settings]
+simulationMode=true
+showroom=true
+autoguidance=false
+radius=5000
+maxResultListSize=10
+defaultCategoryName=fuel
+[Log]
+verbose=true
diff --git a/src/hmi/gimp/gdp-theme/800x480/NavigationAppSettings.xcf b/src/hmi/gimp/gdp-theme/800x480/NavigationAppSettings.xcf
index a24cef1..5793f00 100644
--- a/src/hmi/gimp/gdp-theme/800x480/NavigationAppSettings.xcf
+++ b/src/hmi/gimp/gdp-theme/800x480/NavigationAppSettings.xcf
Binary files differ
diff --git a/src/hmi/hmi-launcher/CMakeLists.txt b/src/hmi/hmi-launcher/CMakeLists.txt
index 202ab1e..38a7e46 100644
--- a/src/hmi/hmi-launcher/CMakeLists.txt
+++ b/src/hmi/hmi-launcher/CMakeLists.txt
@@ -27,6 +27,9 @@ add_definitions("-fPIC")
message(STATUS "hmi-launcher")
find_program(XSLTPROC xsltproc REQUIRED)
+find_program(QTMOC moc REQUIRED)
+find_program(QTLRELEASE lrelease REQUIRED)
+find_program(QTLUPDATE lupdate REQUIRED)
find_package(PkgConfig REQUIRED)
@@ -64,12 +67,13 @@ set(CMAKE_AUTOMOC ON)
add_definitions(${QT5_CORE_DEFINITIONS})
add_definitions(-DQT_PLUGIN)
add_definitions(-DQT_NO_DEBUG)
-if(QT_MOC)
- set(qt_moc ${QT_MOC} -o)
-else()
- set(qt_moc moc -o)
-endif()
+
+set(qt_moc ${QTMOC} -o)
+set(qt_release ${QTLRELEASE})
+set(qt_update ${QTLUPDATE})
+
set(MOC moc)
+
set(MOC_DIR ${CMAKE_CURRENT_BINARY_DIR}/${MOC})
link_directories(
@@ -122,6 +126,31 @@ set(CONSTANTS_PATH ${CMAKE_CURRENT_BINARY_DIR})
set(ICON_PATH ${NAVIT_PNG_BIN_DIR})
configure_file(${FILE_RESOURCE_IN} ${FILE_RESOURCE_OUT} @ONLY)
+#generate or update ts files
+execute_process(
+ COMMAND ${qt_update} ${CMAKE_CURRENT_SOURCE_DIR}/../translations/translating-qml.pro
+)
+
+#generate qm files
+file (GLOB TS_TO_RELEASE
+ ${CMAKE_CURRENT_SOURCE_DIR}/../translations/*.ts
+)
+
+foreach(RAW_FILE ${TS_TO_RELEASE})
+ get_filename_component(FILE ${RAW_FILE} NAME_WE)
+ if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.qm)
+ execute_process(
+ COMMAND ${qt_release} ${RAW_FILE} -qm ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.qm
+ )
+ else()
+ if(${RAW_FILE} IS_NEWER_THAN ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.qm)
+ execute_process(
+ COMMAND ${qt_release} ${RAW_FILE} -qm ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.qm
+ )
+ endif()
+ endif()
+endforeach()
+
# for some reason, automoc doesn't run, so moc is made manually
set (SRC_TO_MOC
${CMAKE_CURRENT_SOURCE_DIR}/dbusif.h
@@ -131,6 +160,7 @@ set (SRC_TO_MOC
${CMAKE_CURRENT_SOURCE_DIR}/wheelareaplugin.h
${CMAKE_CURRENT_SOURCE_DIR}/preference.h
${CMAKE_CURRENT_SOURCE_DIR}/settings.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/translator.h
)
execute_process(
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
diff --git a/src/hmi/hmi-launcher/main.cpp b/src/hmi/hmi-launcher/main.cpp
index 38dadf9..e94643b 100644
--- a/src/hmi/hmi-launcher/main.cpp
+++ b/src/hmi/hmi-launcher/main.cpp
@@ -40,6 +40,7 @@
#include "wheelarea.h"
#include "preference.h"
#include "settings.h"
+#include "translator.h"
int main(int argc, char ** argv)
{
@@ -59,10 +60,13 @@ int main(int argc, char ** argv)
Settings* settings=new Settings;
settings->setIniCodec("UTF-8");
+ Translator* translator=new Translator();
+
int rc = 0;
QQmlEngine engine;
engine.rootContext()->setContextProperty("Settings",settings);
+ engine.rootContext()->setContextProperty("Translator",translator);
QQmlComponent *component = new QQmlComponent(&engine);
diff --git a/src/hmi/hmi-launcher/translator.h b/src/hmi/hmi-launcher/translator.h
new file mode 100644
index 0000000..b445c79
--- /dev/null
+++ b/src/hmi/hmi-launcher/translator.h
@@ -0,0 +1,70 @@
+/**
+* @licence app begin@
+* SPDX-License-Identifier: MPL-2.0
+*
+* \copyright Copyright (C) 2017, PSA Group
+*
+* \file translator.h
+*
+* \brief This file is part of the FSA HMI.
+*
+* \author Philippe Colliot <philippe.colliot@mpsa.com>
+*
+* \version 1.0
+*
+* This Source Code Form is subject to the terms of the
+* Mozilla Public License (MPL), v. 2.0.
+* If a copy of the MPL was not distributed with this file,
+* You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* For further information see http://www.genivi.org/.
+*
+* List of changes:
+*
+* <date>, <name>, <description of change>
+*
+* @licence end@
+*/
+#ifndef INCLUDE_TRANSLATOR
+#define INCLUDE_TRANSLATOR
+
+#include <QApplication>
+#include <QObject>
+#include <QTranslator>
+#include <QDebug>
+#include <QDir>
+#include <QGuiApplication>
+
+class Translator : public QObject
+{
+ Q_OBJECT
+
+public:
+ explicit Translator(QObject *parent = 0) : QObject(parent) {}
+
+signals:
+ void languageChanged(QString);
+
+public:
+ Q_INVOKABLE inline void setTranslation(const QString translation) {
+ QDir dir = QDir(qApp->applicationDirPath()).absolutePath();
+ if(!mp_translator.load(translation, dir.path()))
+ {
+ qDebug() << "Failed to load translation file";
+ }else{
+ qApp->installTranslator(&mp_translator);
+ m_translation=translation;
+ emit languageChanged(translation);
+ }
+ }
+ Q_INVOKABLE inline QString getCurrentTranslation() const {return m_translation; }
+ Q_INVOKABLE inline QString getEmptyString() const {return QString();}
+
+private:
+ QTranslator mp_translator;
+ QString m_translation;
+};
+
+Q_DECLARE_METATYPE(Translator*)
+
+#endif
diff --git a/src/hmi/qml/Core/NavigationAppEntryField.qml b/src/hmi/qml/Core/NavigationAppEntryField.qml
index 0f0f7fd..e299132 100644
--- a/src/hmi/qml/Core/NavigationAppEntryField.qml
+++ b/src/hmi/qml/Core/NavigationAppEntryField.qml
@@ -74,7 +74,7 @@ Column {
id:input; width: parent.width*3/4; height: parent.height; color: 'white'; font.pixelSize: parent.height*0.75
onMclicked: { callEntry(); }
text: Genivi.data[globaldata]?Genivi.data[globaldata]:""
- wrapMode: Text.WordWrap
+ //wrapMode: Text.WordWrap
clip: true
MouseArea {
anchors.fill: parent
diff --git a/src/hmi/qml/Core/genivi-capi.js b/src/hmi/qml/Core/genivi-capi.js
index 546f5e3..2debbd0 100644
--- a/src/hmi/qml/Core/genivi-capi.js
+++ b/src/hmi/qml/Core/genivi-capi.js
@@ -372,8 +372,6 @@ function setlang(language,country,script)
g_language=language;
g_country=country;
g_script=script;
- translations = new Array;
- Qt.include("../../translations/"+g_language + "_" + g_country+".js");
if(g_language==="eng"){
keyboardLayout=englishLayout;
allKeys=englishAllKeys;
@@ -417,6 +415,8 @@ function setlang(language,country,script)
//default
keyboardLayout=germanLayout;
allKeys=germanAllKeys;
+ kbdFirstLayout="ABC";
+ kbdSecondLayout="123";
kbdColumns=8; //number of rows per line
kbdColumnRatio=4; //size of row spacing (ratio)
kbdLines=4; //number of lines
diff --git a/src/hmi/qml/Core/genivi-origin.js b/src/hmi/qml/Core/genivi-origin.js
index 34ac1a2..59650f0 100644
--- a/src/hmi/qml/Core/genivi-origin.js
+++ b/src/hmi/qml/Core/genivi-origin.js
@@ -372,8 +372,6 @@ function setlang(language,country,script)
g_language=language;
g_country=country;
g_script=script;
- translations = new Array;
- Qt.include("../../translations/"+g_language + "_" + g_country+".js");
if(g_language==="eng"){
keyboardLayout=englishLayout;
allKeys=englishAllKeys;
@@ -417,6 +415,8 @@ function setlang(language,country,script)
//default
keyboardLayout=germanLayout;
allKeys=germanAllKeys;
+ kbdFirstLayout="ABC";
+ kbdSecondLayout="123";
kbdColumns=8; //number of rows per line
kbdColumnRatio=4; //size of row spacing (ratio)
kbdLines=4; //number of lines
diff --git a/src/hmi/qml/NavigationApp.qml b/src/hmi/qml/NavigationApp.qml
index 4ed7d34..8980d23 100644
--- a/src/hmi/qml/NavigationApp.qml
+++ b/src/hmi/qml/NavigationApp.qml
@@ -44,6 +44,7 @@ ApplicationWindow {
width: StyleSheetMap.menu[Constants.WIDTH];
height: StyleSheetMap.menu[Constants.HEIGHT];
property Item component;
+
function load(page)
{
if (component) {
@@ -79,6 +80,14 @@ ApplicationWindow {
mode: 0
}
+ Connections {
+ target: Translator
+ onLanguageChanged: {
+ var translation = Translator.getCurrentTranslation();
+ Genivi.hookMessage(dltIf,"Language updated",translation);
+ }
+ }
+
Component.onCompleted: {
//init persistent data
@@ -138,6 +147,10 @@ ApplicationWindow {
var res3=Genivi.navigationcore_session_CreateSession(dbusIf,dltIf);
Genivi.g_nav_session_handle[1]=res3[3];
+ // load the translation file
+ var fileName=Genivi.g_language+ "_"+Genivi.g_country+ "_"+Genivi.g_script;
+ Translator.setTranslation(fileName);
+
//launch the HMI
Genivi.hookMessage(dltIf,"Menu level",Genivi.entrybackheapsize);
load("NavigationAppBrowseMap");
diff --git a/src/hmi/qml/NavigationAppBrowseMap.qml b/src/hmi/qml/NavigationAppBrowseMap.qml
index 787b5d4..2c2c253 100644
--- a/src/hmi/qml/NavigationAppBrowseMap.qml
+++ b/src/hmi/qml/NavigationAppBrowseMap.qml
@@ -86,7 +86,7 @@ NavigationAppHMIMenu {
{
Genivi.hookSignal(dltIf,"routeCalculationFailed");
statusValue.visible=true;
- statusValue.text=Genivi.gettext("CalculatedRouteFailed");
+ statusValue.text=Translator.getEmptyString()+qsTr("CalculatedRouteFailed");
Genivi.setRouteCalculated(dltIf,false);
// Tell the FSA that there's no route available
Genivi.fuelstopadvisor_ReleaseRouteHandle(dbusIf,dltIf,Genivi.g_routing_handle);
@@ -97,7 +97,7 @@ NavigationAppHMIMenu {
{
Genivi.hookSignal(dltIf,"routeCalculationProgressUpdate");
statusValue.visible=true;
- statusValue.text=Genivi.gettext("CalculatedRouteInProgress");
+ statusValue.text=Translator.getEmptyString()+qsTr("CalculatedRouteInProgress");
Genivi.setRouteCalculated(dltIf,false);
}
@@ -1015,7 +1015,7 @@ NavigationAppHMIMenu {
StdButton {
source:StyleSheetBrowseMapBottom.menub[Constants.SOURCE]; x:StyleSheetBrowseMapBottom.menub[Constants.X]; y:StyleSheetBrowseMapBottom.menub[Constants.Y]; width:StyleSheetBrowseMapBottom.menub[Constants.WIDTH]; height:StyleSheetBrowseMapBottom.menub[Constants.HEIGHT];textColor:StyleSheetBrowseMapBottom.menubText[Constants.TEXTCOLOR]; pixelSize:StyleSheetBrowseMapBottom.menubText[Constants.PIXELSIZE];
- id:menub; text:Genivi.gettext("Back");
+ id:menub; text:Translator.getEmptyString()+qsTr("Back");
onClicked: {
disconnectSignals();
if (Genivi.entrybackheapsize){
@@ -1285,7 +1285,7 @@ NavigationAppHMIMenu {
id:tiltText;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("CameraTilt")
+ text: Translator.getEmptyString()+qsTr("CameraTilt")
}
StdButton {
source:StyleSheetBrowseMapScroll.tiltp[Constants.SOURCE]; x:StyleSheetBrowseMapScroll.tiltp[Constants.X]; y:StyleSheetBrowseMapScroll.tiltp[Constants.Y]; width:StyleSheetBrowseMapScroll.tiltp[Constants.WIDTH]; height:StyleSheetBrowseMapScroll.tiltp[Constants.HEIGHT];
@@ -1305,7 +1305,7 @@ NavigationAppHMIMenu {
id:heightText;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("CameraHeight")
+ text: Translator.getEmptyString()+qsTr("CameraHeight")
}
StdButton {
source:StyleSheetBrowseMapScroll.heightp[Constants.SOURCE]; x:StyleSheetBrowseMapScroll.heightp[Constants.X]; y:StyleSheetBrowseMapScroll.heightp[Constants.Y]; width:StyleSheetBrowseMapScroll.heightp[Constants.WIDTH]; height:StyleSheetBrowseMapScroll.heightp[Constants.HEIGHT];
@@ -1325,7 +1325,7 @@ NavigationAppHMIMenu {
id:distanceText;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("CameraDistance")
+ text: Translator.getEmptyString()+qsTr("CameraDistance")
}
StdButton {
source:StyleSheetBrowseMapScroll.distancep[Constants.SOURCE]; x:StyleSheetBrowseMapScroll.distancep[Constants.X]; y:StyleSheetBrowseMapScroll.distancep[Constants.Y]; width:StyleSheetBrowseMapScroll.distancep[Constants.WIDTH]; height:StyleSheetBrowseMapScroll.distancep[Constants.HEIGHT];
@@ -1626,7 +1626,7 @@ NavigationAppHMIMenu {
StdButton {
source:StyleSheetBrowseMapSettings.restart[Constants.SOURCE]; x:StyleSheetBrowseMapSettings.restart[Constants.X]; y:StyleSheetBrowseMapSettings.restart[Constants.Y]; width:StyleSheetBrowseMapSettings.restart[Constants.WIDTH]; height:StyleSheetBrowseMapSettings.restart[Constants.HEIGHT];textColor:StyleSheetBrowseMapSettings.restartText[Constants.TEXTCOLOR]; pixelSize:StyleSheetBrowseMapSettings.restartText[Constants.PIXELSIZE];
id:restartGuidance;
- text: Genivi.gettext("Restart")
+ text: Translator.getEmptyString()+qsTr("Restart")
disabled: (Genivi.guidance_activated || !Genivi.route_calculated);
onPressed: {
//restart guidance (the route is displayed when the menu is reloaded due to guidance status changed)
@@ -1636,7 +1636,7 @@ NavigationAppHMIMenu {
StdButton {
source:StyleSheetBrowseMapSettings.cancel[Constants.SOURCE]; x:StyleSheetBrowseMapSettings.cancel[Constants.X]; y:StyleSheetBrowseMapSettings.cancel[Constants.Y]; width:StyleSheetBrowseMapSettings.cancel[Constants.WIDTH]; height:StyleSheetBrowseMapSettings.cancel[Constants.HEIGHT];textColor:StyleSheetBrowseMapSettings.cancelText[Constants.TEXTCOLOR]; pixelSize:StyleSheetBrowseMapSettings.cancelText[Constants.PIXELSIZE];
id:cancel;
- text: Genivi.gettext("Cancel")
+ text: Translator.getEmptyString()+qsTr("Cancel")
disabled: !(Genivi.guidance_activated);
onPressed: {
//stop guidance
diff --git a/src/hmi/qml/NavigationAppMain.qml b/src/hmi/qml/NavigationAppMain.qml
index 25bd573..f194ba0 100644
--- a/src/hmi/qml/NavigationAppMain.qml
+++ b/src/hmi/qml/NavigationAppMain.qml
@@ -104,7 +104,7 @@ NavigationAppHMIMenu {
id:navigationText;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("Navigation")
+ text: Translator.getEmptyString()+qsTr("Navigation");
}
StdButton {
source:StyleSheet.select_navigation[Constants.SOURCE]; x:StyleSheet.select_navigation[Constants.X]; y:StyleSheet.select_navigation[Constants.Y]; width:StyleSheet.select_navigation[Constants.WIDTH]; height:StyleSheet.select_navigation[Constants.HEIGHT];
@@ -121,7 +121,7 @@ NavigationAppHMIMenu {
id:poiText;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("Poi")
+ text: Translator.getEmptyString()+qsTr("Poi")
}
StdButton {
source:StyleSheet.select_poi[Constants.SOURCE]; x:StyleSheet.select_poi[Constants.X]; y:StyleSheet.select_poi[Constants.Y]; width:StyleSheet.select_poi[Constants.WIDTH]; height:StyleSheet.select_poi[Constants.HEIGHT];
@@ -137,7 +137,7 @@ NavigationAppHMIMenu {
id:mapviewText;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("Mapview")
+ text: Translator.getEmptyString()+qsTr("Mapview")
}
StdButton {
source:StyleSheet.select_mapview[Constants.SOURCE]; x:StyleSheet.select_mapview[Constants.X]; y:StyleSheet.select_mapview[Constants.Y]; width:StyleSheet.select_mapview[Constants.WIDTH]; height:StyleSheet.select_mapview[Constants.HEIGHT];
@@ -155,7 +155,7 @@ NavigationAppHMIMenu {
id:tripText;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("Trip")
+ text: Translator.getEmptyString()+qsTr("Trip")
}
StdButton {
source:StyleSheet.select_trip[Constants.SOURCE]; x:StyleSheet.select_trip[Constants.X]; y:StyleSheet.select_trip[Constants.Y]; width:StyleSheet.select_trip[Constants.WIDTH]; height:StyleSheet.select_trip[Constants.HEIGHT];
@@ -170,7 +170,7 @@ NavigationAppHMIMenu {
id:settingsText;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("Configuration")
+ text: Translator.getEmptyString()+qsTr("Configuration")
}
StdButton {
source:StyleSheet.select_settings[Constants.SOURCE]; x:StyleSheet.select_settings[Constants.X]; y:StyleSheet.select_settings[Constants.Y]; width:StyleSheet.select_settings[Constants.WIDTH]; height:StyleSheet.select_settings[Constants.HEIGHT];
@@ -183,7 +183,7 @@ NavigationAppHMIMenu {
StdButton {
source:StyleSheet.quit[Constants.SOURCE]; x:StyleSheet.quit[Constants.X]; y:StyleSheet.quit[Constants.Y]; width:StyleSheet.quit[Constants.WIDTH]; height:StyleSheet.quit[Constants.HEIGHT];textColor:StyleSheet.quitText[Constants.TEXTCOLOR]; pixelSize:StyleSheet.quitText[Constants.PIXELSIZE];
- id:quit; text: Genivi.gettext("Quit");
+ id:quit; text: Translator.getEmptyString()+qsTr("Quit");
onClicked:{
disconnectSignals();
Qt.quit(); //for the time being quit
diff --git a/src/hmi/qml/NavigationAppMap.qml b/src/hmi/qml/NavigationAppMap.qml
index 5badfe3..bef0d6e 100644
--- a/src/hmi/qml/NavigationAppMap.qml
+++ b/src/hmi/qml/NavigationAppMap.qml
@@ -68,7 +68,7 @@ NavigationAppHMIMenu {
StdButton {
source:StyleSheet.back[Constants.SOURCE]; x:StyleSheet.back[Constants.X]; y:StyleSheet.back[Constants.Y]; width:StyleSheet.back[Constants.WIDTH]; height:StyleSheet.back[Constants.HEIGHT];textColor:StyleSheet.backText[Constants.TEXTCOLOR]; pixelSize:StyleSheet.backText[Constants.PIXELSIZE];
- id:back; text: Genivi.gettext("Back"); disabled:false;
+ id:back; text: Translator.getEmptyString()+qsTr("Back"); disabled:false;
onClicked:{
disconnectSignals();
leaveMenu(dltIf);
diff --git a/src/hmi/qml/NavigationAppPOI.qml b/src/hmi/qml/NavigationAppPOI.qml
index a63cbca..dd6761c 100644
--- a/src/hmi/qml/NavigationAppPOI.qml
+++ b/src/hmi/qml/NavigationAppPOI.qml
@@ -325,7 +325,7 @@ NavigationAppHMIMenu {
visible: false
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("Selected")
+ text: Translator.getEmptyString()+qsTr("Selected")
}
Text {
x:StyleSheet.selectedValue[Constants.X]; y:StyleSheet.selectedValue[Constants.Y]; width:StyleSheet.selectedValue[Constants.WIDTH]; height:StyleSheet.selectedValue[Constants.HEIGHT];color:StyleSheet.selectedValue[Constants.TEXTCOLOR];styleColor:StyleSheet.selectedValue[Constants.STYLECOLOR]; font.pixelSize:StyleSheet.selectedValue[Constants.PIXELSIZE];
@@ -464,7 +464,7 @@ NavigationAppHMIMenu {
StdButton {
source:StyleSheet.back[Constants.SOURCE]; x:StyleSheet.back[Constants.X]; y:StyleSheet.back[Constants.Y]; width:StyleSheet.back[Constants.WIDTH]; height:StyleSheet.back[Constants.HEIGHT];textColor:StyleSheet.backText[Constants.TEXTCOLOR]; pixelSize:StyleSheet.backText[Constants.PIXELSIZE];
id:back;
- text: Genivi.gettext("Back");
+ text: Translator.getEmptyString()+qsTr("Back");
onClicked: {
disconnectSignals();
rootMenu(dltIf,"NavigationAppBrowseMap");
diff --git a/src/hmi/qml/NavigationAppSearch.qml b/src/hmi/qml/NavigationAppSearch.qml
index 9bb2458..fb8f82b 100644
--- a/src/hmi/qml/NavigationAppSearch.qml
+++ b/src/hmi/qml/NavigationAppSearch.qml
@@ -341,7 +341,7 @@ NavigationAppHMIMenu {
{
Genivi.hookSignal(dltIf,"routeCalculationFailed");
- statusValue.text=Genivi.gettext("CalculatedRouteFailed");
+ statusValue.text=Translator.getEmptyString()+qsTr("CalculatedRouteFailed");
Genivi.setRouteCalculated(dltIf,false);
// Tell the FSA that there's no route available
Genivi.fuelstopadvisor_ReleaseRouteHandle(dbusIf,dltIf,Genivi.g_routing_handle);
@@ -351,7 +351,7 @@ NavigationAppHMIMenu {
function routeCalculationProgressUpdate(args)
{
Genivi.hookSignal(dltIf,"routeCalculationProgressUpdate");
- statusValue.text=Genivi.gettext("CalculatedRouteInProgress");
+ statusValue.text=Translator.getEmptyString()+qsTr("CalculatedRouteInProgress");
Genivi.setRouteCalculated(dltIf,false);
}
@@ -725,7 +725,7 @@ NavigationAppHMIMenu {
//------------------------------------------//
function getRouteOverview()
{
- statusValue.text=Genivi.gettext("CalculatedRouteSuccess");
+ statusValue.text=Translator.getEmptyString()+qsTr("CalculatedRouteSuccess");
var res=Genivi.routing_GetRouteOverviewTimeAndDistance(dbusIf,dltIf);
@@ -866,7 +866,7 @@ NavigationAppHMIMenu {
style: Text.Sunken;
smooth: true;
id: elementTitle
- text: Genivi.gettext("Element");
+ text: Translator.getEmptyString()+qsTr("Element");
}
SmartText {
x:StyleSheet.elementName[Constants.X]; y:StyleSheet.elementName[Constants.Y]; width:StyleSheet.elementName[Constants.WIDTH]; height:StyleSheet.elementName[Constants.HEIGHT];color:StyleSheet.elementName[Constants.TEXTCOLOR];styleColor:StyleSheet.elementName[Constants.STYLECOLOR]; font.pixelSize:StyleSheet.elementName[Constants.PIXELSIZE];
@@ -889,7 +889,7 @@ NavigationAppHMIMenu {
style: Text.Sunken;
smooth: true;
id: countryTitle
- text: Genivi.gettext("Country");
+ text: Translator.getEmptyString()+qsTr("Country");
}
StdButton {
source:StyleSheet.countryKeyboard[Constants.SOURCE]; x:StyleSheet.countryKeyboard[Constants.X]; y:StyleSheet.countryKeyboard[Constants.Y]; width:StyleSheet.countryKeyboard[Constants.WIDTH]; height:StyleSheet.countryKeyboard[Constants.HEIGHT];
@@ -907,7 +907,7 @@ NavigationAppHMIMenu {
}
NavigationAppEntryField {
x:StyleSheet.countryValue[Constants.X]; y:StyleSheet.countryValue[Constants.Y]; width: StyleSheet.countryValue[Constants.WIDTH]; height: StyleSheet.countryValue[Constants.HEIGHT];
- id: countryValue
+ id: countryValue
criterion: Genivi.NAVIGATIONCORE_COUNTRY
globaldata: 'countryValue'
textfocus: true
@@ -918,7 +918,7 @@ NavigationAppHMIMenu {
style: Text.Sunken;
smooth: true;
id:cityTitle
- text: Genivi.gettext("City");
+ text: Translator.getEmptyString()+qsTr("City");
}
StdButton {
source:StyleSheet.cityKeyboard[Constants.SOURCE]; x:StyleSheet.cityKeyboard[Constants.X]; y:StyleSheet.cityKeyboard[Constants.Y]; width:StyleSheet.cityKeyboard[Constants.WIDTH]; height:StyleSheet.cityKeyboard[Constants.HEIGHT];
@@ -947,7 +947,7 @@ NavigationAppHMIMenu {
style: Text.Sunken;
smooth: true;
id:streetTitle
- text: Genivi.gettext("Street");
+ text: Translator.getEmptyString()+qsTr("Street");
}
StdButton {
source:StyleSheet.streetKeyboard[Constants.SOURCE]; x:StyleSheet.streetKeyboard[Constants.X]; y:StyleSheet.streetKeyboard[Constants.Y]; width:StyleSheet.streetKeyboard[Constants.WIDTH]; height:StyleSheet.streetKeyboard[Constants.HEIGHT];
@@ -973,7 +973,7 @@ NavigationAppHMIMenu {
style: Text.Sunken;
smooth: true;
id:numberTitle
- text: Genivi.gettext("Number");
+ text: Translator.getEmptyString()+qsTr("Number");
}
StdButton {
source:StyleSheet.numberKeyboard[Constants.SOURCE]; x:StyleSheet.numberKeyboard[Constants.X]; y:StyleSheet.numberKeyboard[Constants.Y]; width:StyleSheet.numberKeyboard[Constants.WIDTH]; height:StyleSheet.numberKeyboard[Constants.HEIGHT];
@@ -999,7 +999,7 @@ NavigationAppHMIMenu {
id:guidanceTitle;
style: Text.Sunken;
smooth: true;
- text: Genivi.gettext("Guidance");
+ text: Translator.getEmptyString()+qsTr("Guidance");
visible: false;
}
Text {
@@ -1007,7 +1007,7 @@ NavigationAppHMIMenu {
id:displayRouteTitle;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("DisplayRoute")
+ text: Translator.getEmptyString()+qsTr("DisplayRoute")
visible: false;
}
Text {
@@ -1015,7 +1015,7 @@ NavigationAppHMIMenu {
id:distanceTitle;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("RouteDistance")
+ text: Translator.getEmptyString()+qsTr("RouteDistance")
visible: false;
}
SmartText {
@@ -1029,7 +1029,7 @@ NavigationAppHMIMenu {
id:timeTitle;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("RouteTime")
+ text: Translator.getEmptyString()+qsTr("RouteTime")
visible: false;
}
SmartText {
@@ -1043,7 +1043,7 @@ NavigationAppHMIMenu {
id:arrivalTitle;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("RouteArrival")
+ text: Translator.getEmptyString()+qsTr("RouteArrival")
visible: false;
}
SmartText {
@@ -1057,7 +1057,7 @@ NavigationAppHMIMenu {
id:statusTitle;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("StatusTitle")
+ text: Translator.getEmptyString()+qsTr("StatusTitle")
visible: false;
}
SmartText {
@@ -1087,7 +1087,7 @@ NavigationAppHMIMenu {
}
StdButton {
source:StyleSheet.guidance_start[Constants.SOURCE]; x:StyleSheet.guidance_start[Constants.X]; y:StyleSheet.guidance_start[Constants.Y]; width:StyleSheet.guidance_start[Constants.WIDTH]; height:StyleSheet.guidance_start[Constants.HEIGHT];textColor:StyleSheet.startText[Constants.TEXTCOLOR]; pixelSize:StyleSheet.startText[Constants.PIXELSIZE];
- id:guidance_start; text: Genivi.gettext("On"); disabled:true;
+ id:guidance_start; text: Translator.getEmptyString()+qsTr("On"); disabled:true;
visible: false;
onClicked: {
Genivi.guidance_StartGuidance(dbusIf,dltIf,Genivi.routing_handle());
@@ -1095,7 +1095,7 @@ NavigationAppHMIMenu {
}
StdButton {
source:StyleSheet.guidance_stop[Constants.SOURCE]; x:StyleSheet.guidance_stop[Constants.X]; y:StyleSheet.guidance_stop[Constants.Y]; width:StyleSheet.guidance_stop[Constants.WIDTH]; height:StyleSheet.guidance_stop[Constants.HEIGHT];textColor:StyleSheet.stopText[Constants.TEXTCOLOR]; pixelSize:StyleSheet.stopText[Constants.PIXELSIZE];
- id:guidance_stop;text: Genivi.gettext("Off"); disabled:true;
+ id:guidance_stop;text: Translator.getEmptyString()+qsTr("Off"); disabled:true;
visible: false;
onClicked: {
if(Genivi.location_input_activated){
@@ -1261,7 +1261,7 @@ NavigationAppHMIMenu {
}
StdButton {
source:StyleSheet.cancel[Constants.SOURCE]; x:StyleSheet.cancel[Constants.X]; y:StyleSheet.cancel[Constants.Y]; width:StyleSheet.cancel[Constants.WIDTH]; height:StyleSheet.cancel[Constants.HEIGHT];textColor:StyleSheet.cancelText[Constants.TEXTCOLOR]; pixelSize:StyleSheet.cancelText[Constants.PIXELSIZE];
- id:cancel; text: Genivi.gettext("Cancel");
+ id:cancel; text: Translator.getEmptyString()+qsTr("Cancel");
disabled: !(keyboardActivated);
onClicked: {
Genivi.preloadMode=false;
@@ -1294,7 +1294,7 @@ NavigationAppHMIMenu {
}
StdButton {
source:StyleSheet.back[Constants.SOURCE]; x:StyleSheet.back[Constants.X]; y:StyleSheet.back[Constants.Y]; width:StyleSheet.back[Constants.WIDTH]; height:StyleSheet.back[Constants.HEIGHT];textColor:StyleSheet.backText[Constants.TEXTCOLOR]; pixelSize:StyleSheet.backText[Constants.PIXELSIZE];
- id:back; text: Genivi.gettext("Back");
+ id:back; text: Translator.getEmptyString()+qsTr("Back");
disabled: keyboardActivated;
onClicked: {
disconnectSignals();
diff --git a/src/hmi/qml/NavigationAppSettings.qml b/src/hmi/qml/NavigationAppSettings.qml
index 9d3d5b4..9aebf25 100644
--- a/src/hmi/qml/NavigationAppSettings.qml
+++ b/src/hmi/qml/NavigationAppSettings.qml
@@ -52,6 +52,14 @@ NavigationAppHMIMenu {
id:dbusIf;
}
+ Connections {
+ target: Translator
+ onLanguageChanged: {
+ var translation = Translator.getCurrentTranslation();
+ Genivi.hookMessage(dltIf,"Language updated",translation);
+ }
+ }
+
property Item configurationChangedSignal;
function configurationChanged(args)
{ //to be improved !
@@ -141,6 +149,8 @@ NavigationAppHMIMenu {
Genivi.navigationcore_configuration_SetLocale(dbusIf,dltIf,language,country,script);
Genivi.mapviewer_configuration_SetLocale(dbusIf,dltIf,language,country,script);
Genivi.setlang(language,country,script);
+ var fileName=Genivi.g_language+ "_"+Genivi.g_country+ "_"+Genivi.g_script;
+ Translator.setTranslation(fileName);
pageOpen(dltIf,menu.pagefile); //reload page because of texts...
}
@@ -278,7 +288,7 @@ NavigationAppHMIMenu {
id:languagesTitle;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("Language")
+ text: Translator.getEmptyString()+qsTr("Language")
}
StdButton { objectName:"fra_FRA";
source:StyleSheet.french_flag[Constants.SOURCE]; x:StyleSheet.french_flag[Constants.X]; y:StyleSheet.french_flag[Constants.Y]; width:StyleSheet.french_flag[Constants.WIDTH]; height:StyleSheet.french_flag[Constants.HEIGHT];
@@ -292,13 +302,16 @@ NavigationAppHMIMenu {
StdButton { objectName:"jpn_JPN";
source:StyleSheet.japanese_flag[Constants.SOURCE]; x:StyleSheet.japanese_flag[Constants.X]; y:StyleSheet.japanese_flag[Constants.Y]; width:StyleSheet.japanese_flag[Constants.WIDTH]; height:StyleSheet.japanese_flag[Constants.HEIGHT];
id:jpn_JPN; disabled:false;onClicked: {setLocale("jpn","JPN","Hrkt");}}
+ StdButton { objectName:"kor_KOR";
+ source:StyleSheet.korean_flag[Constants.SOURCE]; x:StyleSheet.korean_flag[Constants.X]; y:StyleSheet.korean_flag[Constants.Y]; width:StyleSheet.korean_flag[Constants.WIDTH]; height:StyleSheet.korean_flag[Constants.HEIGHT];
+ id:kor_KOR; disabled:false;onClicked: {setLocale("kor","KOR","Hang");}}
Text {
x:StyleSheet.unitsTitle[Constants.X]; y:StyleSheet.unitsTitle[Constants.Y]; width:StyleSheet.unitsTitle[Constants.WIDTH]; height:StyleSheet.unitsTitle[Constants.HEIGHT];color:StyleSheet.unitsTitle[Constants.TEXTCOLOR];styleColor:StyleSheet.unitsTitle[Constants.STYLECOLOR]; font.pixelSize:StyleSheet.unitsTitle[Constants.PIXELSIZE];
id:unitsTitle;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("Units")
+ text: Translator.getEmptyString()+qsTr("Units")
}
StdButton { source:StyleSheet.unit_km[Constants.SOURCE]; x:StyleSheet.unit_km[Constants.X]; y:StyleSheet.unit_km[Constants.Y]; width:StyleSheet.unit_km[Constants.WIDTH]; height:StyleSheet.unit_km[Constants.HEIGHT];
id:unit_km; disabled:false;
@@ -316,7 +329,7 @@ NavigationAppHMIMenu {
id:costModelTitle;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("CostModel")
+ text: Translator.getEmptyString()+qsTr("CostModel")
}
Text {
@@ -324,7 +337,7 @@ NavigationAppHMIMenu {
id:routingPreferencesTitle;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("RoutingPreferences")
+ text: Translator.getEmptyString()+qsTr("RoutingPreferences")
}
Text {
@@ -332,7 +345,7 @@ NavigationAppHMIMenu {
id: ferriesText;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("Ferries")
+ text: Translator.getEmptyString()+qsTr("Ferries")
}
StdButton { source:StyleSheet.allow_ferries[Constants.SOURCE]; x:StyleSheet.allow_ferries[Constants.X]; y:StyleSheet.allow_ferries[Constants.Y]; width:StyleSheet.allow_ferries[Constants.WIDTH]; height:StyleSheet.allow_ferries[Constants.HEIGHT];
id:ferries_yes;disabled: !Genivi.route_calculated;onClicked:{use(Genivi.NAVIGATIONCORE_FERRY)}}
@@ -344,7 +357,7 @@ NavigationAppHMIMenu {
id: tollRoadsText;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("TollRoads")
+ text: Translator.getEmptyString()+qsTr("TollRoads")
}
StdButton { source:StyleSheet.allow_tollRoads[Constants.SOURCE]; x:StyleSheet.allow_tollRoads[Constants.X]; y:StyleSheet.allow_tollRoads[Constants.Y]; width:StyleSheet.allow_tollRoads[Constants.WIDTH]; height:StyleSheet.allow_tollRoads[Constants.HEIGHT];
id:toll_roads_yes;disabled: !Genivi.route_calculated;onClicked:{use(Genivi.NAVIGATIONCORE_TOLL_ROADS)}}
@@ -356,7 +369,7 @@ NavigationAppHMIMenu {
id:motorWaysText;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("MotorWays")
+ text: Translator.getEmptyString()+qsTr("MotorWays")
}
StdButton { source:StyleSheet.allow_motorways[Constants.SOURCE]; x:StyleSheet.allow_motorways[Constants.X]; y:StyleSheet.allow_motorways[Constants.Y]; width:StyleSheet.allow_motorways[Constants.WIDTH]; height:StyleSheet.allow_motorways[Constants.HEIGHT];
id:motorways_yes;disabled: !Genivi.route_calculated;onClicked:{use(Genivi.NAVIGATIONCORE_HIGHWAYS_MOTORWAYS)}}
@@ -368,7 +381,7 @@ NavigationAppHMIMenu {
id:simulationTitle;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("Simulation")
+ text: Translator.getEmptyString()+qsTr("Simulation")
}
StdButton {
x:StyleSheet.simu_mode_enable[Constants.X]; y:StyleSheet.simu_mode_enable[Constants.Y]; width:StyleSheet.simu_mode_enable[Constants.WIDTH]; height:StyleSheet.simu_mode_enable[Constants.HEIGHT];
@@ -407,7 +420,7 @@ NavigationAppHMIMenu {
id:showroomTitle;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("Showroom")
+ text: Translator.getEmptyString()+qsTr("Showroom")
}
StdButton {
x:StyleSheet.showroom_enable[Constants.X]; y:StyleSheet.showroom_enable[Constants.Y]; width:StyleSheet.showroom_enable[Constants.WIDTH]; height:StyleSheet.showroom_enable[Constants.HEIGHT];
@@ -445,7 +458,7 @@ NavigationAppHMIMenu {
id:autoguidanceTitle;
style: Text.Sunken;
smooth: true
- text: Genivi.gettext("Autoguidance")
+ text: Translator.getEmptyString()+qsTr("Autoguidance")
}
StdButton {
x:StyleSheet.autoguidance_enable[Constants.X]; y:StyleSheet.autoguidance_enable[Constants.Y]; width:StyleSheet.autoguidance_enable[Constants.WIDTH]; height:StyleSheet.autoguidance_enable[Constants.HEIGHT];
@@ -479,7 +492,7 @@ NavigationAppHMIMenu {
StdButton {
source:StyleSheet.mapDataBase[Constants.SOURCE]; x:StyleSheet.mapDataBase[Constants.X]; y:StyleSheet.mapDataBase[Constants.Y]; width:StyleSheet.mapDataBase[Constants.WIDTH]; height:StyleSheet.mapDataBase[Constants.HEIGHT];textColor:StyleSheet.mapDataBaseText[Constants.TEXTCOLOR]; pixelSize:StyleSheet.mapDataBaseText[Constants.PIXELSIZE];
- id:mapDataBase; text: Genivi.gettext("Mapview"); disabled:false;
+ id:mapDataBase; text: Translator.getEmptyString()+qsTr("Mapview"); disabled:false;
onClicked:{
disconnectSignals();
entryMenu(dltIf,"NavigationAppMap",menu);
@@ -488,7 +501,7 @@ NavigationAppHMIMenu {
StdButton {
source:StyleSheet.back[Constants.SOURCE]; x:StyleSheet.back[Constants.X]; y:StyleSheet.back[Constants.Y]; width:StyleSheet.back[Constants.WIDTH]; height:StyleSheet.back[Constants.HEIGHT];textColor:StyleSheet.backText[Constants.TEXTCOLOR]; pixelSize:StyleSheet.backText[Constants.PIXELSIZE];
- id:back; text: Genivi.gettext("Back"); disabled:false;
+ id:back; text: Translator.getEmptyString()+qsTr("Back"); disabled:false;
onClicked:{
disconnectSignals();
leaveMenu(dltIf);
diff --git a/src/hmi/qml/NavigationAppTripComputer.qml b/src/hmi/qml/NavigationAppTripComputer.qml
index f032d21..f0c3081 100644
--- a/src/hmi/qml/NavigationAppTripComputer.qml
+++ b/src/hmi/qml/NavigationAppTripComputer.qml
@@ -271,7 +271,7 @@ NavigationAppHMIMenu {
style: Text.Sunken;
smooth: true
id:avg_speed_title
- text: Genivi.gettext("AvgSpeed")
+ text: Translator.getEmptyString()+qsTr("AvgSpeed")
}
Text {
x:StyleSheet.avg_fuel_value[Constants.X]; y:StyleSheet.avg_fuel_value[Constants.Y]; width:StyleSheet.avg_fuel_value[Constants.WIDTH]; height:StyleSheet.avg_fuel_value[Constants.HEIGHT];color:StyleSheet.avg_fuel_value[Constants.TEXTCOLOR];styleColor:StyleSheet.avg_fuel_value[Constants.STYLECOLOR]; font.pixelSize:StyleSheet.avg_fuel_value[Constants.PIXELSIZE];
@@ -295,7 +295,7 @@ NavigationAppHMIMenu {
style: Text.Sunken;
smooth: true
id:avg_fuel_title
- text: Genivi.gettext("AvgFuel")
+ text: Translator.getEmptyString()+qsTr("AvgFuel")
}
Text {
x:StyleSheet.distance_value[Constants.X]; y:StyleSheet.distance_value[Constants.Y]; width:StyleSheet.distance_value[Constants.WIDTH]; height:StyleSheet.distance_value[Constants.HEIGHT];color:StyleSheet.distance_value[Constants.TEXTCOLOR];styleColor:StyleSheet.distance_value[Constants.STYLECOLOR]; font.pixelSize:StyleSheet.distance_value[Constants.PIXELSIZE];
@@ -319,7 +319,7 @@ NavigationAppHMIMenu {
style: Text.Sunken;
smooth: true
id:distance_title
- text: Genivi.gettext("Distance")
+ text: Translator.getEmptyString()+qsTr("Distance")
}
Text {
x:StyleSheet.fuel_value[Constants.X]; y:StyleSheet.fuel_value[Constants.Y]; width:StyleSheet.fuel_value[Constants.WIDTH]; height:StyleSheet.fuel_value[Constants.HEIGHT];color:StyleSheet.fuel_value[Constants.TEXTCOLOR];styleColor:StyleSheet.fuel_value[Constants.STYLECOLOR]; font.pixelSize:StyleSheet.fuel_value[Constants.PIXELSIZE];
@@ -343,7 +343,7 @@ NavigationAppHMIMenu {
style: Text.Sunken;
smooth: true
id:fuel_title
- text: Genivi.gettext("FuelLevel")
+ text: Translator.getEmptyString()+qsTr("FuelLevel")
}
Text {
x:StyleSheet.tank_distance_value[Constants.X]; y:StyleSheet.tank_distance_value[Constants.Y]; width:StyleSheet.tank_distance_value[Constants.WIDTH]; height:StyleSheet.tank_distance_value[Constants.HEIGHT];color:StyleSheet.tank_distance_value[Constants.TEXTCOLOR];styleColor:StyleSheet.tank_distance_value[Constants.STYLECOLOR]; font.pixelSize:StyleSheet.tank_distance_value[Constants.PIXELSIZE];
@@ -367,7 +367,7 @@ NavigationAppHMIMenu {
style: Text.Sunken;
smooth: true
id:tank_distance_title
- text: Genivi.gettext("TankDistance")
+ text: Translator.getEmptyString()+qsTr("TankDistance")
}
Text {
x:StyleSheet.predictive_tank_distance_value[Constants.X]; y:StyleSheet.predictive_tank_distance_value[Constants.Y]; width:StyleSheet.predictive_tank_distance_value[Constants.WIDTH]; height:StyleSheet.predictive_tank_distance_value[Constants.HEIGHT];color:StyleSheet.predictive_tank_distance_value[Constants.TEXTCOLOR];styleColor:StyleSheet.predictive_tank_distance_value[Constants.STYLECOLOR]; font.pixelSize:StyleSheet.predictive_tank_distance_value[Constants.PIXELSIZE];
@@ -391,12 +391,12 @@ NavigationAppHMIMenu {
style: Text.Sunken;
smooth: true
id:predictive_tank_distance_title
- text: Genivi.gettext("PredictiveTankDistance")
+ text: Translator.getEmptyString()+qsTr("PredictiveTankDistance")
}
StdButton { source:StyleSheet.reset[Constants.SOURCE]; x:StyleSheet.reset[Constants.X]; y:StyleSheet.reset[Constants.Y]; width:StyleSheet.reset[Constants.WIDTH]; height:StyleSheet.reset[Constants.HEIGHT];textColor:StyleSheet.resetText[Constants.TEXTCOLOR]; pixelSize:StyleSheet.resetText[Constants.PIXELSIZE];
visible: false;
- id:reset; text: Genivi.gettext("Reset"); disabled:false; next:select_trip1; prev:back;
+ id:reset; text: Translator.getEmptyString()+qsTr("Reset"); disabled:false; next:select_trip1; prev:back;
onClicked:{
if (Genivi.tripMode == "TRIP_NUMBER1") {
Genivi.fuelstopadvisor_ResetTripData(dbusIf,dltIf,0);
@@ -432,7 +432,7 @@ NavigationAppHMIMenu {
}
}
StdButton { source:StyleSheet.back[Constants.SOURCE]; x:StyleSheet.back[Constants.X]; y:StyleSheet.back[Constants.Y]; width:StyleSheet.back[Constants.WIDTH]; height:StyleSheet.back[Constants.HEIGHT];textColor:StyleSheet.backText[Constants.TEXTCOLOR]; pixelSize:StyleSheet.backText[Constants.PIXELSIZE];
- id:back; text: Genivi.gettext("Back"); disabled:false; next:reset; prev:select_instant;
+ id:back; text: Translator.getEmptyString()+qsTr("Back"); disabled:false; next:reset; prev:select_instant;
onClicked:{leave(); leaveMenu(dltIf);}
}
}
diff --git a/src/hmi/translations/deu_DEU.js b/src/hmi/translations/deu_DEU.js
deleted file mode 100644
index a6ed099..0000000
--- a/src/hmi/translations/deu_DEU.js
+++ /dev/null
@@ -1,100 +0,0 @@
-/**
-* @licence app begin@
-* SPDX-License-Identifier: MPL-2.0
-*
-* \copyright Copyright (C) 2013-2014, PCA Peugeot Citroen
-*
-* \file deu_DEU.js
-*
-* \brief This file is part of the navigation hmi.
-*
-* \author Martin Schaller <martin.schaller@it-schaller.de>
-* \author Philippe Colliot <philippe.colliot@mpsa.com>
-*
-* \version 1.1
-*
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License (MPL), v. 2.0.
-* If a copy of the MPL was not distributed with this file,
-* You can obtain one at http://mozilla.org/MPL/2.0/.
-*
-* For further information see http://www.genivi.org/.
-*
-* List of changes:
-* 2014-03-05, Philippe Colliot, migration to the new HMI design
-* <date>, <name>, <description of change>
-*
-* @licence end@
-*/
-translations["Navigation"]="NAVI";
-translations["Mapview"]="MAP";
-translations["Poi"]="POI";
-translations["Configuration"]="CONFIG";
-translations["Trip"]="TRIP";
-
-translations["Country"]="COUNTRY";
-translations["City"]="CITY";
-translations["Street"]="STREET";
-translations["Number"]="NUMBER";
-
-translations["RoutingPreferences"]="ROUTING PREFERENCES";
-translations["Ferries"]="FERRIES";
-translations["TollRoads"]="TOLL ROADS";
-translations["MotorWays"]="MOTORWAYS";
-translations["CostModel"]="COST MODEL";
-translations["Shortest"]="SHORTEST";
-translations["Fastest"]="FASTEST";
-translations["Language"]="LANGUAGE";
-translations["Units"]="UNITS";
-translations["Showroom"]="SHOWROOM";
-translations["Autoguidance"]="AUTOGUIDE";
-translations["Simulation"]="SIMULATION";
-
-translations["RouteDistance"]="DISTANCE";
-translations["RouteTime"]="TIME";
-translations["RouteArrival"]="ARRIVAL";
-translations["Guidance"]="GUIDANCE";
-translations["DisplayRoute"]="DISPLAY";
-translations["StatusTitle"]="STATUS";
-translations["CalculatedRouteInProgress"]="CALCULATION IN PROGRESS";
-translations["CalculatedRouteFailed"]="CALCULATION FAILED";
-translations["CalculatedRouteSuccess"]="ROUTE AVAILABLE";
-
-translations["FSAWarning"]="Refill";
-translations["NoGuidance"]="No guidance";
-translations["NoManeuver"]="No maneuver";
-
-//CameraSettings
-translations["North"]="N";
-translations["South"]="S";
-translations["East"]="O";
-translations["West"]="W";
-translations["CameraTilt"]="Tilt";
-translations["CameraHeight"]="Height";
-translations["CameraDistance"]="Dist";
-translations["CameraPerspective3d"]="3d";
-translations["CameraPerspective2d"]="2d";
-translations["Split"]="Sp";
-translations["Join"]="Jo";
-translations["Day"]="Da";
-translations["Night"]="Ni";
-
-translations["AvgSpeed"]="AVG SPEED";
-translations["AvgFuel"]="AVG FUEL";
-translations["Distance"]="DISTANCE";
-translations["FuelLevel"]="FUEL LEVEL";
-translations["TankDistance"]="TANK DISTANCE";
-translations["PredictiveTankDistance"]="PREDICTIVE\nTANK DISTANCE";
-translations["Reset"]="RESET";
-
-translations["Selected"]="SELECTED";
-translations["Restart"]="RESTART";
-
-translations["On"]="ON";
-translations["Off"]="OFF";
-translations["Back"]="BACK";
-translations["Cancel"]="CANCEL";
-translations["Quit"]="QUIT";
-
-
-translations["Element"]="NAME";
diff --git a/src/hmi/translations/deu_DEU_Latn.ts b/src/hmi/translations/deu_DEU_Latn.ts
new file mode 100644
index 0000000..d52aad2
--- /dev/null
+++ b/src/hmi/translations/deu_DEU_Latn.ts
@@ -0,0 +1,300 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>NavigationAppBrowseMap</name>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="89"/>
+ <source>CalculatedRouteFailed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="100"/>
+ <source>CalculatedRouteInProgress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1018"/>
+ <source>Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1288"/>
+ <source>CameraTilt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1308"/>
+ <source>CameraHeight</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1328"/>
+ <source>CameraDistance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1629"/>
+ <source>Restart</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1639"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppMain</name>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="107"/>
+ <source>Navigation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="124"/>
+ <source>Poi</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="140"/>
+ <source>Mapview</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="158"/>
+ <source>Trip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="173"/>
+ <source>Configuration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="186"/>
+ <source>Quit</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppMap</name>
+ <message>
+ <location filename="../qml/NavigationAppMap.qml" line="71"/>
+ <source>Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppPOI</name>
+ <message>
+ <location filename="../qml/NavigationAppPOI.qml" line="328"/>
+ <source>Selected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppPOI.qml" line="467"/>
+ <source>Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppSearch</name>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="344"/>
+ <source>CalculatedRouteFailed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="354"/>
+ <source>CalculatedRouteInProgress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="728"/>
+ <source>CalculatedRouteSuccess</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="869"/>
+ <source>Element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="892"/>
+ <source>Country</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="921"/>
+ <source>City</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="950"/>
+ <source>Street</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="976"/>
+ <source>Number</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1002"/>
+ <source>Guidance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1010"/>
+ <source>DisplayRoute</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1018"/>
+ <source>RouteDistance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1032"/>
+ <source>RouteTime</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1046"/>
+ <source>RouteArrival</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1060"/>
+ <source>StatusTitle</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1090"/>
+ <source>On</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1098"/>
+ <source>Off</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1264"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1297"/>
+ <source>Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppSettings</name>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="291"/>
+ <source>Language</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="314"/>
+ <source>Units</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="332"/>
+ <source>CostModel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="340"/>
+ <source>RoutingPreferences</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="348"/>
+ <source>Ferries</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="360"/>
+ <source>TollRoads</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="372"/>
+ <source>MotorWays</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="384"/>
+ <source>Simulation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="423"/>
+ <source>Showroom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="461"/>
+ <source>Autoguidance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="495"/>
+ <source>Mapview</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="504"/>
+ <source>Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppTripComputer</name>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="274"/>
+ <source>AvgSpeed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="298"/>
+ <source>AvgFuel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="322"/>
+ <source>Distance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="346"/>
+ <source>FuelLevel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="370"/>
+ <source>TankDistance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="394"/>
+ <source>PredictiveTankDistance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="399"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="435"/>
+ <source>Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/hmi/translations/eng_USA.js b/src/hmi/translations/eng_USA.js
deleted file mode 100644
index 960c25f..0000000
--- a/src/hmi/translations/eng_USA.js
+++ /dev/null
@@ -1,100 +0,0 @@
-/**
-* @licence app begin@
-* SPDX-License-Identifier: MPL-2.0
-*
-* \copyright Copyright (C) 2013-2014, PCA Peugeot Citroen
-*
-* \file eng_USA.js
-*
-* \brief This file is part of the navigation hmi.
-*
-* \author Martin Schaller <martin.schaller@it-schaller.de>
-* \author Philippe Colliot <philippe.colliot@mpsa.com>
-*
-* \version 1.1
-*
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License (MPL), v. 2.0.
-* If a copy of the MPL was not distributed with this file,
-* You can obtain one at http://mozilla.org/MPL/2.0/.
-*
-* For further information see http://www.genivi.org/.
-*
-* List of changes:
-* 2014-03-05, Philippe Colliot, migration to the new HMI design
-* <date>, <name>, <description of change>
-*
-* @licence end@
-*/
-translations["Navigation"]="NAVI";
-translations["Mapview"]="MAP";
-translations["Poi"]="POI";
-translations["Configuration"]="CONFIG";
-translations["Trip"]="TRIP";
-
-translations["Country"]="COUNTRY";
-translations["City"]="CITY";
-translations["Street"]="STREET";
-translations["Number"]="NUMBER";
-
-translations["RoutingPreferences"]="ROUTING PREFERENCES";
-translations["Ferries"]="FERRIES";
-translations["TollRoads"]="TOLL ROADS";
-translations["MotorWays"]="MOTORWAYS";
-translations["CostModel"]="COST MODEL";
-translations["Shortest"]="SHORTEST";
-translations["Fastest"]="FASTEST";
-translations["Language"]="LANGUAGE";
-translations["Units"]="UNITS";
-translations["Showroom"]="SHOWROOM";
-translations["Autoguidance"]="AUTOGUIDE";
-translations["Simulation"]="SIMULATION";
-
-translations["RouteDistance"]="DISTANCE";
-translations["RouteTime"]="TIME";
-translations["RouteArrival"]="ARRIVAL";
-translations["Guidance"]="GUIDANCE";
-translations["DisplayRoute"]="DISPLAY";
-translations["StatusTitle"]="STATUS";
-translations["CalculatedRouteInProgress"]="CALCULATION IN PROGRESS";
-translations["CalculatedRouteFailed"]="CALCULATION FAILED";
-translations["CalculatedRouteSuccess"]="ROUTE AVAILABLE";
-
-translations["FSAWarning"]="Refill";
-translations["NoGuidance"]="No guidance";
-translations["NoManeuver"]="No maneuver";
-
-//CameraSettings
-translations["North"]="N";
-translations["South"]="S";
-translations["East"]="E";
-translations["West"]="W";
-translations["CameraTilt"]="Tilt";
-translations["CameraHeight"]="Height";
-translations["CameraDistance"]="Dist";
-translations["CameraPerspective3d"]="3d";
-translations["CameraPerspective2d"]="2d";
-translations["Split"]="Sp";
-translations["Join"]="Jo";
-translations["Day"]="Da";
-translations["Night"]="Ni";
-
-translations["AvgSpeed"]="AVG SPEED";
-translations["AvgFuel"]="AVG FUEL";
-translations["Distance"]="DISTANCE";
-translations["FuelLevel"]="FUEL LEVEL";
-translations["TankDistance"]="TANK DISTANCE";
-translations["PredictiveTankDistance"]="PREDICTIVE\nTANK DISTANCE";
-translations["Reset"]="RESET";
-
-translations["Selected"]="SELECTED";
-translations["Restart"]="RESTART";
-
-translations["On"]="ON";
-translations["Off"]="OFF";
-translations["Back"]="BACK";
-translations["Cancel"]="CANCEL";
-translations["Quit"]="QUIT";
-
-
-translations["Element"]="NAME";
diff --git a/src/hmi/translations/eng_USA_Latn.ts b/src/hmi/translations/eng_USA_Latn.ts
new file mode 100644
index 0000000..4ca5186
--- /dev/null
+++ b/src/hmi/translations/eng_USA_Latn.ts
@@ -0,0 +1,301 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="en_US">
+<context>
+ <name>NavigationAppBrowseMap</name>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="89"/>
+ <source>CalculatedRouteFailed</source>
+ <translation>CALCULATION FAILED</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="100"/>
+ <source>CalculatedRouteInProgress</source>
+ <translation>CALCULATION IN PROGRESS</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1018"/>
+ <source>Back</source>
+ <translation>BACK</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1288"/>
+ <source>CameraTilt</source>
+ <translation>Tilt</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1308"/>
+ <source>CameraHeight</source>
+ <translation>Height</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1328"/>
+ <source>CameraDistance</source>
+ <translation>Dist</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1629"/>
+ <source>Restart</source>
+ <translation>RESTART</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1639"/>
+ <source>Cancel</source>
+ <translation>CANCEL</translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppMain</name>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="107"/>
+ <source>Navigation</source>
+ <translation>NAVI</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="124"/>
+ <source>Poi</source>
+ <translation>POI</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="140"/>
+ <source>Mapview</source>
+ <translation>MAP</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="158"/>
+ <source>Trip</source>
+ <translation>TRIP</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="173"/>
+ <source>Configuration</source>
+ <translation>CONFIG</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="186"/>
+ <source>Quit</source>
+ <translation>QUIT</translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppMap</name>
+ <message>
+ <location filename="../qml/NavigationAppMap.qml" line="71"/>
+ <source>Back</source>
+ <translation>BACK</translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppPOI</name>
+ <message>
+ <location filename="../qml/NavigationAppPOI.qml" line="328"/>
+ <source>Selected</source>
+ <translation>SELECTED</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppPOI.qml" line="467"/>
+ <source>Back</source>
+ <translation>BACK</translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppSearch</name>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="344"/>
+ <source>CalculatedRouteFailed</source>
+ <translation>CALCULATION FAILED</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="354"/>
+ <source>CalculatedRouteInProgress</source>
+ <translation>CALCULATION IN PROGRESS</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="728"/>
+ <source>CalculatedRouteSuccess</source>
+ <translation>ROUTE AVAILABLE</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="869"/>
+ <source>Element</source>
+ <translation>NAME</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="892"/>
+ <source>Country</source>
+ <translation>COUNTRY</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="921"/>
+ <source>City</source>
+ <translation>CITY</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="950"/>
+ <source>Street</source>
+ <translation>STREET</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="976"/>
+ <source>Number</source>
+ <translation>NUMBER</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1002"/>
+ <source>Guidance</source>
+ <translation>GUIDANCE</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1010"/>
+ <source>DisplayRoute</source>
+ <translation>DISPLAY</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1018"/>
+ <source>RouteDistance</source>
+ <translation>DISTANCE</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1032"/>
+ <source>RouteTime</source>
+ <translation>TIME</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1046"/>
+ <source>RouteArrival</source>
+ <translation>ARRIVAL</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1060"/>
+ <source>StatusTitle</source>
+ <translation>STATUS</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1090"/>
+ <source>On</source>
+ <translation>ON</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1098"/>
+ <source>Off</source>
+ <translation>OFF</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1264"/>
+ <source>Cancel</source>
+ <translation>CANCEL</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1297"/>
+ <source>Back</source>
+ <translation>BACK</translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppSettings</name>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="291"/>
+ <source>Language</source>
+ <translation>LANGUAGE</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="314"/>
+ <source>Units</source>
+ <translation>UNITS</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="332"/>
+ <source>CostModel</source>
+ <translation>COST MODEL</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="340"/>
+ <source>RoutingPreferences</source>
+ <translation>ROUTING PREFERENCES</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="348"/>
+ <source>Ferries</source>
+ <translation>FERRIES</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="360"/>
+ <source>TollRoads</source>
+ <translation>TOLL ROADS</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="372"/>
+ <source>MotorWays</source>
+ <translation>MOTORWAYS</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="384"/>
+ <source>Simulation</source>
+ <translation>SIMULATION</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="423"/>
+ <source>Showroom</source>
+ <translation>SHOWROOM</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="461"/>
+ <source>Autoguidance</source>
+ <translation>AUTOGUIDE</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="495"/>
+ <source>Mapview</source>
+ <translation>MAP</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="504"/>
+ <source>Back</source>
+ <translation>BACK</translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppTripComputer</name>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="274"/>
+ <source>AvgSpeed</source>
+ <translation>AVG SPEED</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="298"/>
+ <source>AvgFuel</source>
+ <translation>AVG FUEL</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="322"/>
+ <source>Distance</source>
+ <translation>DISTANCE</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="346"/>
+ <source>FuelLevel</source>
+ <translation>FUEL LEVEL</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="370"/>
+ <source>TankDistance</source>
+ <translation>TANK DISTANCE</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="394"/>
+ <source>PredictiveTankDistance</source>
+ <translation>PREDICTIVE
+TANK DISTANCE</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="399"/>
+ <source>Reset</source>
+ <translation>RESET</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="435"/>
+ <source>Back</source>
+ <translation>BACK</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/hmi/translations/fra_FRA.js b/src/hmi/translations/fra_FRA.js
deleted file mode 100644
index 286df0e..0000000
--- a/src/hmi/translations/fra_FRA.js
+++ /dev/null
@@ -1,100 +0,0 @@
-/**
-* @licence app begin@
-* SPDX-License-Identifier: MPL-2.0
-*
-* \copyright Copyright (C) 2013-2014, PCA Peugeot Citroen
-*
-* \file fra_FRA.js
-*
-* \brief This file is part of the navigation hmi.
-*
-* \author Martin Schaller <martin.schaller@it-schaller.de>
-* \author Philippe Colliot <philippe.colliot@mpsa.com>
-*
-* \version 1.1
-*
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License (MPL), v. 2.0.
-* If a copy of the MPL was not distributed with this file,
-* You can obtain one at http://mozilla.org/MPL/2.0/.
-*
-* For further information see http://www.genivi.org/.
-*
-* List of changes:
-* 2014-03-05, Philippe Colliot, migration to the new HMI design
-* <date>, <name>, <description of change>
-*
-* @licence end@
-*/
-translations["Navigation"]="NAVI";
-translations["Mapview"]="MAP";
-translations["Poi"]="POI";
-translations["Configuration"]="CONFIG";
-translations["Trip"]="TRIP";
-
-translations["Country"]="PAYS";
-translations["City"]="VILLE";
-translations["Street"]="RUE";
-translations["Number"]="NUMERO";
-
-translations["RoutingPreferences"]="ROUTING PREFERENCES";
-translations["Ferries"]="FERRIES";
-translations["TollRoads"]="TOLL ROADS";
-translations["MotorWays"]="MOTORWAYS";
-translations["CostModel"]="COST MODEL";
-translations["Shortest"]="SHORTEST";
-translations["Fastest"]="FASTEST";
-translations["Language"]="LANGAGE";
-translations["Units"]="UNITES";
-translations["Showroom"]="SHOWROOM";
-translations["Autoguidance"]="AUTOGUIDE";
-translations["Simulation"]="SIMULATION";
-
-translations["RouteDistance"]="DISTANCE";
-translations["RouteTime"]="DUREE";
-translations["RouteArrival"]="ARRIVEE";
-translations["Guidance"]="GUIDAGE";
-translations["DisplayRoute"]="AFFICHER";
-translations["StatusTitle"]="STATUS";
-translations["CalculatedRouteInProgress"]="CALCULATION IN PROGRESS";
-translations["CalculatedRouteFailed"]="CALCULATION FAILED";
-translations["CalculatedRouteSuccess"]="ROUTE AVAILABLE";
-
-translations["FSAWarning"]="Refill";
-translations["NoGuidance"]="No guidance";
-translations["NoManeuver"]="No maneuver";
-
-//CameraSettings
-translations["North"]="N";
-translations["South"]="S";
-translations["East"]="E";
-translations["West"]="O";
-translations["CameraTilt"]="Tilt";
-translations["CameraHeight"]="Height";
-translations["CameraDistance"]="Dist";
-translations["CameraPerspective3d"]="3d";
-translations["CameraPerspective2d"]="2d";
-translations["Split"]="Sp";
-translations["Join"]="Jo";
-translations["Day"]="Da";
-translations["Night"]="Ni";
-
-translations["AvgSpeed"]="VITESSE MOYENNE";
-translations["AvgFuel"]="CONSO MOYENNE";
-translations["Distance"]="DISTANCE";
-translations["FuelLevel"]="RESERVOIR";
-translations["TankDistance"]="AUTONOMIE";
-translations["PredictiveTankDistance"]="AUTONOMIE\nPREDICTIVE";
-translations["Reset"]="RAZ";
-
-translations["Selected"]="SELECTION";
-translations["Restart"]="REPRENDRE";
-
-translations["On"]="ON";
-translations["Off"]="OFF";
-translations["Back"]="RETOUR";
-translations["Cancel"]="ANNUL";
-translations["Quit"]="QUITTER";
-
-
-translations["Element"]="NAME";
diff --git a/src/hmi/translations/fra_FRA_Latn.ts b/src/hmi/translations/fra_FRA_Latn.ts
new file mode 100644
index 0000000..d52aad2
--- /dev/null
+++ b/src/hmi/translations/fra_FRA_Latn.ts
@@ -0,0 +1,300 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>NavigationAppBrowseMap</name>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="89"/>
+ <source>CalculatedRouteFailed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="100"/>
+ <source>CalculatedRouteInProgress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1018"/>
+ <source>Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1288"/>
+ <source>CameraTilt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1308"/>
+ <source>CameraHeight</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1328"/>
+ <source>CameraDistance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1629"/>
+ <source>Restart</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1639"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppMain</name>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="107"/>
+ <source>Navigation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="124"/>
+ <source>Poi</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="140"/>
+ <source>Mapview</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="158"/>
+ <source>Trip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="173"/>
+ <source>Configuration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="186"/>
+ <source>Quit</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppMap</name>
+ <message>
+ <location filename="../qml/NavigationAppMap.qml" line="71"/>
+ <source>Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppPOI</name>
+ <message>
+ <location filename="../qml/NavigationAppPOI.qml" line="328"/>
+ <source>Selected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppPOI.qml" line="467"/>
+ <source>Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppSearch</name>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="344"/>
+ <source>CalculatedRouteFailed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="354"/>
+ <source>CalculatedRouteInProgress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="728"/>
+ <source>CalculatedRouteSuccess</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="869"/>
+ <source>Element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="892"/>
+ <source>Country</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="921"/>
+ <source>City</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="950"/>
+ <source>Street</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="976"/>
+ <source>Number</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1002"/>
+ <source>Guidance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1010"/>
+ <source>DisplayRoute</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1018"/>
+ <source>RouteDistance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1032"/>
+ <source>RouteTime</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1046"/>
+ <source>RouteArrival</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1060"/>
+ <source>StatusTitle</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1090"/>
+ <source>On</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1098"/>
+ <source>Off</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1264"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1297"/>
+ <source>Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppSettings</name>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="291"/>
+ <source>Language</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="314"/>
+ <source>Units</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="332"/>
+ <source>CostModel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="340"/>
+ <source>RoutingPreferences</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="348"/>
+ <source>Ferries</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="360"/>
+ <source>TollRoads</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="372"/>
+ <source>MotorWays</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="384"/>
+ <source>Simulation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="423"/>
+ <source>Showroom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="461"/>
+ <source>Autoguidance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="495"/>
+ <source>Mapview</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="504"/>
+ <source>Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppTripComputer</name>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="274"/>
+ <source>AvgSpeed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="298"/>
+ <source>AvgFuel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="322"/>
+ <source>Distance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="346"/>
+ <source>FuelLevel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="370"/>
+ <source>TankDistance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="394"/>
+ <source>PredictiveTankDistance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="399"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="435"/>
+ <source>Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/hmi/translations/jpn_JPN.js b/src/hmi/translations/jpn_JPN.js
deleted file mode 100644
index 1f119c3..0000000
--- a/src/hmi/translations/jpn_JPN.js
+++ /dev/null
@@ -1,99 +0,0 @@
-/**
-* @licence app begin@
-* SPDX-License-Identifier: MPL-2.0
-*
-* \copyright Copyright (C) 2013-2014, PCA Peugeot Citroen
-*
-* \file jpn_JPN.js
-*
-* \brief This file is part of the navigation hmi.
-*
-* \author Martin Schaller <martin.schaller@it-schaller.de>
-* \author Philippe Colliot <philippe.colliot@mpsa.com>
-*
-* \version 1.1
-*
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License (MPL), v. 2.0.
-* If a copy of the MPL was not distributed with this file,
-* You can obtain one at http://mozilla.org/MPL/2.0/.
-*
-* For further information see http://www.genivi.org/.
-*
-* List of changes:
-* 2014-03-05, Philippe Colliot, migration to the new HMI design
-* <date>, <name>, <description of change>
-*
-* @licence end@
-*/
-translations["Navigation"]="ナビ";
-translations["Mapview"]="地図";
-translations["Poi"]="地点";
-translations["Configuration"]="設定";
-translations["Trip"]="旅行";
-
-translations["Country"]="国";
-translations["City"]="町";
-translations["Street"]="道";
-translations["Number"]="番号";
-
-translations["RoutingPreferences"]="ルートの設定";
-translations["Ferries"]="フェリー";
-translations["TollRoads"]="通行料";
-translations["MotorWays"]="高速道路";
-translations["CostModel"]="COST MODEL";
-translations["Shortest"]="SHORTEST";
-translations["Fastest"]="FASTEST";
-translations["Language"]="言語";
-translations["Units"]="ユニット";
-translations["Showroom"]="ショールーム";
-translations["Autoguidance"]="自動ガイド";
-translations["Simulation"]="シミュレーション";
-
-translations["RouteDistance"]="距離";
-translations["RouteTime"]="時間";
-translations["RouteArrival"]="到着";
-translations["Guidance"]="ガイダンス";
-translations["DisplayRoute"]="ルート";
-translations["StatusTitle"]="ステータス";
-translations["CalculatedRouteInProgress"]="進行中";
-translations["CalculatedRouteFailed"]="失敗した";
-translations["CalculatedRouteSuccess"]="成功した";
-
-translations["FSAWarning"]="補給";
-translations["NoGuidance"]="No guidance";
-translations["NoManeuver"]="No maneuver";
-
-//CameraSettings
-translations["North"]="北";
-translations["South"]="南";
-translations["East"]="東";
-translations["West"]="西";
-translations["CameraTilt"]="上下";
-translations["CameraHeight"]="高さ";
-translations["CameraDistance"]="Dist";
-translations["CameraPerspective3d"]="3d";
-translations["CameraPerspective2d"]="2d";
-translations["Split"]="Sp";
-translations["Join"]="Jo";
-translations["Day"]="日";
-translations["Night"]="夜";
-
-translations["AvgSpeed"]="時速";
-translations["AvgFuel"]="燃費";
-translations["Distance"]="距離";
-translations["FuelLevel"]="燃料";
-translations["TankDistance"]="走行距離";
-translations["PredictiveTankDistance"]="予報した\n走行距離";
-translations["Reset"]="リセット";
-
-translations["Selected"]="選ばれた";
-translations["Restart"]="再スタート";
-
-translations["On"]="ON";
-translations["Off"]="OFF";
-translations["Back"]="戻る";
-translations["Cancel"]="キャンセル";
-translations["Quit"]="終了";
-
-translations["Element"]="場所";
diff --git a/src/hmi/translations/jpn_JPN_Hrkt.ts b/src/hmi/translations/jpn_JPN_Hrkt.ts
new file mode 100644
index 0000000..e0edf91
--- /dev/null
+++ b/src/hmi/translations/jpn_JPN_Hrkt.ts
@@ -0,0 +1,301 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ja_JP">
+<context>
+ <name>NavigationAppBrowseMap</name>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="89"/>
+ <source>CalculatedRouteFailed</source>
+ <translation>失敗した</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="100"/>
+ <source>CalculatedRouteInProgress</source>
+ <translation>進行中</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1018"/>
+ <source>Back</source>
+ <translation>戻る</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1288"/>
+ <source>CameraTilt</source>
+ <translation>上下</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1308"/>
+ <source>CameraHeight</source>
+ <translation>高さ</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1328"/>
+ <source>CameraDistance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1629"/>
+ <source>Restart</source>
+ <translation>再スタート</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1639"/>
+ <source>Cancel</source>
+ <translation>キャンセル</translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppMain</name>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="107"/>
+ <source>Navigation</source>
+ <translation>ナビ</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="124"/>
+ <source>Poi</source>
+ <translation>地点</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="140"/>
+ <source>Mapview</source>
+ <translation>地図</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="158"/>
+ <source>Trip</source>
+ <translation>旅行</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="173"/>
+ <source>Configuration</source>
+ <translation>設定</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="186"/>
+ <source>Quit</source>
+ <translation>終了</translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppMap</name>
+ <message>
+ <location filename="../qml/NavigationAppMap.qml" line="71"/>
+ <source>Back</source>
+ <translation>戻る</translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppPOI</name>
+ <message>
+ <location filename="../qml/NavigationAppPOI.qml" line="328"/>
+ <source>Selected</source>
+ <translation>選ばれた</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppPOI.qml" line="467"/>
+ <source>Back</source>
+ <translation>戻る</translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppSearch</name>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="344"/>
+ <source>CalculatedRouteFailed</source>
+ <translation>失敗した</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="354"/>
+ <source>CalculatedRouteInProgress</source>
+ <translation>進行中</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="728"/>
+ <source>CalculatedRouteSuccess</source>
+ <translation>成功した</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="869"/>
+ <source>Element</source>
+ <translation>場所</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="892"/>
+ <source>Country</source>
+ <translation>国</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="921"/>
+ <source>City</source>
+ <translation>町</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="950"/>
+ <source>Street</source>
+ <translation>道</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="976"/>
+ <source>Number</source>
+ <translation>番号</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1002"/>
+ <source>Guidance</source>
+ <translation>ガイダンス</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1010"/>
+ <source>DisplayRoute</source>
+ <translation>ルート</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1018"/>
+ <source>RouteDistance</source>
+ <translation>距離</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1032"/>
+ <source>RouteTime</source>
+ <translation>時間</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1046"/>
+ <source>RouteArrival</source>
+ <translation>到着</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1060"/>
+ <source>StatusTitle</source>
+ <translation>ステータス</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1090"/>
+ <source>On</source>
+ <translation>ON</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1098"/>
+ <source>Off</source>
+ <translation>OFF</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1264"/>
+ <source>Cancel</source>
+ <translation>キャンセル</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1297"/>
+ <source>Back</source>
+ <translation>戻る</translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppSettings</name>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="291"/>
+ <source>Language</source>
+ <translation>言語</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="314"/>
+ <source>Units</source>
+ <translation>ユニット</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="332"/>
+ <source>CostModel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="340"/>
+ <source>RoutingPreferences</source>
+ <translation>ルートの設定</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="348"/>
+ <source>Ferries</source>
+ <translation>フェリー</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="360"/>
+ <source>TollRoads</source>
+ <translation>通行料</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="372"/>
+ <source>MotorWays</source>
+ <translation>高速道路</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="384"/>
+ <source>Simulation</source>
+ <translation>シミュレーション</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="423"/>
+ <source>Showroom</source>
+ <translation>ショールーム</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="461"/>
+ <source>Autoguidance</source>
+ <translation>自動ガイド</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="495"/>
+ <source>Mapview</source>
+ <translation>地図</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="504"/>
+ <source>Back</source>
+ <translation>戻る</translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppTripComputer</name>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="274"/>
+ <source>AvgSpeed</source>
+ <translation>時速</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="298"/>
+ <source>AvgFuel</source>
+ <translation>燃費</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="322"/>
+ <source>Distance</source>
+ <translation>距離</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="346"/>
+ <source>FuelLevel</source>
+ <translation>燃料</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="370"/>
+ <source>TankDistance</source>
+ <translation>走行距離</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="394"/>
+ <source>PredictiveTankDistance</source>
+ <translation>予報した
+走行距離</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="399"/>
+ <source>Reset</source>
+ <translation>リセット</translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="435"/>
+ <source>Back</source>
+ <translation>戻る</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/hmi/translations/kor_KOR_Hang.ts b/src/hmi/translations/kor_KOR_Hang.ts
new file mode 100644
index 0000000..d52aad2
--- /dev/null
+++ b/src/hmi/translations/kor_KOR_Hang.ts
@@ -0,0 +1,300 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>NavigationAppBrowseMap</name>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="89"/>
+ <source>CalculatedRouteFailed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="100"/>
+ <source>CalculatedRouteInProgress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1018"/>
+ <source>Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1288"/>
+ <source>CameraTilt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1308"/>
+ <source>CameraHeight</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1328"/>
+ <source>CameraDistance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1629"/>
+ <source>Restart</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppBrowseMap.qml" line="1639"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppMain</name>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="107"/>
+ <source>Navigation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="124"/>
+ <source>Poi</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="140"/>
+ <source>Mapview</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="158"/>
+ <source>Trip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="173"/>
+ <source>Configuration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppMain.qml" line="186"/>
+ <source>Quit</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppMap</name>
+ <message>
+ <location filename="../qml/NavigationAppMap.qml" line="71"/>
+ <source>Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppPOI</name>
+ <message>
+ <location filename="../qml/NavigationAppPOI.qml" line="328"/>
+ <source>Selected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppPOI.qml" line="467"/>
+ <source>Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppSearch</name>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="344"/>
+ <source>CalculatedRouteFailed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="354"/>
+ <source>CalculatedRouteInProgress</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="728"/>
+ <source>CalculatedRouteSuccess</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="869"/>
+ <source>Element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="892"/>
+ <source>Country</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="921"/>
+ <source>City</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="950"/>
+ <source>Street</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="976"/>
+ <source>Number</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1002"/>
+ <source>Guidance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1010"/>
+ <source>DisplayRoute</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1018"/>
+ <source>RouteDistance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1032"/>
+ <source>RouteTime</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1046"/>
+ <source>RouteArrival</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1060"/>
+ <source>StatusTitle</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1090"/>
+ <source>On</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1098"/>
+ <source>Off</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1264"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSearch.qml" line="1297"/>
+ <source>Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppSettings</name>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="291"/>
+ <source>Language</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="314"/>
+ <source>Units</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="332"/>
+ <source>CostModel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="340"/>
+ <source>RoutingPreferences</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="348"/>
+ <source>Ferries</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="360"/>
+ <source>TollRoads</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="372"/>
+ <source>MotorWays</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="384"/>
+ <source>Simulation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="423"/>
+ <source>Showroom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="461"/>
+ <source>Autoguidance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="495"/>
+ <source>Mapview</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppSettings.qml" line="504"/>
+ <source>Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NavigationAppTripComputer</name>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="274"/>
+ <source>AvgSpeed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="298"/>
+ <source>AvgFuel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="322"/>
+ <source>Distance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="346"/>
+ <source>FuelLevel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="370"/>
+ <source>TankDistance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="394"/>
+ <source>PredictiveTankDistance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="399"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/NavigationAppTripComputer.qml" line="435"/>
+ <source>Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/hmi/translations/translating-qml.pro b/src/hmi/translations/translating-qml.pro
new file mode 100644
index 0000000..9b828d8
--- /dev/null
+++ b/src/hmi/translations/translating-qml.pro
@@ -0,0 +1,12 @@
+# list of source files containing strings for translation
+lupdate_only { # that way those files will be skipped by C++ compiler
+ SOURCES = ../qml/*.qml
+}
+
+# list of language files that will store translated strings for every language we want
+TRANSLATIONS = eng_USA_Latn.ts \
+ jpn_JPN_Hrkt.ts \
+ kor_KOR_Hang.ts \
+ deu_DEU_Latn.ts \
+ fra_FRA_Latn.ts
+
diff --git a/src/run b/src/run
index 0db6f03..64498bc 100755
--- a/src/run
+++ b/src/run
@@ -186,6 +186,10 @@ do
center="-0.13 51.51"
config_file=fsa_london.conf
;;
+ seoul)
+ center="126.99 37.54"
+ config_file=fsa_seoul.conf
+ ;;
[0-9-]*)
center=$OPTARG
;;
@@ -230,7 +234,7 @@ do
echo "Usage:"
echo "$0 [-a application][-c center][-ghlnoprvx]"
echo "-a: Set application (default application.qml)"
- echo "-c: Set center (supported values: paris,tokyo,longitude latitude). Default is geneve"
+ echo "-c: Set center (supported values: paris,tokyo,london,seoul,longitude latitude). Default is geneve"
echo "-d: Run subprocesses within gdb (only with -x)"
echo "-f: Load another database (for poi)"
echo "-g: Run the vehicle gateway (only with -r) -g \"<ELM327device> <GNSSdevice>\""
diff --git a/src/update_third_party.sh b/src/update_third_party.sh
index dacb8c4..a9c0f30 100755
--- a/src/update_third_party.sh
+++ b/src/update_third_party.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-navigation_version='1580c63e57e4de61a8f24d2bed2c44e3316a3641'
+navigation_version='8cd0718826f1c9b3c58cbe4446c38a01897a4af3'
positioning_version='9725fe1f553197042d6445997690d452a73490c0'
navit_version='f5abdd317e10d56226300d001469595658a605e4'
diff --git a/src/update_translation.sh b/src/update_translation.sh
new file mode 100755
index 0000000..445db3c
--- /dev/null
+++ b/src/update_translation.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+lupdate hmi/translations/translating-qml.pro
+for file in hmi/translations/*.ts
+do
+ filename=${file##*/}
+ lrelease "$file" -qm build/hmi/hmi-launcher/"${filename%.*}.qm"
+done