diff --git a/data/translate/EN.json b/data/translate/EN.json
new file mode 100644
index 00000000..5d5d4a1e
--- /dev/null
+++ b/data/translate/EN.json
@@ -0,0 +1,6 @@
+{
+ "FileChooser":"File chooser ...",
+ "Cancel":"Cancel",
+ "Validate":"Validate",
+ "ShowHiddenFiles":"Show hiden files"
+}
\ No newline at end of file
diff --git a/data/translate/FR.json b/data/translate/FR.json
new file mode 100644
index 00000000..f0ec5f8d
--- /dev/null
+++ b/data/translate/FR.json
@@ -0,0 +1,6 @@
+{
+ "FileChooser":"Sélection d'un fichier ...",
+ "Cancel":"Annuler",
+ "Validate":"Valider",
+ "ShowHiddenFiles":"Afficher les fichiers cachés"
+}
\ No newline at end of file
diff --git a/external/agg b/external/agg
index 31442b46..8bf2d17b 160000
--- a/external/agg
+++ b/external/agg
@@ -1 +1 @@
-Subproject commit 31442b4615e43ebda829622b4da4961c32e01f26
+Subproject commit 8bf2d17b61989d8fbe01cbd1228147ab52e19d23
diff --git a/external/enet b/external/enet
index 488658ae..77dd712c 160000
--- a/external/enet
+++ b/external/enet
@@ -1 +1 @@
-Subproject commit 488658aecf730231e265d7d6b6887d00b74f9dec
+Subproject commit 77dd712c56d11f1a6e1b98180f2f717dec52ab96
diff --git a/external/esvg b/external/esvg
index 467a412c..95215e43 160000
--- a/external/esvg
+++ b/external/esvg
@@ -1 +1 @@
-Subproject commit 467a412ccdfeee3e64ec57c82ba36fda275483b9
+Subproject commit 95215e438d27f4ee715a1bf33fa491d89cb98f15
diff --git a/sources/ewol/translate.cpp b/sources/ewol/translate.cpp
index cfe5714d..2e46be2b 100644
--- a/sources/ewol/translate.cpp
+++ b/sources/ewol/translate.cpp
@@ -117,6 +117,45 @@ class LocalInstanceTranslation {
if (m_translateLoadad == true) {
return;
}
+ // start parse language for Major:
+ auto itMajor = m_listPath.find(m_major);
+ if (itMajor != m_listPath.end()) {
+ std::string filename(itMajor->second + "/" + m_language + ".json");
+ ejson::Document doc;
+ doc.load(filename);
+ for (auto element : doc.getKeys()) {
+ std::string val = doc.getStringValue(element);
+ m_translate.insert(make_pair(element, val));
+ }
+ filename = itMajor->second + "/" + m_languageDefault + ".json";
+ doc.load(filename);
+ for (auto element : doc.getKeys()) {
+ std::string val = doc.getStringValue(element);
+ auto itTrans = m_translate.find(element);
+ if (itTrans == m_translate.end()) {
+ m_translate.insert(make_pair(element, val));
+ }
+ }
+ }
+ // start parse language:
+ for (auto &it : m_listPath) {
+ if (it.first == m_major) {
+ continue;
+ }
+ std::string filename(it.second + "/" + m_languageDefault + ".json");
+ if (etk::FSNodeExist(filename) == false) {
+ continue;
+ }
+ ejson::Document doc;
+ doc.load(filename);
+ for (auto element : doc.getKeys()) {
+ std::string val = doc.getStringValue(element);
+ auto itTrans = m_translate.find(element);
+ if (itTrans == m_translate.end()) {
+ m_translate.insert(make_pair(element, val));
+ }
+ }
+ }
// start parse default language:
for (auto &it : m_listPath) {
if (it.first == m_major) {
@@ -128,22 +167,14 @@ class LocalInstanceTranslation {
}
ejson::Document doc;
doc.load(filename);
- }
- // start parse default language for Major:
- auto itMajor = m_listPath.find(m_major);
- if (itMajor != m_listPath.end()) {
-
- }
- // start parse language:
- for (auto &it : m_listPath) {
- if (it.first == m_major) {
- continue;
+ for (auto element : doc.getKeys()) {
+ std::string val = doc.getStringValue(element);
+ auto itTrans = m_translate.find(element);
+ if (itTrans == m_translate.end()) {
+ m_translate.insert(make_pair(element, val));
+ }
}
}
- // start parse language for Major:
- if (itMajor != m_listPath.end()) {
-
- }
}
};
diff --git a/sources/ewol/widget/meta/FileChooser.cpp b/sources/ewol/widget/meta/FileChooser.cpp
index 5542db54..03a55085 100644
--- a/sources/ewol/widget/meta/FileChooser.cpp
+++ b/sources/ewol/widget/meta/FileChooser.cpp
@@ -99,7 +99,7 @@ ewol::widget::FileChooser::FileChooser(void) {
+ " \n"
+ " \n"
+ " \n"
- + " \n"
+ + " \n"
+ " \n"
+ "";
loadFromString(myDescription);