Commit 53ebd048 authored by Stavros Sachtouris's avatar Stavros Sachtouris Committed by Giorgos Korfiatis

Update and enhance GUI words and phrases

* Translate mistranslated or untranslated phrases to Greek
* Settings error phrases are now configurable
* Rephrase based on user feedback
parent 45b66eb5
...@@ -27,7 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. ...@@ -27,7 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<img src="static/images/logo.png" class="logo" alt="agkyra"/> <img src="static/images/logo.png" class="logo" alt="agkyra"/>
<h1>Agkyra... it syncs</h1> <h1>Agkyra... it syncs</h1>
</header> </header>
<p><b>Agkyra</b> is a minimal syncing client for Pithos+.<br/>It syncs a Pithos+ container with a local folder.</p> <p><b>Agkyra</b> is a minimal file syncing client for Pithos+.<br/>It syncs a Pithos+ container with a local folder.</p>
<p class="disclaimer">Developed and supported by the Okeanos/Synnefo development team of GRNET<br/><b>contact: agkyra@googlegroups.com</b></p> <p class="disclaimer">Developed and supported by the Okeanos/Synnefo development team of GRNET<br/><b>contact: agkyra@googlegroups.com</b></p>
......
...@@ -126,6 +126,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. ...@@ -126,6 +126,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
} }
function check_cloud_url() { function check_cloud_url() {
var url = $('#cloud-url').val().replace(/\/+$/, ''); var url = $('#cloud-url').val().replace(/\/+$/, '');
if(!url) { if(!url) {
$('#cloud-error small').text(errors.cloud_url_empty); $('#cloud-error small').text(errors.cloud_url_empty);
...@@ -206,20 +207,36 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. ...@@ -206,20 +207,36 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
fs.readFileSync(path.join('..', 'ui_data/common_' + cur_lang + '.json'))); fs.readFileSync(path.join('..', 'ui_data/common_' + cur_lang + '.json')));
var SETTINGS = COMMON.SETTINGS; var SETTINGS = COMMON.SETTINGS;
document.title = SETTINGS.TITLE; document.title = SETTINGS.TITLE;
document.getElementById('title').innerHTML = SETTINGS.TITLE; errors = {
document.getElementById('appearance_label').innerHTML = SETTINGS.APPEARANCE; cloud_url_empty: SETTINGS["CLOUD URL IS EMPTY"] || 'Provide a Cloud Authentication URL',
document.getElementById('language_label').innerHTML = SETTINGS.LANGUAGE; cloud_inaccessible: SETTINGS["CLOUD URL UNEXPECTED RESPONSE"] || 'Cloud URL did not respond as expected',
document.getElementById('start_sync_label').innerHTML = SETTINGS.SYNCONSTART; token_empty: SETTINGS["TOKEN IS EMPTY"] || 'Provide a user token (Login to retrieve token)',
document.getElementById('cloud_label').innerHTML = SETTINGS.CLOUD; token_error: SETTINGS["AUTHENTICATION FAILED"] || 'Failed to authenticate',
document.getElementById('url_label').innerHTML = SETTINGS.URL; token_cloudless: SETTINGS["TOKEN WITHOUT CLOUD"] || 'No cloud to try this token against',
document.getElementById('token_label').innerHTML = SETTINGS.TOKEN; container_empty: SETTINGS["PROVIDE CONTAINER"] || 'Provide the name of the remote container',
document.getElementById('get_creds').innerHTML = SETTINGS.RETRIEVE; dir_not_chosen: SETTINGS["SELECT DIRECTORY"] || 'Select the local directory'
document.getElementById('sync_label').innerHTML = SETTINGS.SYNC; }
document.getElementById('container_label').innerHTML = SETTINGS.CONTAINER; document.getElementById('title').innerHTML = SETTINGS.TITLE || "Settings";
document.getElementById('directory_label').innerHTML = SETTINGS.DIRECTORY; document.getElementById('appearance_label').innerHTML = SETTINGS.GENERAL || "General";
document.getElementById('dirdialogue_label').innerHTML = SETTINGS.DIRDIALOGUE; document.getElementById('language_label').innerHTML = SETTINGS.LANGUAGE || "Language";
document.getElementById('start_sync_label').innerHTML = SETTINGS.SYNCONSTART || "Sync on Start";
document.getElementById('cloud_label').innerHTML = SETTINGS.CLOUD || "Cloud";
document.getElementById('url_label').innerHTML = SETTINGS.URL || "URL";
document.getElementById('token_label').innerHTML = SETTINGS.TOKEN || "Token";
document.getElementById('get_creds').innerHTML = SETTINGS.RETRIEVE || "Retrieve token";
document.getElementById('sync_label').innerHTML = SETTINGS.SYNC || "Sync pair";
document.getElementById('container_label').innerHTML = SETTINGS.CONTAINER || "Container";
document.getElementById('directory_label').innerHTML = SETTINGS.DIRECTORY || "Directory";
document.getElementById('dirdialogue_label').innerHTML = SETTINGS.DIRDIALOGUE || "Select directory";
document.getElementById('sync_button').innerHTML = SETTINGS.SAVE; document.getElementById('sync_button').innerHTML = SETTINGS.SAVE;
var cloud_placeholder = SETTINGS["CLOUD URL PLACEHOLDER"] || "Authentication URL";
$('#cloud-url').attr('placeholder', cloud_placeholder);
var token_placeholder = SETTINGS["TOKEN PLACEHOLDER"] || "User Token";
$('#token').attr('placeholder', token_placeholder);
var container_placeholder = SETTINGS["CONTAINER PLACEHOLDER"] || "Container";
$('#container').attr('placeholder', container_placeholder)
var lang_code = ''; var lang_code = '';
for (key in LANG) { for (key in LANG) {
var lang = LANG[key]; var lang = LANG[key];
......
...@@ -13,12 +13,6 @@ ...@@ -13,12 +13,6 @@
"CONTAINER ERROR": 204, "CONTAINER ERROR": 204,
"CRITICAL ERROR": 1000 "CRITICAL ERROR": 1000
}, },
"DIALOGUE": {
"203": "Η Agkyra έχει απενεργοποιηθεί διότι ο τοπικός φάκελος \"%s\" έχει εξαφανιστεί. Επιθυμείτε τη δημιουργία του εκ νέου και την επανεκκίνηση του συγχρονισμού;",
"204": "Η Agkyra έχει απενεργοποιηθεί διότι ο απομακρυσμένος περιέκτης (container) \"%s\" έχει εξαφανιστεί. Επιθυμείτε τη δημιουργία του εκ νέου και την επανεκκίνηση του συγχρονισμού;",
"OK": "Εντάξει",
"CANCEL": "Άκυρο"
},
"NOTIFICATION": { "NOTIFICATION": {
"0": "Ανενεργό", "0": "Ανενεργό",
"1": "Εκκίνηση ...", "1": "Εκκίνηση ...",
...@@ -33,6 +27,12 @@ ...@@ -33,6 +27,12 @@
"204": "Σφάλμα με τον απομακρυσμένο περιέκτη (container)", "204": "Σφάλμα με τον απομακρυσμένο περιέκτη (container)",
"1000": "Κρίσιμο σφάλμα" "1000": "Κρίσιμο σφάλμα"
}, },
"DIALOGUE": {
"203": "Η Agkyra έχει απενεργοποιηθεί διότι ο τοπικός φάκελος \"%s\" έχει εξαφανιστεί. Επιθυμείτε τη δημιουργία του εκ νέου και την επανεκκίνηση του συγχρονισμού;",
"204": "Η Agkyra έχει απενεργοποιηθεί διότι ο απομακρυσμένος περιέκτης (container) \"%s\" έχει εξαφανιστεί. Επιθυμείτε τη δημιουργία του εκ νέου και την επανεκκίνηση του συγχρονισμού;",
"OK": "Εντάξει",
"CANCEL": "Άκυρο"
},
"MENU": { "MENU": {
"TITLE": "Συγχρονιστής αρχείων Agkyra", "TITLE": "Συγχρονιστής αρχείων Agkyra",
"START": "Εκκίνηση συγχρονισμού", "START": "Εκκίνηση συγχρονισμού",
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
"WAITING": "Αναμονή...", "WAITING": "Αναμονή...",
"REMAINING": "απομένουν %s", "REMAINING": "απομένουν %s",
"FOLDER": "Τοπικός φάκελος", "FOLDER": "Τοπικός φάκελος",
"PITHOS": "Σελίδα στο Pithos+", "PITHOS": "Άνοιγμα σελίδας Pithos+",
"SETTINGS": "Ρυθμίσεις", "SETTINGS": "Ρυθμίσεις",
"SETTINGSOPEN": "Ανοιχτό παράθυρο ρυθμίσεων", "SETTINGSOPEN": "Ανοιχτό παράθυρο ρυθμίσεων",
"ABOUT": "Σχετικά", "ABOUT": "Σχετικά",
...@@ -53,8 +53,8 @@ ...@@ -53,8 +53,8 @@
"error": "Agkyra - σφάλμα!" "error": "Agkyra - σφάλμα!"
}, },
"SETTINGS": { "SETTINGS": {
"TITLE": "Ρυθμίσεις χρήστη", "TITLE": "Ρυθμίσεις",
"APPEARANCE": "Εμφάνιση", "GENERAL": "Γενικές ρυθμίσεις",
"LANGUAGE": "Γλώσσα", "LANGUAGE": "Γλώσσα",
"SYNCONSTART": "Έναρξη συγχρονισμού στην εκκίνηση", "SYNCONSTART": "Έναρξη συγχρονισμού στην εκκίνηση",
"CLOUD": "Απομακρυσμένο σύστημα (νέφος)", "CLOUD": "Απομακρυσμένο σύστημα (νέφος)",
...@@ -65,6 +65,16 @@ ...@@ -65,6 +65,16 @@
"CONTAINER": "Περιέκτης (container)", "CONTAINER": "Περιέκτης (container)",
"DIRECTORY": "Τοπικός φάκελος", "DIRECTORY": "Τοπικός φάκελος",
"DIRDIALOGUE": "Επιλογή φακέλου", "DIRDIALOGUE": "Επιλογή φακέλου",
"SAVE": "Αποθήκευση" "SAVE": "Αποθήκευση",
"CLOUD URL PLACEHOLDER": "Διεύθυνση (URL) εξουσιοδότησης",
"TOKEN PLACEHOLDER": "Κλειδί (token) πρόσβασης",
"CONTAINER PLACEHOLDER": "Απομακρυσμένος περιέκτης Pithos+",
"CLOUD URL IS EMPTY": "Δώστε τη Διεύθυνση (URL) εξουσιοδότησης του νέφους",
"CLOUD URL UNEXPECTED RESPONSE": "Η απόκριση του νέφους δεν ήταν η αναμενόμενη",
"TOKEN IS EMPTY": "Δώστε το κλειδί πρόσβασης (token) ή επιλέξτε είσοδο με όνομα χρήστη/κωδικό",
"AUTHENTICATION FAILED": "Η εξουσιοδότηση απέτυχε",
"TOKEN WITHOUT CLOUD": "Δεν έχετε δώσει διεύθυνση νέφους",
"PROVIDE CONTAINER": "Δώστε το όνομα του περιέκτη (container) Pithos+",
"SELECT DIRECTORY": "Επιλέξτε ένα τοπικό φάκελο"
} }
} }
...@@ -34,14 +34,14 @@ ...@@ -34,14 +34,14 @@
"CANCEL": "Cancel" "CANCEL": "Cancel"
}, },
"MENU": { "MENU": {
"TITLE": "Agkyra Syncing Client", "TITLE": "Agkyra File Syncer",
"START": "Start syncing", "START": "Start syncing",
"PAUSE": "Pause syncing", "PAUSE": "Pause syncing",
"INACTIVE": "Inactive", "INACTIVE": "Inactive",
"WAITING": "Waiting...", "WAITING": "Waiting...",
"REMAINING": "%s remaining", "REMAINING": "%s remaining",
"FOLDER": "Open local folder", "FOLDER": "Open local folder",
"PITHOS": "Launch Pithos+ page", "PITHOS": "Go to Pithos+ page",
"SETTINGS": "Settings", "SETTINGS": "Settings",
"SETTINGSOPEN": "Settings window is open", "SETTINGSOPEN": "Settings window is open",
"ABOUT": "About", "ABOUT": "About",
...@@ -53,18 +53,28 @@ ...@@ -53,18 +53,28 @@
"error": "Agkyra error" "error": "Agkyra error"
}, },
"SETTINGS": { "SETTINGS": {
"TITLE": "User Settings", "TITLE": "Settings",
"APPEARANCE": "Appearance", "GENERAL": "General Settings",
"LANGUAGE": "Language", "LANGUAGE": "Language",
"SYNCONSTART": "Sync on start up", "SYNCONSTART": "Sync on start up",
"CLOUD": "Cloud", "CLOUD": "Cloud",
"URL": "Cloud URL", "URL": "Cloud URL",
"TOKEN": "User Token", "TOKEN": "User Token",
"RETRIEVE": "Login to retrieve token", "RETRIEVE": "Login with user name/password",
"SYNC": "What to sync", "SYNC": "What to sync",
"CONTAINER": "Remote container", "CONTAINER": "Remote container",
"DIRECTORY": "Local directory", "DIRECTORY": "Local directory",
"DIRDIALOGUE": "Select", "DIRDIALOGUE": "Select directory",
"SAVE": "Save" "SAVE": "Save",
"CLOUD URL PLACEHOLDER": "Authentication URL",
"TOKEN PLACEHOLDER": "User token",
"CONTAINER PLACEHOLDER": "Pithos+ container",
"CLOUD URL IS EMPTY": "Provide a Cloud Authentication URL",
"CLOUD URL UNEXPECTED RESPONSE": "Cloud URL did not respond as expected",
"TOKEN IS EMPTY": "Provide a user token or login with user name/password",
"AUTHENTICATION FAILED": "Failed to authenticate",
"TOKEN WITHOUT CLOUD": "The cloud URL is missing",
"PROVIDE CONTAINER": "Provide the name of the Pithos+ container",
"SELECT DIRECTORY": "Select the local directory"
} }
} }
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment