-
@@ -59,7 +67,7 @@
Select a server from the menu
-Use the navigation bar to add a new Minecraft Server or connect to a previously added one.
+Select a server from the menu
+Use the navigation bar to add a new Minecraft Server or connect to a previously added one.
-
@@ -185,7 +193,7 @@
×
Players Online
+Players Online
0 / Unknown
@@ -118,25 +126,25 @@
@@ -156,19 +164,19 @@
-
+
-
+
+
Connection was lost with the server you were connected to. Moved back to welcome screen.
@@ -198,7 +206,7 @@
@@ -208,6 +216,7 @@
+
diff --git a/client/scripts/WebConsole.js b/client/scripts/WebConsole.js
index 29d77e7..9f06cb2 100644
--- a/client/scripts/WebConsole.js
+++ b/client/scripts/WebConsole.js
@@ -9,6 +9,7 @@
*/
var persistenceManager = new WebConsolePersistenceManager();
var connectionManager = new WebConsoleManager();
+var lang;
var autoPasswordCompleted = false; //When true, saved password was used. If a 401 is received, then saved password is not correct
var statusCommandsInterval = -1;
var commandHistoryIndex = -1; //Saves current command history index. -1 when not browsing history.
diff --git a/client/scripts/WebConsoleJqueryHandler.js b/client/scripts/WebConsoleJqueryHandler.js
index 8730513..01ffb18 100644
--- a/client/scripts/WebConsoleJqueryHandler.js
+++ b/client/scripts/WebConsoleJqueryHandler.js
@@ -10,6 +10,7 @@
$(document).ready(function() {
$("#serverContainer").hide();
updateServerList();
+ setLanguage(persistenceManager.getLanguage());
});
/**
@@ -92,7 +93,7 @@ $("#sendCommandButton").click(function() {
});
/**
-* Enter or arrow up key on command input
+* Enter or arrow down/up key on command input
*/
$("#commandInput").on('keydown', function (e) {
if(e.which === 13){ //Detect enter key
diff --git a/client/scripts/WebConsoleLanguage.js b/client/scripts/WebConsoleLanguage.js
new file mode 100644
index 0000000..93edd0c
--- /dev/null
+++ b/client/scripts/WebConsoleLanguage.js
@@ -0,0 +1,93 @@
+/**
+ WebConsole Language Manager for WebConsole
+ Used to save your preferred language into your browser
+ https://github.com/mesacarlos
+ 2019 Carlos Mesa under MIT License.
+*/
+function setLanguage(locale){
+ //Save to persistence
+ persistenceManager.setLanguage(locale);
+ //Set dialog phrases
+ switch(locale){
+ case "en_US":
+ lang = {
+ "home_link": "Home",
+ "home_header": "Select a server from the menu",
+ "home_description": "Use the navigation bar to add a new Minecraft Server or connect to a previously added one.",
+ "server_dropdown": "Your servers",
+ "add_server": "Add Server",
+ "lang_dropdown": "Language",
+ "addServerModalLongTitle": "Add a new server",
+ "addServerModalSvName": "Server name:",
+ "addServerModalSvIp": "Server IP:",
+ "addServerModalSvPort": "WebConsole port:",
+ "addServerModalSvSsl": "Server is SSL enabled",
+ "addServerModalClose": "Close",
+ "saveAndConnectServerButton": "Save and connect",
+ "passwordModalLongTitle": "Password required",
+ "passwordModalLabel": "Password:",
+ "passwordModalRememberLabel": "Remember password",
+ "passwordModalCloseButton": "Close",
+ "passwordSendButton": "Login",
+ "disconnectionModalLongTitle": "Disconnected",
+ "disconnectionModalDescription": "Connection was lost with the server you were connected to, probably caused by a server stop. Moved back to welcome screen.",
+ "players_online": "Players Online",
+ "deleteServerButton": "Delete server",
+ "sendCommandButton": "Send"
+ }
+ break;
+ case "es_ES":
+ lang = {
+ "home_link": "Inicio",
+ "home_header": "Selecciona un servidor del menú",
+ "home_description": "Usa la barra superior para añadir un nuevo servidor de Minecraft o para conectarte a un servidor añadido previamente.",
+ "server_dropdown": "Tus servidores",
+ "add_server": "Añadir Server",
+ "lang_dropdown": "Idioma",
+ "addServerModalLongTitle": "Añadir un nuevo servidor",
+ "addServerModalSvName": "Nombre del servidor:",
+ "addServerModalSvIp": "IP del servidor:",
+ "addServerModalSvPort": "Puerto WebConsole:",
+ "addServerModalSvSsl": "SSL está activado",
+ "addServerModalClose": "Cerrar",
+ "saveAndConnectServerButton": "Guardar y conectar",
+ "passwordModalLongTitle": "Se necesita contraseña",
+ "passwordModalLabel": "Contraseña:",
+ "passwordModalRememberLabel": "Recordar contraseña",
+ "passwordModalCloseButton": "Cerrar",
+ "passwordSendButton": "Iniciar sesión",
+ "disconnectionModalLongTitle": "Desconectado",
+ "disconnectionModalDescription": "Se ha perdido la conexión con el servidor al que estabas conectado. Esto puede ser debido a que el servidor se ha cerrado. Se ha vuelto a la ventana principal.",
+ "players_online": "Jugadores en línea",
+ "deleteServerButton": "Borrar servidor",
+ "sendCommandButton": "Enviar"
+ }
+ break;
+ default:
+ console.error("No language set");
+ }
+ //Set navbar phrases
+ document.getElementById("navbarHomeLink").textContent = lang.home_link;
+ document.getElementById("home_header").textContent = lang.home_header;
+ document.getElementById("home_description").textContent = lang.home_description;
+ document.getElementById("serversDropdown").textContent = lang.server_dropdown;
+ document.getElementById("add_server").textContent = lang.add_server;
+ document.getElementById("lang_dropdown").textContent = lang.lang_dropdown;
+ document.getElementById("addServerModalLongTitle").textContent = lang.addServerModalLongTitle;
+ document.getElementById("addServerModalSvName").textContent = lang.addServerModalSvName;
+ document.getElementById("addServerModalSvIp").textContent = lang.addServerModalSvIp;
+ document.getElementById("addServerModalSvPort").textContent = lang.addServerModalSvPort;
+ document.getElementById("addServerModalSvSsl").textContent = lang.addServerModalSvSsl;
+ document.getElementById("addServerModalClose").textContent = lang.addServerModalClose;
+ document.getElementById("saveAndConnectServerButton").textContent = lang.saveAndConnectServerButton;
+ document.getElementById("passwordModalLongTitle").textContent = lang.passwordModalLongTitle;
+ document.getElementById("passwordModalLabel").textContent = lang.passwordModalLabel;
+ document.getElementById("passwordModalRememberLabel").textContent = lang.passwordModalRememberLabel;
+ document.getElementById("passwordModalCloseButton").textContent = lang.passwordModalCloseButton;
+ document.getElementById("passwordSendButton").textContent = lang.passwordSendButton;
+ document.getElementById("disconnectionModalLongTitle").textContent = lang.disconnectionModalLongTitle;
+ document.getElementById("disconnectionModalDescription").textContent = lang.disconnectionModalDescription;
+ document.getElementById("players_online").textContent = lang.players_online;
+ document.getElementById("deleteServerButton").textContent = lang.deleteServerButton;
+ document.getElementById("sendCommandButton").textContent = lang.sendCommandButton;
+}
\ No newline at end of file
diff --git a/client/scripts/WebConsolePersistenceManager.js b/client/scripts/WebConsolePersistenceManager.js
index 220f9a9..4608086 100644
--- a/client/scripts/WebConsolePersistenceManager.js
+++ b/client/scripts/WebConsolePersistenceManager.js
@@ -81,6 +81,32 @@ class WebConsolePersistenceManager{
var storageObj = JSON.parse(window.localStorage.WebConsole);
return storageObj.servers;
}
+
+ /**
+ * Save language for this client
+ */
+ setLanguage(lang){
+ this.initializeLocalStorage();
+
+ //Retrieve saved data
+ var storageObj = JSON.parse(window.localStorage.WebConsole);
+ storageObj.language = lang;
+
+ //Save to WebStorage
+ window.localStorage.WebConsole = JSON.stringify(storageObj);
+ }
+
+ /**
+ * Get saved language for this client
+ */
+ getLanguage(){
+ this.initializeLocalStorage();
+
+ var storageObj = JSON.parse(window.localStorage.WebConsole);
+ if(!storageObj.language)
+ return "en_US";
+ return storageObj.language;
+ }
/**
* Create server list if not defined
@@ -90,6 +116,7 @@ class WebConsolePersistenceManager{
//Create empty object
var storageObj = new Object();
storageObj.servers = new Array();
+ storageObj.language = "en_US";
//Save to WebStorage
window.localStorage.WebConsole = JSON.stringify(storageObj);