allow international letters
This commit is contained in:
110
server/locale.json
Normal file
110
server/locale.json
Normal file
@@ -0,0 +1,110 @@
|
||||
{
|
||||
"scrabble-name": {
|
||||
"en": "Scrabble",
|
||||
"es": "Scrabble",
|
||||
"pt": "Scrabble"
|
||||
},
|
||||
"username": {
|
||||
"en": "Username",
|
||||
"es": "Nombre de usuario",
|
||||
"pt": "Nome de usuàrio"
|
||||
},
|
||||
"button-singleplayer": {
|
||||
"en": "Play singleplayer",
|
||||
"es": "Jugar a un(a) jugador(a)",
|
||||
"pt": "Jogar singleplayer"
|
||||
},
|
||||
"button-submit": {
|
||||
"en": "Submit",
|
||||
"es": "Enviar",
|
||||
"pt": "Enviar"
|
||||
},
|
||||
"status-connected": {
|
||||
"en": "Connected",
|
||||
"es": "Conectado(a)",
|
||||
"pt": "Conectado(a)"
|
||||
},
|
||||
|
||||
|
||||
"error-bold": {
|
||||
"en": "ERROR",
|
||||
"es": "ERRO",
|
||||
"pt": "ERROR"
|
||||
},
|
||||
"error-no-username": {
|
||||
"en": "Username not present",
|
||||
"es": "Nombre de usuario no esta presente",
|
||||
"pt": "Nome de usuário não esta presente"
|
||||
},
|
||||
"error-invalid-username": {
|
||||
"en": "Invalid username",
|
||||
"es": "Nombre de usuario no es válido",
|
||||
"pt": "Nome de usuário Inválido"
|
||||
},
|
||||
"error-taken-username": {
|
||||
"en": "Username taken",
|
||||
"es": "Nombre de usuario no esta disponible",
|
||||
"pt": "Nome de usuário já está em uso"
|
||||
},
|
||||
"error-too-many-clients": {
|
||||
"en": "Too many connections",
|
||||
"es": "Demasiadas conexiones",
|
||||
"pt": "Demasiadas conexões"
|
||||
},
|
||||
"error-bad-intent": {
|
||||
"en": "Client has no intent",
|
||||
"es": "Cliente no tiene intención",
|
||||
"pt": "Cliente não tem intenção"
|
||||
},
|
||||
"error-unknown-uid": {
|
||||
"en": "Unknown user ID",
|
||||
"es": "",
|
||||
"pt": ""
|
||||
},
|
||||
"error-taken-user-connection": {
|
||||
"en": "User already connected",
|
||||
"es": "",
|
||||
"pt": ""
|
||||
},
|
||||
"error-illegal-user": {
|
||||
"en": "Illegal user",
|
||||
"es": "",
|
||||
"pt": ""
|
||||
},
|
||||
"error-malformed-lobby": {
|
||||
"en": "Lobby malformed",
|
||||
"es": "",
|
||||
"pt": ""
|
||||
},
|
||||
"error-taken-lobby-ownership": {
|
||||
"en": "User already owns lobby",
|
||||
"es": "",
|
||||
"pt": ""
|
||||
},
|
||||
"error-illegal-lobby": {
|
||||
"en": "Illegal lobby",
|
||||
"es": "",
|
||||
"pt": ""
|
||||
},
|
||||
"error-cannot-join-lobby": {
|
||||
"en": "Cannot join lobby",
|
||||
"es": "",
|
||||
"pt": ""
|
||||
},
|
||||
"error-lobby-not-exist": {
|
||||
"en": "Lobby does not exist",
|
||||
"es": "",
|
||||
"pt": ""
|
||||
},
|
||||
"error-lobby-join": {
|
||||
"en": "Cannot join lobby",
|
||||
"es": "",
|
||||
"pt": ""
|
||||
},
|
||||
|
||||
|
||||
|
||||
"en": "",
|
||||
"es": "",
|
||||
"pt": ""
|
||||
}
|
||||
@@ -56,7 +56,8 @@ function CountIPs(ip)
|
||||
|
||||
function ValidUsername(username)
|
||||
{
|
||||
if (username.match(/[^A-Za-z0-9_-]/))
|
||||
// \p{L} includes international letters
|
||||
if (username.match(/[^A-Za-z0-9_-]\p{L}/))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -147,7 +148,7 @@ function GetUserbyConnection(connectionid)
|
||||
// TODO: User intent
|
||||
function UserConnect(useruid, connectionid)
|
||||
{
|
||||
if (OnlineUsers[useruid].state === 'CONNECTED') return 'User Already Connected';
|
||||
if (OnlineUsers[useruid].state === 'CONNECTED') return 'error-taken-user-connection';
|
||||
|
||||
OnlineUsers[useruid].connectionid = connectionid;
|
||||
OnlineUsers[useruid].state = 'CONNECTED';
|
||||
|
||||
@@ -4,7 +4,7 @@ let locales = {};
|
||||
|
||||
function init()
|
||||
{
|
||||
locales = JSON.parse(FS.readFileSync('src/locale.json'));
|
||||
locales = JSON.parse(FS.readFileSync('./locale.json'));
|
||||
}
|
||||
|
||||
function GetLocaleListJSON()
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
{
|
||||
"scrabble-name": {
|
||||
"en": "Scrabble",
|
||||
"es": "Scrabble",
|
||||
"pt": "Scrabble"
|
||||
},
|
||||
"username": {
|
||||
"en": "Username",
|
||||
"es": "Nombre de usuario",
|
||||
"pt": "Nome de usuàrio"
|
||||
},
|
||||
"button-singleplayer": {
|
||||
"en": "Play singleplayer",
|
||||
"es": "Jugar a un(a) jugador(a)",
|
||||
"pt": "Jogar singleplayer"
|
||||
},
|
||||
"button-submit": {
|
||||
"en": "Submit",
|
||||
"es": "Enviar",
|
||||
"pt": "Enviar"
|
||||
},
|
||||
"status-connected": {
|
||||
"en": "Connected",
|
||||
"es": "",
|
||||
"pt": ""
|
||||
},
|
||||
|
||||
|
||||
"error-bold": {
|
||||
"en": "ERROR",
|
||||
"es": "ERRO",
|
||||
"pt": "ERROR"
|
||||
},
|
||||
"error-no-username": {
|
||||
"en": "Username not present",
|
||||
"es": "",
|
||||
"pt": ""
|
||||
},
|
||||
"error-invalid-username": {
|
||||
"en": "Invalid username",
|
||||
"es": "",
|
||||
"pt": ""
|
||||
},
|
||||
"error-taken-username": {
|
||||
"en": "Username taken",
|
||||
"es": "",
|
||||
"pt": ""
|
||||
},
|
||||
"error-too-many-clients": {
|
||||
"en": "Too many clients",
|
||||
"es": "",
|
||||
"pt": ""
|
||||
},
|
||||
|
||||
|
||||
|
||||
"en": "",
|
||||
"es": "",
|
||||
"pt": ""
|
||||
}
|
||||
@@ -67,14 +67,14 @@ function ClientIdentify(socket, args)
|
||||
|
||||
if (!intent)
|
||||
{
|
||||
err.addError(400, 'Bad Request', 'Client has no intent');
|
||||
err.addError(400, 'Bad Request', 'error-bad-intent');
|
||||
socket.emit('identify-error', err.toError);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!user)
|
||||
{
|
||||
err.addError(400, 'Bad Request', 'Unknown uid');
|
||||
err.addError(400, 'Bad Request', 'error-unknown-uid');
|
||||
socket.emit('identify-error', err.toError);
|
||||
return;
|
||||
}
|
||||
@@ -88,14 +88,14 @@ function ClientIdentify(socket, args)
|
||||
socket.emit('identify-success', {connected: true, user: user});
|
||||
return;
|
||||
}
|
||||
else if (status === 'User Already Connected')
|
||||
else if (status === 'error-taken-user-connection')
|
||||
{
|
||||
err.addError(500, 'Internal Server Error', 'User already connected');
|
||||
err.addError(500, 'Internal Server Error', 'error-taken-user-connection');
|
||||
socket.emit('identify-error', err.toError);
|
||||
return;
|
||||
} else
|
||||
{
|
||||
err.addError(500, 'Internal Server Error', 'Illegal user');
|
||||
err.addError(500, 'Internal Server Error', 'error-illegal-user');
|
||||
socket.emit('identify-error', err.toError);
|
||||
return;
|
||||
}
|
||||
@@ -125,7 +125,7 @@ function LobbyCreate(socket, args)
|
||||
const user = Game.Registrar.GetUserbyConnection(socket.id);
|
||||
if (!user || user.uid != useruid)
|
||||
{
|
||||
err.addError(403, 'Forbidden', 'Illegal user');
|
||||
err.addError(403, 'Forbidden', 'error-illegal-user');
|
||||
socket.emit('lobby-create-error', err.toError);
|
||||
return;
|
||||
}
|
||||
@@ -133,7 +133,7 @@ function LobbyCreate(socket, args)
|
||||
// Make sure user isn't already in a lobby or owns one
|
||||
if (!Game.Lobbies.CheckUserAvailability(useruid))
|
||||
{
|
||||
err.addError(400, 'Bad Request', 'User already owns lobby');
|
||||
err.addError(400, 'Bad Request', 'error-taken-lobby-ownership');
|
||||
socket.emit('lobby-create-error', err.toError);
|
||||
return;
|
||||
}
|
||||
@@ -142,7 +142,7 @@ function LobbyCreate(socket, args)
|
||||
|
||||
if (!lobby)
|
||||
{
|
||||
err.addError(500, 'Internal Server Error', 'Illegal lobby');
|
||||
err.addError(500, 'Internal Server Error', 'error-illegal-lobby');
|
||||
socket.emit('lobby-create-error', err.toError);
|
||||
return;
|
||||
}
|
||||
@@ -153,14 +153,14 @@ function LobbyCreate(socket, args)
|
||||
const lobbyJoined = Game.Lobbies.UserJoinLobby(lobby.uid, useruid, LobbyUpdateCallback);
|
||||
if (!lobbyJoined)
|
||||
{
|
||||
err.addError(403, 'Forbidden', 'Cannot join lobby');
|
||||
err.addError(403, 'Forbidden', 'error-cannot-join-lobby');
|
||||
socket.emit('lobby-create-error', err.toError);
|
||||
return;
|
||||
}
|
||||
|
||||
if (lobbyJoined.uid !== lobby.uid)
|
||||
{
|
||||
err.addError(500, 'Internal Server Error', 'Illegal lobby');
|
||||
err.addError(500, 'Internal Server Error', 'error-illegal-lobby');
|
||||
socket.emit('lobby-create-error', err.toError);
|
||||
return;
|
||||
}
|
||||
@@ -177,14 +177,14 @@ function LobbyJoin(socket, args)
|
||||
|
||||
if (!useruid)
|
||||
{
|
||||
err.addError(400, 'Bad Request', 'Unknown uid');
|
||||
err.addError(400, 'Bad Request', 'error-unknown-uid');
|
||||
socket.emit('lobby-join-error', err.toError);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!args.lobbyuid || args.joinAsSpectator === undefined)
|
||||
{
|
||||
err.addError(400, 'Bad Request', 'Lobby malformed');
|
||||
err.addError(400, 'Bad Request', 'error-malformed-lobby');
|
||||
socket.emit('lobby-join-error', err.toError);
|
||||
return;
|
||||
}
|
||||
@@ -193,7 +193,7 @@ function LobbyJoin(socket, args)
|
||||
const user = Game.Registrar.GetUserbyConnection(socket.id);
|
||||
if (!user || user.uid != useruid)
|
||||
{
|
||||
err.addError(403, 'Forbidden', 'Illegal user');
|
||||
err.addError(403, 'Forbidden', 'error-illegal-user');
|
||||
socket.emit('lobby-join-error', err.toError);
|
||||
return;
|
||||
}
|
||||
@@ -201,7 +201,7 @@ function LobbyJoin(socket, args)
|
||||
// Make sure user isn't already in a lobby
|
||||
if (!Game.Lobbies.CheckUserAvailability(useruid))
|
||||
{
|
||||
err.addError(400, 'Bad Request', 'User already owns lobby');
|
||||
err.addError(400, 'Bad Request', 'Uerror-taken-lobby-ownership');
|
||||
socket.emit('lobby-join-error', err.toError);
|
||||
return;
|
||||
}
|
||||
@@ -209,7 +209,7 @@ function LobbyJoin(socket, args)
|
||||
const lobby = Game.Lobbies.GetLobbyByUID(args.lobbyuid);
|
||||
if (!lobby)
|
||||
{
|
||||
err.addError(400, 'Bad Request', 'Lobby does not exist');
|
||||
err.addError(400, 'Bad Request', 'error-lobby-not-exist');
|
||||
socket.emit('lobby-join-error', err.toError);
|
||||
return;
|
||||
}
|
||||
@@ -223,7 +223,7 @@ function LobbyJoin(socket, args)
|
||||
|
||||
if (!status)
|
||||
{
|
||||
err.addError(403, 'Forbidden', 'Cannot join lobby');
|
||||
err.addError(403, 'Forbidden', 'error-lobby-join');
|
||||
socket.emit('lobby-join-error', err.toError);
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user