From 80aff3f26803b7550df90805c8abb04441d41173 Mon Sep 17 00:00:00 2001 From: Aria <aria@suma-ev.de> Date: Mon, 22 Jan 2018 12:08:43 +0100 Subject: [PATCH] =?UTF-8?q?Key-Value=20Paare=20f=C3=BCr=20hoffentlich=20al?= =?UTF-8?q?le=20JS-Strings=20angelegt,=20translate=20Funktion=20wird=20nun?= =?UTF-8?q?=20genutzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/js/settings.js | 24 ++------------ public/js/translations.js | 36 ++++++++++++--------- resources/assets/js/scriptStartPage.js | 20 ++++-------- resources/assets/js/translations.js | 43 ++++++++++++++++++++++++++ 4 files changed, 73 insertions(+), 50 deletions(-) create mode 100644 resources/assets/js/translations.js diff --git a/public/js/settings.js b/public/js/settings.js index 8910eb9cd..2d2b36370 100644 --- a/public/js/settings.js +++ b/public/js/settings.js @@ -27,31 +27,11 @@ $(document).ready(function () { }); $('#unten').click(function () { $('#settings-form').append('<input type="hidden" name="usage" value="once">'); - switch (getLanguage()) { - case 'de': - alert('Auf der folgenden Startseite sind Ihre Einstellungen nun einmalig gespeichert. Nach Ihrer ersten Suche sind diese wieder verloren. Wenn Sie diese speichern möchten, können Sie sich allerdings ein Lesezeichen für die generierte Startseite einrichten.'); - break; - case 'en': - alert('On the following startpage your settings are saved one-time. They will be lost after your first search. Though if you want to save them, you can create a bookmark for the generated startpage.'); - break; - case 'es': - // alert(""); TODO - break; - } + alert(t('saved-settings')); }); $('#plugin').click(function () { $('form').attr('action', $('#save').attr('data-href') + '#plugin-modal'); - switch (getLanguage()) { - case 'de': - alert('Ihr Browserplugin mit den persönlichen Sucheinstellungen wurde generiert. Folgen Sie bitte der Anleitung auf der folgenden Seite um es zu installieren. Beachten Sie: Zuvor sollten Sie ein eventuell bereits installiertes MetaGer-Plugin entfernen.'); - break; - case 'en': - alert('Your browser plugin with personal settings was generated. Please follow the instructions on the following page to install it. Notice that beforehand you might have to delete a former MetaGer plugin.'); - break; - case 'es': - // alert(""); TODO - break; - } + alert(t('generated-plugin')); }); $('#settings-focus').val('angepasst'); }); diff --git a/public/js/translations.js b/public/js/translations.js index e8d068492..53dcd970c 100644 --- a/public/js/translations.js +++ b/public/js/translations.js @@ -1,36 +1,44 @@ // Speichert die Übersetzungen var translations = { 'de': { - 'key': 'Bitte mindestens 1 Suchmaschine auswählen.' + 'select-engine': 'Bitte mindestens 1 Suchmaschine auswählen.', + 'select-valid-name': 'Bitte gültigen Namen eingeben:\n* Keine Sonderzeichen\n* Mindestens 1 Buchstabe\n', + 'confirm-overwrite-name': 'Name bereits genutzt.\nÜberschreiben?', + 'saved-settings': 'Auf der folgenden Startseite sind Ihre Einstellungen nun einmalig gespeichert. Nach Ihrer ersten Suche sind diese wieder verloren. Wenn Sie diese speichern möchten, können Sie sich allerdings ein Lesezeichen für die generierte Startseite einrichten.', + 'generated-plugin': 'Ihr Browserplugin mit den persönlichen Sucheinstellungen wurde generiert. Folgen Sie bitte der Anleitung auf der folgenden Seite um es zu installieren. Beachten Sie: Zuvor sollten Sie ein eventuell bereits installiertes MetaGer-Plugin entfernen.' }, 'en': { - 'key' : 'Please select at least 1 search engine.' + 'select-engine' : 'Please select at least 1 search engine.', + 'select-valid-name': 'No characters other than a-z, A-Z, 0-9, ä, ö, ü, ß, -, _ allowed, at least 1 character', + 'confirm-overwrite-name': 'Name already in use.\nOverwrite?', + 'saved-settings': 'On the following startpage your settings are saved one-time. They will be lost after your first search. Though if you want to save them, you can create a bookmark for the generated startpage.', + 'generated-plugin': 'Your browser plugin with personal settings was generated. Please follow the instructions on the following page to install it. Notice that beforehand you might have to delete a former MetaGer plugin.' }, 'es': { - 'key': 'Por favor, seleccione al menos un motor de búsqueda.' + 'select-engine': 'Por favor, seleccione al menos un motor de búsqueda.', + 'select-valid-name': 'Por favor, introduzca un nombre válido constituido por letras y números.', + 'confirm-overwrite-name': 'Nombre ya ha sido elegido.\n¿Substituirlo?', + // 'saved-settings': '', + // 'generated-plugin': '' } } /** * Übersetzt den gegebenen Schlüssel in der gegebenen Sprache + * Gibt standardmäßig deutsche Sprachstrings zurück, da davon ausgegangen werden kann, dass diese immer vorhanden sind * @param {string} key Zu übersetzender Schlüssel * @param {string} lang Zu verwendende Sprache */ function t(key, lang) { - if (translations[lang] && translations[lang][key]) { + if (arguments.length == 1) { + var lang = $('html').attr('lang'); + return translations[lang][key]; + } else if (arguments.length == 2 && translations[lang] && translations[lang][key]) { return translations[lang][key]; } else { - return ''; + return translations.de[key]; } } - -/** - * Übersetzt den gegebenen Schlüssel in der aktuellen Sprache des HTML-Dokuments (<html lang="...">) - * @param {string} key Zu übersetzender Schlüssel - */ -function t(key) { - var lang = $('html').attr('lang'); - return t(key, lang); -} +//# sourceMappingURL=translations.js.map diff --git a/resources/assets/js/scriptStartPage.js b/resources/assets/js/scriptStartPage.js index 071411f56..b44c328a2 100644 --- a/resources/assets/js/scriptStartPage.js +++ b/resources/assets/js/scriptStartPage.js @@ -276,12 +276,16 @@ function toggleDeleteButton() { */ function saveFocus () { var name = document.getElementById('focus-name').value; - if (isValidName(name) && atLeastOneChecked()) { + if(!isValidName(name)) { + alert(t('select-valid-name')); + } else if(atLeastOneChecked()) { + alert(t('select-engine')); + } else { var oldId = document.getElementById('original-id').value; var id = getIdFromName(name); var overwrite = true; if (alreadyInUse(name) && oldId !== id) { - overwrite = confirm('Name bereits genutzt\nüberschreiben?'); + overwrite = confirm(t('confirm-overwrite-name')); if (overwrite) { localStorage.removeItem(id); removeFocusById(id); @@ -301,18 +305,6 @@ function saveFocus () { addFocus(name); $('#create-focus-modal').modal('hide'); } - } else { - switch(document.documentElement.lang) { - case 'en': - alert('Please select at least 1 search engine.'); - break; - case 'es': - alert('Por favor, seleccione al menos un motor de búsqueda.'); - break; - default: - alert('Bitte mindestens 1 Suchmaschine auswählen.'); - break; - } } } /** diff --git a/resources/assets/js/translations.js b/resources/assets/js/translations.js new file mode 100644 index 000000000..0b7c0ae02 --- /dev/null +++ b/resources/assets/js/translations.js @@ -0,0 +1,43 @@ +// Speichert die Übersetzungen +var translations = { + 'de': { + 'select-engine': 'Bitte mindestens 1 Suchmaschine auswählen.', + 'select-valid-name': 'Bitte gültigen Namen eingeben:\n* Keine Sonderzeichen\n* Mindestens 1 Buchstabe\n', + 'confirm-overwrite-name': 'Name bereits genutzt.\nÜberschreiben?', + 'saved-settings': 'Auf der folgenden Startseite sind Ihre Einstellungen nun einmalig gespeichert. Nach Ihrer ersten Suche sind diese wieder verloren. Wenn Sie diese speichern möchten, können Sie sich allerdings ein Lesezeichen für die generierte Startseite einrichten.', + 'generated-plugin': 'Ihr Browserplugin mit den persönlichen Sucheinstellungen wurde generiert. Folgen Sie bitte der Anleitung auf der folgenden Seite um es zu installieren. Beachten Sie: Zuvor sollten Sie ein eventuell bereits installiertes MetaGer-Plugin entfernen.' + }, + + 'en': { + 'select-engine' : 'Please select at least 1 search engine.', + 'select-valid-name': 'No characters other than a-z, A-Z, 0-9, ä, ö, ü, ß, -, _ allowed, at least 1 character', + 'confirm-overwrite-name': 'Name already in use.\nOverwrite?', + 'saved-settings': 'On the following startpage your settings are saved one-time. They will be lost after your first search. Though if you want to save them, you can create a bookmark for the generated startpage.', + 'generated-plugin': 'Your browser plugin with personal settings was generated. Please follow the instructions on the following page to install it. Notice that beforehand you might have to delete a former MetaGer plugin.' + }, + + 'es': { + 'select-engine': 'Por favor, seleccione al menos un motor de búsqueda.', + 'select-valid-name': 'Por favor, introduzca un nombre válido constituido por letras y números.', + 'confirm-overwrite-name': 'Nombre ya ha sido elegido.\n¿Substituirlo?', + // 'saved-settings': '', + // 'generated-plugin': '' + } +} + +/** + * Übersetzt den gegebenen Schlüssel in der gegebenen Sprache + * Gibt standardmäßig deutsche Sprachstrings zurück, da davon ausgegangen werden kann, dass diese immer vorhanden sind + * @param {string} key Zu übersetzender Schlüssel + * @param {string} lang Zu verwendende Sprache + */ +function t(key, lang) { + if (arguments.length == 1) { + var lang = $('html').attr('lang'); + return translations[lang][key]; + } else if (arguments.length == 2 && translations[lang] && translations[lang][key]) { + return translations[lang][key]; + } else { + return translations.de[key]; + } +} \ No newline at end of file -- GitLab