translation scripts
This commit is contained in:
11
data/README.md
Normal file
11
data/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
|
||||
### language files
|
||||
|
||||
Language files start on the line after 4 hyphens, everything prior is metadata about the language. Some will be parsed by the locale parser
|
||||
|
||||
Locales are defined by their locale code, the translations are seperated by a colon (:) after the locale code.
|
||||
|
||||
Sometimes context clues may be neccesary for an accurate translation, everything after a semicolon won't be interpreted by the parser, therefore context clues can be given. These will be defined in the english (en) file
|
||||
|
||||
Capitalisation is also important, if the english words are capitalised, the translations need to be capitalised in the same (if it makes sense) place
|
||||
59
data/en.lang
Normal file
59
data/en.lang
Normal file
@@ -0,0 +1,59 @@
|
||||
language:en
|
||||
country:Britain
|
||||
----
|
||||
button-back:back; (Action) to go back (a page)
|
||||
button-create:create
|
||||
button-join:join; (Action) to join
|
||||
button-leave-lobby:Leave Lobby
|
||||
button-send:send; (Action) to send a message
|
||||
button-singleplayer:Play singleplayer
|
||||
button-start-game:Start Game
|
||||
button-submit:Submit; (Action) to submit (a) message
|
||||
connection-waiting:Waiting for connection
|
||||
error-bad-intent:Client has no intent
|
||||
error-bold:ERROR
|
||||
error-cannot-join-lobby:Cannot join lobby
|
||||
error-creating-lobby:An error occurred while creating the lobby
|
||||
error-illegal-lobby:Illegal lobby
|
||||
error-illegal-user:Illegal user
|
||||
error-invalid-username:Invalid username
|
||||
error-lobby-id-required:A lobby ID is required
|
||||
error-lobby-joining:An error occurred while joining the lobby
|
||||
error-lobby-name-required:A name is requred
|
||||
error-lobby-not-exist:Lobby does not exist
|
||||
error-malformed-lobby:Lobby malformed
|
||||
error-no-username:Username not present; there is no username
|
||||
error-taken-lobby-ownership:User already owns lobby
|
||||
error-taken-user-connection:User already connected
|
||||
error-taken-username:Username taken
|
||||
error-too-many-clients:Too many connections
|
||||
error-unknown-uid:Unknown user ID
|
||||
game-lobby:create or join a game
|
||||
joined:joined; (Action) of joining something (a game)
|
||||
left:left; (Action) of leaving
|
||||
left-lobby:left lobby; (Action) of leaving the (lobby)
|
||||
lobby:Lobby
|
||||
lobby-allow-spectators:allow spectators
|
||||
lobby-code:lobby code
|
||||
lobby-create:Create Lobby
|
||||
lobby-created:created lobby
|
||||
lobby-created-joining:Lobby created, Joining...
|
||||
lobby-deleted:deleted lobby
|
||||
lobby-join:Join Lobby
|
||||
lobby-join-code:Join Code
|
||||
lobby-join-spectator:join as spectator
|
||||
lobby-joined:joined lobby
|
||||
lobby-joining:joining lobby
|
||||
lobby-private:private lobby
|
||||
log-console:log console
|
||||
message:message; (noun) piece of text
|
||||
name:name
|
||||
players:Players
|
||||
scrabble-name:Scrabble
|
||||
spectators:Spectators
|
||||
status:Status; (noun) position
|
||||
status-connected:Connected
|
||||
status-connected-as:Connected as
|
||||
status-disconnected:Disconnected
|
||||
username:Username
|
||||
visibility:Visibility
|
||||
59
data/es.lang
Normal file
59
data/es.lang
Normal file
@@ -0,0 +1,59 @@
|
||||
language:es
|
||||
country:España
|
||||
----
|
||||
button-back:regresar
|
||||
button-create:crear
|
||||
button-join:participar
|
||||
button-leave-lobby:Salir del Lobby
|
||||
button-send:enviar
|
||||
button-singleplayer:Jugar a un(a) jugador(a)
|
||||
button-start-game:Empezar Juego
|
||||
button-submit:Enviar
|
||||
connection-waiting:Esperando la conexión
|
||||
error-bad-intent:Cliente no tiene intención
|
||||
error-bold:ERRO
|
||||
error-cannot-join-lobby:No se puede unir al lobby
|
||||
error-creating-lobby:Ocurrió un error al crear el lobby
|
||||
error-illegal-lobby:Lobby ilegal
|
||||
error-illegal-user:Usuario ilegal
|
||||
error-invalid-username:Nombre de usuario no es válido
|
||||
error-lobby-id-required:Se requiere un lobby ID
|
||||
error-lobby-joining:Ocurrió un error al conectarse al lobby
|
||||
error-lobby-name-required:Se requiere un nombre
|
||||
error-lobby-not-exist:Lobby no existe
|
||||
error-malformed-lobby:Lobby malformado
|
||||
error-no-username:Nombre de usuario no esta presente
|
||||
error-taken-lobby-ownership:Usuario ya tiene lobby
|
||||
error-taken-user-connection:Usuario ya está conectado/a
|
||||
error-taken-username:Nombre de usuario no esta disponible
|
||||
error-too-many-clients:Demasiadas conexiones
|
||||
error-unknown-uid:ID de usuario desconocido
|
||||
game-lobby:crea o conecta a un juego
|
||||
joined:conectado(a)
|
||||
left:salió
|
||||
left-lobby:salió del lobby
|
||||
lobby:Lobby
|
||||
lobby-allow-spectators:permitir espectadores
|
||||
lobby-code:código de lobby
|
||||
lobby-create:Crear Lobby
|
||||
lobby-created:lobby creado
|
||||
lobby-created-joining:Lobby creado, Conectando...
|
||||
lobby-deleted:lobby eliminado
|
||||
lobby-join:Conectarse al Lobby
|
||||
lobby-join-code:Código para Conectar
|
||||
lobby-join-spectator:conectar como espectador(a)
|
||||
lobby-joined:entró en el lobby
|
||||
lobby-joining:entrando al lobby
|
||||
lobby-private:lobby privado
|
||||
log-console:consola de log
|
||||
message:mensaje
|
||||
name:nombre
|
||||
players:Jugadores
|
||||
scrabble-name:Scrabble
|
||||
spectators:Espectadores
|
||||
status:Status
|
||||
status-connected:Conectado(a)
|
||||
status-connected-as:Conectado/a como
|
||||
status-disconnected:Desconectado/a
|
||||
username:Nombre de usuario
|
||||
visibility:Visibilidad
|
||||
@@ -6,8 +6,8 @@
|
||||
},
|
||||
"game-lobby": {
|
||||
"en": "create or join a game",
|
||||
"es": "Crea o conecta a un juego",
|
||||
"pt": "Crie ou entre em um jogo"
|
||||
"es": "crea o conecta a un juego",
|
||||
"pt": "crie ou entre em um jogo"
|
||||
},
|
||||
"name": {
|
||||
"en": "name",
|
||||
|
||||
59
data/pt.lang
Normal file
59
data/pt.lang
Normal file
@@ -0,0 +1,59 @@
|
||||
language:pt
|
||||
country:Portugal
|
||||
----
|
||||
button-back:voltar
|
||||
button-create:criar
|
||||
button-join:entrar
|
||||
button-leave-lobby:Sair do Lobby
|
||||
button-send:enviar
|
||||
button-singleplayer:Jogar singleplayer
|
||||
button-start-game:Começar Jogo
|
||||
button-submit:Enviar
|
||||
connection-waiting:Aguardando conexão
|
||||
error-bad-intent:Cliente não tem intenção
|
||||
error-bold:ERROR
|
||||
error-cannot-join-lobby:Não é possível entrar no lobby
|
||||
error-creating-lobby:Ocorreu um erro ao criar o lobby
|
||||
error-illegal-lobby:Lobby ilegal
|
||||
error-illegal-user:Usuário ilegal
|
||||
error-invalid-username:Nome de usuário Inválido
|
||||
error-lobby-id-required:É necessário um lobby ID
|
||||
error-lobby-joining:Ocorreu um erro ao entrar no lobby
|
||||
error-lobby-name-required:Um nome é obrigatório
|
||||
error-lobby-not-exist:Lobby não existe
|
||||
error-malformed-lobby:Lobby malformado
|
||||
error-no-username:Nome de usuário não esta presente
|
||||
error-taken-lobby-ownership:Usuário já tem um lobby
|
||||
error-taken-user-connection:Usuário já está conectado/a
|
||||
error-taken-username:Nome de usuário já está em uso
|
||||
error-too-many-clients:Demasiadas conexões
|
||||
error-unknown-uid:ID de usuário desconhecido
|
||||
game-lobby:crie ou entre em um jogo
|
||||
joined:juntou
|
||||
left:saiu
|
||||
left-lobby:saiu do lobby
|
||||
lobby:Lobby
|
||||
lobby-allow-spectators:permitir espectadores
|
||||
lobby-code:código do lobby
|
||||
lobby-create:Criar Lobby
|
||||
lobby-created:Lobby criado
|
||||
lobby-created-joining:Lobby criaso, Juntando-se...
|
||||
lobby-deleted:lobby apagado
|
||||
lobby-join:Conectar ao Lobby
|
||||
lobby-join-code:Código para Conectar
|
||||
lobby-join-spectator:junte-se como espectador
|
||||
lobby-joined:entrou no lobby
|
||||
lobby-joining:entrando no lobby
|
||||
lobby-private:lobby privado
|
||||
log-console:console de log
|
||||
message:mensagem
|
||||
name:nome
|
||||
players:Jogadores
|
||||
scrabble-name:Scrabble
|
||||
spectators:Espectadores
|
||||
status:Status
|
||||
status-connected:Conectado(a)
|
||||
status-connected-as:Conectado/a como
|
||||
status-disconnected:Desconectado/a
|
||||
username:Nome de usuàrio
|
||||
visibility:Visibilidade
|
||||
@@ -8,13 +8,6 @@
|
||||
},
|
||||
"author": "Ben Kyd <benjaminkyd@gmail.com> (https://benkyd.co.uk)",
|
||||
"license": "UNLICENSED",
|
||||
// "eslintConfig": {
|
||||
// "extends": "portsoc",
|
||||
// "root": true,
|
||||
// "env": {
|
||||
// "browser": true
|
||||
// }
|
||||
// },
|
||||
"dependencies": {
|
||||
"eslint": "^7.23.0",
|
||||
"eslint-config-portsoc": "^0.8.1"
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
// to take the locale.json and split into seperate langauge files for
|
||||
// easy contribution of translations
|
||||
|
||||
// DOES NOT PARSE, WILL OVERWRITE LANG FILES
|
||||
|
||||
const fs = require('fs');
|
||||
|
||||
const localeJSONRaw = fs.readFileSync('../data/locale.json');
|
||||
const localeJSON = JSON.parse(localeJSONRaw);
|
||||
|
||||
let localeCodes = [];
|
||||
let languages = [];
|
||||
|
||||
for (const localeCode in localeJSON)
|
||||
{
|
||||
localeCodes.push(localeCode);
|
||||
|
||||
for (const lang in localeJSON[localeCode])
|
||||
{
|
||||
if (!languages.includes(lang))
|
||||
languages.push(lang);
|
||||
}
|
||||
}
|
||||
|
||||
// good enough lol
|
||||
localeCodes = localeCodes.sort();
|
||||
|
||||
for (let lang in languages)
|
||||
{
|
||||
// if there is already a language file for this language, parse it and only put in the new locale codes
|
||||
// if (fs.existsSync(`../data/${languages[lang]}.lang`))
|
||||
// {
|
||||
// let localeCodesFromLangFile = fs.readFileSync(`../data/${languages[lang]}.lang`).toString();
|
||||
// localeCodesFromLangFile = localeCodesFromLangFile.split('----')[1].split('\n');
|
||||
|
||||
// console.log(localeCodesFromLangFile);
|
||||
|
||||
// }
|
||||
|
||||
let toWrite = '';
|
||||
for (const code of localeCodes)
|
||||
{
|
||||
if (localeJSON[code][languages[lang]])
|
||||
{
|
||||
toWrite += code + ':' + localeJSON[code][languages[lang]] + '\n';
|
||||
} else
|
||||
{
|
||||
toWrite += code + ':' + localeJSON[code]['en'] + '\n';
|
||||
}
|
||||
}
|
||||
|
||||
fs.writeFileSync(`../data/${languages[lang]}.lang`, toWrite);
|
||||
}
|
||||
|
||||
|
||||
0
scripts/newLocale.js
Normal file
0
scripts/newLocale.js
Normal file
2
scripts/updateLocaleFromEnglish.js
Normal file
2
scripts/updateLocaleFromEnglish.js
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
|
||||
Reference in New Issue
Block a user