diff --git a/front/js/pialert_common.js b/front/js/pialert_common.js
index cba4b4dd..a249a72c 100755
--- a/front/js/pialert_common.js
+++ b/front/js/pialert_common.js
@@ -143,24 +143,19 @@ function cacheStrings()
{
// handle core strings and translations
- var allLanguages = ["en_us","es_es","de_de"]; // needs to be same as in lang.php
+ var allLanguages = ["en_us", "es_es", "de_de"]; // needs to be same as in lang.php
allLanguages.forEach(function (language_code) {
-
- $.get(`php/templates/language/${language_code}.json`, function(res) {
-
- Object.entries(res).forEach(([language, translations]) => {
-
- Object.entries(translations).forEach(([key, value]) => {
- // store as key - value pairs in session
- setCache(`pia_lang_${key}_${language}`, value)
- });
+ $.get(`php/templates/language/${language_code}.json`, function (res) {
+ // Iterate over each language
+ Object.entries(res).forEach(([key, value]) => {
+ // Store translations for each key-value pair
+ setCache(`pia_lang_${key}_${language_code}`, value)
});
-
- })
-
+ });
});
+
// handle strings and translations from plugins
$.get('api/table_plugins_language_strings.json', function(res) {
diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json
index c505354d..ebe73f0d 100755
--- a/front/php/templates/language/de_de.json
+++ b/front/php/templates/language/de_de.json
@@ -1,5 +1,5 @@
{
- "de_de": {
+
"API_CUSTOM_SQL_description": "Benutzerdefinierte SQL-Abfrage, welche eine JSON-Datei generiert und diese mit dem Dateiendpunkt table_custom_endpoint.json zur Verf\u00fcgung stellt.",
"API_CUSTOM_SQL_name": "Benutzerdefinierte SQL-Abfrage",
"API_display_name": "API",
@@ -712,5 +712,5 @@
"settings_system_label": "",
"test_event_icon": "fa-vial-circle-check",
"test_event_tooltip": "Save your changes at first before you test your settings."
- }
+
}
\ No newline at end of file
diff --git a/front/php/templates/language/en_us.json b/front/php/templates/language/en_us.json
index d5689ff1..5f479ff4 100755
--- a/front/php/templates/language/en_us.json
+++ b/front/php/templates/language/en_us.json
@@ -1,5 +1,5 @@
{
- "en_us": {
+
"API_CUSTOM_SQL_description": "You can specify a custom SQL query which will generate a JSON file and then expose it via the table_custom_endpoint.json file endpoint.",
"API_CUSTOM_SQL_name": "Custom endpoint",
"API_display_name": "API",
@@ -631,5 +631,5 @@
"settings_system_label": "System",
"test_event_icon": "fa-vial-circle-check",
"test_event_tooltip": "Save your changes at first before you test your settings."
- }
+
}
\ No newline at end of file
diff --git a/front/php/templates/language/es_es.json b/front/php/templates/language/es_es.json
index e1247e5b..103f3c01 100755
--- a/front/php/templates/language/es_es.json
+++ b/front/php/templates/language/es_es.json
@@ -1,5 +1,5 @@
{
- "es_es": {
+
"API_CUSTOM_SQL_description": "Puede especificar una consulta SQL personalizada que generar\u00e1 un archivo JSON y luego lo expondr\u00e1 a trav\u00e9s del archivo table_custom_endpoint.json.",
"API_CUSTOM_SQL_name": "Endpoint personalizado",
"API_display_name": "API",
@@ -711,5 +711,5 @@
"settings_system_label": "",
"test_event_icon": "fa-vial-circle-check",
"test_event_tooltip": "Guarda tus cambios antes de probar nuevos ajustes."
- }
+
}
\ No newline at end of file
diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json
index 1379a358..3c1e5549 100755
--- a/front/php/templates/language/fr_fr.json
+++ b/front/php/templates/language/fr_fr.json
@@ -1,5 +1,5 @@
{
- "fr_fr": {
+
"API_CUSTOM_SQL_description": "",
"API_CUSTOM_SQL_name": "",
"API_display_name": "",
@@ -631,5 +631,5 @@
"settings_system_label": "",
"test_event_icon": "",
"test_event_tooltip": ""
- }
+
}
\ No newline at end of file
diff --git a/front/php/templates/language/lang.php b/front/php/templates/language/lang.php
index 39a7c42e..537a6be5 100755
--- a/front/php/templates/language/lang.php
+++ b/front/php/templates/language/lang.php
@@ -31,33 +31,28 @@ function getLanguageDataFromJson()
{
global $allLanguages;
- // Default language
- $defaultLanguage = 'en_us';
-
// Array to hold the language data from the JSON files
$languageData = [];
-
+
foreach ($allLanguages as $language) {
// Load and parse the JSON data from .json files
$jsonFilePath = dirname(__FILE__) . '/' . $language . '.json';
-
+
if (file_exists($jsonFilePath)) {
$data = json_decode(file_get_contents($jsonFilePath), true);
-
- // Use the default language if the key is not found
- $languageData[$language] = $data[$language] ?? $data[$defaultLanguage] ?? [];
+
+ // Adjusting for the changed JSON format
+ $languageData[$language] = $data;
} else {
// Handle the case where the JSON file doesn't exist
// For example, you might want to log an error message
- echo 'File not found: '.$jsonFilePath;
-
+ echo 'File not found: ' . $jsonFilePath;
}
}
return $languageData;
}
-
// Merge the JSON data with the SQL data, giving priority to SQL data for overlapping keys
function mergeLanguageData($jsonLanguageData, $sqlLanguageData)
{
@@ -76,30 +71,31 @@ function mergeLanguageData($jsonLanguageData, $sqlLanguageData)
function lang($key)
{
- global $pia_lang_selected, $lang, $defaultLang, $strings, $db;
- // Get the data from JSON files
- $languageData = getLanguageDataFromJson();
+ global $pia_lang_selected, $strings;
- // Get the data from SQL query
- $sqlLanguageData = $strings;
+ // Get the data from JSON files
+ $languageData = getLanguageDataFromJson();
- // Merge JSON data with SQL data
- $mergedLanguageData = mergeLanguageData($languageData, $sqlLanguageData);
+ // Get the data from SQL query
+ $sqlLanguageData = $strings;
- // Check if the key exists in the selected language
- if (isset($mergedLanguageData[$pia_lang_selected][$key]) and $mergedLanguageData[$pia_lang_selected][$key] != '') {
- $result = $mergedLanguageData[$pia_lang_selected][$key];
- } else {
- // If key not found in selected language, use "en_us" as fallback
- if (isset($mergedLanguageData['en_us'][$key])) {
- $result = $mergedLanguageData['en_us'][$key];
+ // Merge JSON data with SQL data
+ $mergedLanguageData = mergeLanguageData($languageData, $sqlLanguageData);
+
+ // Check if the key exists in the selected language
+ if (isset($mergedLanguageData[$pia_lang_selected][$key]) && $mergedLanguageData[$pia_lang_selected][$key] != '') {
+ $result = $mergedLanguageData[$pia_lang_selected][$key];
} else {
- // If key not found in "en_us" either, use a default string
- $result = "String Not found for key " . $key;
+ // If key not found in selected language, use "en_us" as fallback
+ if (isset($mergedLanguageData['en_us'][$key])) {
+ $result = $mergedLanguageData['en_us'][$key];
+ } else {
+ // If key not found in "en_us" either, use a default string
+ $result = "String Not found for key " . $key;
+ }
}
- }
- return $result;
+ return $result;
}
diff --git a/front/php/templates/language/nb_no.json b/front/php/templates/language/nb_no.json
index 3c3fefa8..fdf2e377 100755
--- a/front/php/templates/language/nb_no.json
+++ b/front/php/templates/language/nb_no.json
@@ -1,5 +1,5 @@
{
- "nb_no": {
+
"API_CUSTOM_SQL_description": "",
"API_CUSTOM_SQL_name": "",
"API_display_name": "",
@@ -631,5 +631,5 @@
"settings_system_label": "",
"test_event_icon": "",
"test_event_tooltip": ""
- }
+
}
\ No newline at end of file