From a832bf68f9e442d9f8e4c0ca8b5d552e3de9def7 Mon Sep 17 00:00:00 2001 From: "Justin M. Wray" Date: Mon, 28 Aug 2017 00:08:42 -0400 Subject: [PATCH 1/5] Remove NodeJS-Legacy (Fixes: #550) (#551) * Remove NodeJS-Legacy (Fixes: #550) * Updated version of node.js installed to fix critical provisioning errors. By default, Ubuntu 14.04 uses a legacy version of node.js. This code removes the legacy version and updates to a newer version. * Source: https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions * This PR fixes the provision/build issue from #550 --- extra/provision.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/extra/provision.sh b/extra/provision.sh index 108a64dd..cf5d44a0 100755 --- a/extra/provision.sh +++ b/extra/provision.sh @@ -311,7 +311,14 @@ fi log "Updating npm" sudo npm install -g npm@lts - package nodejs-legacy + log "Removing node.js legacy version" + sudo DEBIAN_FRONTEND=noninteractive apt-get remove --purge nodejs -y + + log "Downloading updated node.js version" + curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - + + log "Installing node.js" + package nodejs log "Installing all required npm node_modules" sudo npm install --prefix "$CTF_PATH" From 49c7459bc26f2128c376a47b0b6a7807b866cdaa Mon Sep 17 00:00:00 2001 From: "Justin M. Wray" Date: Thu, 31 Aug 2017 00:28:32 -0400 Subject: [PATCH 2/5] Downgraded DropkickJS and Streamlined Provision for NodeJS/Downloads (Fixes: #554) (#555) * Downgraded Dropkick.js to version 2.1.10. The project originally was built using 2.1.10 and specified a near version in the 2.x.x release family. On August 27th 2017 Dropkick.js released version 2.2.0 which is incompatible with ES6 specs. The incompatibility with the new release of Dropkick.js caused the provisioning of the platform to fail. * Moved the installation process for Node.js to a function within `lib.sh`. This change streamlines the provision script. * Removed the installation of `wget` from provisioning. `wget` is no longer used within the project and is therefore unneeded. * Updated the `dl()` download function within the provision script to use `curl` exclusively, with retry options. The retry options are set to 5 retries with a 15-second delay between retries. The addition of the retry option ensures the provision can continue if there is a temporary issue with a remote connection or availability of a remote resource. * Added the `dl_pipe()` download function to the provision script. This download function provided the data from the remote resource via standard output to be piped into another command. As piping downloads within the provisioning process have become more common, this function streamlines the process. * Fixes #554 * Updates fixes for #550 --- extra/lib.sh | 25 ++++++++++++++++++------- extra/provision.sh | 13 +------------ package.json | 2 +- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/extra/lib.sh b/extra/lib.sh index 3e862a15..6f397e08 100755 --- a/extra/lib.sh +++ b/extra/lib.sh @@ -29,12 +29,12 @@ function ok_log() { function dl() { local __url=$1 local __dest=$2 + sudo curl --retry 5 --retry-delay 15 -sSL "$__url" -o "$__dest" +} - if [ -n "$(which wget)" ]; then - sudo wget -q "$__url" -O "$__dest" - else - sudo curl -s "$__url" -o "$__dest" - fi +function dl_pipe() { + local __url=$1 + curl --retry 5 --retry-delay 15 -sSL "$__url" } function package_repo_update() { @@ -53,7 +53,7 @@ function package() { function install_unison() { cd / - curl -sL https://www.archlinux.org/packages/extra/x86_64/unison/download/ | sudo tar Jx + dl_pipe "https://www.archlinux.org/packages/extra/x86_64/unison/download/" | sudo tar Jx } function repo_osquery() { @@ -280,12 +280,23 @@ function install_composer() { local __path=$1 cd $__path - curl -sS https://getcomposer.org/installer | php + dl_pipe "https://getcomposer.org/installer" | php hhvm composer.phar install sudo mv composer.phar /usr/bin sudo chmod +x /usr/bin/composer.phar } +function install_nodejs() { + log "Removing node.js legacy version" + sudo DEBIAN_FRONTEND=noninteractive apt-get remove --purge nodejs -y + + log "Downloading and setting node.js version 6.x repo information" + dl_pipe "https://deb.nodesource.com/setup_6.x" | sudo -E bash - + + log "Installing node.js" + package nodejs +} + function import_empty_db() { local __u="ctf" local __p="ctf" diff --git a/extra/provision.sh b/extra/provision.sh index cf5d44a0..4ea22b98 100755 --- a/extra/provision.sh +++ b/extra/provision.sh @@ -214,7 +214,6 @@ package_repo_update package git package curl -package wget package rsync # Check for available memory, should be over 1GB @@ -307,18 +306,8 @@ fi fi package ca-certificates - package npm - log "Updating npm" - sudo npm install -g npm@lts - log "Removing node.js legacy version" - sudo DEBIAN_FRONTEND=noninteractive apt-get remove --purge nodejs -y - - log "Downloading updated node.js version" - curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - - - log "Installing node.js" - package nodejs + install_nodejs log "Installing all required npm node_modules" sudo npm install --prefix "$CTF_PATH" diff --git a/package.json b/package.json index 1391ddde..5d9be93e 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "d3": "^3.5.16", - "dropkickjs": "^2.1.10", + "dropkickjs": "2.1.10", "hoverintent-jqplugin": "^0.2.1", "jquery": "^2.2.3", "keycode": "^2.1.1", From d2ee4b3f88dc9f9a32116a1f16108a1110a53d89 Mon Sep 17 00:00:00 2001 From: "Justin M. Wray" Date: Thu, 31 Aug 2017 00:29:08 -0400 Subject: [PATCH 3/5] Added Quick Setup Guide to README (#556) * Updated links and information related to the installation process. * Included a link to Quick Setup Guide. --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index cd5112e5..8eef011a 100644 --- a/README.md +++ b/README.md @@ -18,11 +18,11 @@ For more information, see the [Admin Guide](https://github.com/facebook/fbctf/wi # Installation -The FBCTF platform was designed with flexibility in mind, allowing for different types of installations depending on the needs of the end user. The FBCTF platform can be installed either in Development Mode, or Production Mode. Development is for development, and Production is intended for live events utilizing the FBCTF platform. +The FBCTF platform was designed with flexibility in mind, allowing for different types of installations depending on the needs of the end user. The FBCTF platform can be installed either in Development Mode, or Production Mode. -[Development Installation Guide](https://github.com/facebook/fbctf/wiki/Installation-Guide,-Development) +[Quick Setup Guide](https://github.com/facebook/fbctf/wiki/Quick-Setup-Guide) (_Recommended Installation_) -[Production Installation Guide](https://github.com/facebook/fbctf/wiki/Installation-Guide,-Production) +The [Quick Setup Guide](https://github.com/facebook/fbctf/wiki/Quick-Setup-Guide) details the quick setup mode which provides a streamlined and consistent build of the platform but offers less flexibility when compared to a custom installation. If you would prefer to perform a custom installation, please see the [Development Installation Guide](https://github.com/facebook/fbctf/wiki/Installation-Guide,-Development) or [Production Installation Guide](https://github.com/facebook/fbctf/wiki/Installation-Guide,-Production). ## Reporting an Issue From 1f236bba7e5e7a3e7169ff61037502a6928a94ba Mon Sep 17 00:00:00 2001 From: "Justin M. Wray" Date: Thu, 31 Aug 2017 00:29:37 -0400 Subject: [PATCH 4/5] Update CONTRIBUTING (#557) * Included message indicating that Pull Requests need to be submitted against `dev`. * Updated commands to branch from `dev`. --- CONTRIBUTING.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8a601541..a05ec714 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,12 +7,14 @@ Complete your CLA here: ## Submitting a PR +**All Pull Requests should be made against `dev` (even _bug fixes_).** + Before submitting a large PR for a new feature or improvement, please create an issue first. This will allow us to discuss the feature before much development effort is put into it. After we've agreed that the feature would fit in the scope of the project, or if the change is small enough to not require an issue, follow these steps to create a PR: - Make a new branch ``` -git checkout -b my-fix master +git checkout -b my-fix dev ``` - Make your changes, including test cases if applicable. Make sure to follow the coding guidelines described below. From c847bb3c0be12a504a8a837be0ba2417524c7659 Mon Sep 17 00:00:00 2001 From: DaniLabs Date: Mon, 4 Sep 2017 05:45:58 -0400 Subject: [PATCH 5/5] Spanish translations added --- src/controllers/AdminController.php | 6 +- src/language/lang_en.php | 12 ++ src/language/lang_es.php | 222 +++++++++++++++------------- 3 files changed, 133 insertions(+), 107 deletions(-) diff --git a/src/controllers/AdminController.php b/src/controllers/AdminController.php index a7eb52e8..b46b4313 100644 --- a/src/controllers/AdminController.php +++ b/src/controllers/AdminController.php @@ -2973,11 +2973,11 @@ class="not_configuration" if ($country->getEnabled()) { $highlighted_action = 'disable_country'; $highlighted_color = 'highlighted--red country-enabled'; - $current_status = 'DISABLED'; + $current_status = 'Disabled'; } else { $highlighted_action = 'enable_country'; $highlighted_color = 'highlighted--green country-disabled'; - $current_status = 'ENABLED'; + $current_status = 'Enabled'; } if (!$using_country) { @@ -2986,7 +2986,7 @@ class="not_configuration" class={$highlighted_color} href="#" data-action={str_replace('_', '-', $highlighted_action)}> - {$current_status} + {tr($current_status)} ; } else { $status_action = ; diff --git a/src/language/lang_en.php b/src/language/lang_en.php index 77563863..e5644cef 100644 --- a/src/language/lang_en.php +++ b/src/language/lang_en.php @@ -209,6 +209,8 @@ 'Registration Type', 'Strong Passwords' => 'Strong Passwords', + 'Password Types' => + 'Password Types', 'Team Selection' => 'Team Selection', 'Game' => @@ -225,6 +227,16 @@ 'Bases Cycle (s)', 'Default Bonus Dec' => 'Default Bonus Dec', + 'Game Schedule' => + 'Game Schedule', + 'Game Start Year' => + 'Game Start Year', + 'Game End Year' => + 'Game End Year', + 'Day' => + 'Day', + 'Minute' => + 'Minute', 'Timer' => 'Timer', 'Server Time' => diff --git a/src/language/lang_es.php b/src/language/lang_es.php index a552080a..1d8ef561 100644 --- a/src/language/lang_es.php +++ b/src/language/lang_es.php @@ -18,15 +18,15 @@ 'Gameboard' => 'Panel de juego', 'Register Team' => - 'Registrar Equipo', + 'Registrar equipo', 'Get ready for the CTF to start and register your team now!' => '¡Prepárate para competir y registrar tu equipo!', 'Login' => - 'Inciar Sesión', + 'Inciar sesión', 'Soon' => 'Próximamente', 'Upcoming Game' => - 'Próximo Juego', + 'Próximo juego', '_days' => '_días', '_hours' => @@ -74,17 +74,17 @@ 'Name' => 'Nombre', 'Email' => - 'Correo Electrónico', + 'Correo electrónico', 'Token' => 'Token', 'Team Registration' => - 'Registro de Equipo', + 'Registro de equipo', 'Team Name' => - 'Nombre de Equipo', + 'Nombre de equipo', 'Password' => - 'Password', + 'Contraseña', 'Choose an Emblem' => - 'Elige un Emblema', + 'Elige un emblema', 'or upload your own' => 'o sube tus propios', 'Clear your custom emblem to use a default emblem.' => @@ -96,7 +96,7 @@ 'Register to play Capture The Flag here. Once you have registered, you will be logged in.' => 'Regístrate aquí para jugar Capture The Flag. Una vez registrado, accederás al sitio.', 'Not Available' => - 'No Disponible', + 'No disponible', 'Team Registration will be open soon, stay tuned!' => '¡El registro de equipos se habilitará pronto, mantente al tanto!', 'Try Again' => @@ -104,7 +104,7 @@ 'Select' => 'Seleccionar', 'Team Login' => - 'Acceso de Equipo', + 'Acceso de equipo', 'Please login here. If you have not registered, you may do so by clicking "Sign Up" below. ' => 'Por favor inicia sesión aquí. Si no lo hiciste, puedes hacerlo haciendo clic en "Registro" más abajo. ', 'Team Login will be open soon, stay tuned!' => @@ -120,7 +120,7 @@ 'Thank you.' => 'Gracias.', 'Logout' => - 'Cerrar Sesión', + 'Cerrar sesión', 'Registration' => 'Registro', 'Play CTF' => @@ -135,7 +135,7 @@ 'Navigation' => 'Navegación', 'View Mode' => - 'Modo Visualización', + 'Modo visualización', 'View mode' => 'Modo visualización', 'Tutorial' => @@ -149,7 +149,7 @@ 'All' => 'Todos', 'Leaderboard' => - 'Tabla de Posiciones', + 'Ranking', 'Announcements' => 'Anuncios', 'Teams' => @@ -159,12 +159,12 @@ 'Activity' => 'Actividad', 'Game Clock' => - 'Reloj del Juego', + 'Reloj de juego', //Translations for AdminController 'Auto' => 'Auto', 'All Categories' => - 'Todas las Categorías', + 'Todas las categorías', 'Open' => 'Abrir', 'Tokenized' => @@ -180,11 +180,11 @@ 'Available' => 'Disponible', 'Registration Tokens' => - 'Tokens de Registro', + 'Tokens de registro', 'Create More' => - 'Crear Más', + 'Crear más', 'Export Available' => - 'Exportar Disponibles', + 'Exportar disponibles', 'Not started yet' => 'No inició aún', 'Configuration' => @@ -192,7 +192,7 @@ 'Tokens' => 'Tokens', 'Game Configuration' => - 'Configuración del Juego', + 'Configuración del juego', 'OK' => 'OK', 'status_' => @@ -202,39 +202,53 @@ 'Off' => 'Off', 'Player Names' => - 'Nombre de los Jugadores', + 'Nombre de los jugadores', 'Players Per Team' => - 'Jugadores Por Equipo', + 'Jugadores por equipo', 'Registration Type' => - 'Tipo de Registro', + 'Tipo de registro', 'Strong Passwords' => - 'Contraseñas Seguras', + 'Contraseñas Sseguras', 'Team Selection' => - 'Selección de Equipo', + 'Selección de equipo', + 'Password Types' => + 'Politica de contraseñas', 'Game' => 'Juego', 'Scoring' => 'Puntuación', 'Progressive Cycle (s)' => - 'Ciclos Progresivos', + 'Ciclos progresivos', 'Refresh Gameboard' => - 'Refrescar Panel de Juego', + 'Refrescar panel de juego', 'Default Bonus' => 'Bonus por defecto', 'Bases Cycle (s)' => 'Ciclos Base', 'Default Bonus Dec' => 'Bonus Dec por defecto', + 'Game Schedule' => + 'Calendario', + 'Game Start Year' => + 'Año de inicio', + 'Game End Year' => + 'Año de fin', + 'Day' => + 'Día', + 'Month' => + 'Mes', + 'Minute' => + 'Minuto', 'Timer' => 'Temporizador', 'Server Time' => - 'Tiempo de Servidor', + 'Tiempo del servidor', 'Game Duration' => - 'Duración del Juego', + 'Duración del juego', 'Begin Time' => - 'Tiempo de Inicio', + 'Tiempo de inicio', 'Expected End Time' => - 'Tiempo de Finalización Esperada', + 'Tiempo de finalización esperado', 'Internationalization' => 'Internacionalización', 'Language' => @@ -242,27 +256,27 @@ 'Branding' => 'Marca', 'Custom Logo' => - 'Logotipo Personalizado', + 'Logotipo personalizado', 'Logo' => 'Logo', 'Custom Text' => - 'Texto Personalizado', + 'Texto personalizado', 'DELETE' => 'BORRAR', 'Delete' => 'Borrar', 'No Announcements' => - 'No hay Anuncios', + 'No hay anuncios', 'Game Controls' => - 'Controles del Juego', + 'Controles del juego', 'Write New Announcement here' => - 'Escribir Nuevo Anuncio aquí', + 'Escribir nuevo anuncio aquí', 'Create' => 'Crear', 'General' => 'General', 'Back Up Database' => - 'Hacer Copia de Seguridad de la Base de Datos', + 'Hacer copia de seguridad de la base de datos', 'Export Full Game' => 'Juego completo de exportación', 'Import Full Game' => @@ -270,11 +284,11 @@ 'Import Teams' => 'Equipos de importación', 'Export Teams' => - 'Exportar Equipos', + 'Exportar equipos', 'Import Logos' => - 'Importar Logos', + 'Importar logos', 'Export Logos' => - 'Exportar Logos', + 'Exportar logos', 'Import Levels' => 'Niveles de importación', 'Export Levels' => @@ -286,13 +300,13 @@ 'Levels' => 'Niveles', 'New Quiz Level' => - 'Nuevo Nivel Acertijo', + 'Nuevo nivel acertijo', 'Title' => 'Título', 'Question' => 'Pregunta', 'Level title' => - 'Título del Nivel', + 'Título del nivel', 'Quiz question' => 'Acertijo', 'Country' => @@ -304,23 +318,23 @@ 'Hint' => 'Pista', 'Hint Penalty' => - 'Penalidad de la Pista', + 'Penalización de la pista', 'EDIT' => 'EDITAR', 'All Quiz Levels' => - 'Todos los Niveles Acertijo', + 'Todos los niveles acertijo', 'Filter By:' => 'Filtrar por:', 'All Status' => - 'Todos los Estados', + 'Todos los estados', 'Enabled' => 'Habilitado', 'Disabled' => 'Deshabilitado', 'Quiz Level' => - 'Nivel Acertijo', + 'Nivel acertijo', 'Show Answer' => - 'Mostrar Respuesta', + 'Mostrar respuesta', 'Bonus' => 'Bonus', '-Dec' => @@ -328,15 +342,15 @@ 'Save' => 'Guardar', 'Quiz Management' => - 'Administración de Acertijos', + 'Administración de acertijos', 'Add Quiz Level' => - 'Añadir nuevo nivel de Acertijo', + 'Añadir nuevo nivel de acertijo', 'New Flag Level' => - 'Nuevo Nivel Bandera', + 'Nuevo nivel bandera', 'Description' => 'Descripción', 'Level description' => - 'Descripción del Nivel', + 'Descripción del divel', 'Category' => 'Categoría', 'Flag' => @@ -344,9 +358,9 @@ 'flag' => 'bandera', 'All Flag Levels' => - 'Todos los Niveles Bandera', + 'Todos los niveles bandera', 'New Attachment:' => - 'Nuevo Adjunto:', + 'Nuevo adjunto:', 'Attachment' => 'Adjunto', 'Link' => @@ -354,7 +368,7 @@ 'New Link:' => 'Nuevo Link:', 'Flag Level' => - 'Nivel Bandera', + 'Nivel bandera', 'Categories' => 'Categorias', '+ Attachment' => @@ -362,39 +376,39 @@ '+ Link' => '+ Link', 'Flags Management' => - 'Administrar Banderas', + 'Administrar banderas', 'Add Flag Level' => - 'Añadir Nivel Bandera', + 'Añadir nivel bandera', 'New Base Level' => - 'Nuevo Nivel Base', + 'Nuevo nivel base', 'Keep Points' => - 'Mantener Puntos', + 'Mantener puntos', 'Capture points' => 'Capturar puntos', 'All Base Levels' => - 'Todos los Niveles Base', + 'Todos los niveles base', 'Base Level' => - 'Nivel Base', + 'Nivel base', 'Bases Management' => - 'Administrar Bases', + 'Administrar bases', 'Add Base Level' => 'Añadir Nivel Base', 'New Category' => - 'Nueva Categoría', + 'Nueva categoría', 'Category: ' => 'Categoría: ', 'Categories Management' => - 'Administrar Categorías', + 'Administrar categorías', 'Add Category' => 'Añadir Categoría', 'All Countries' => - 'Todos lo Países', + 'Todos lo países', 'In Use' => - 'En Uso', + 'En uso', 'In use' => 'En uso', 'Not Used' => - 'Sin Usar', + 'Sin usar', 'Yes' => 'Si', 'No' => @@ -402,9 +416,9 @@ 'ISO Code' => 'Código ISO', 'Countries Management' => - 'Adminsitrar Países', + 'Adminsitrar países', 'No Team Names' => - 'No hay Nombre de Equipos', + 'No hay nombre de equipos', 'time' => 'tiempo', 'type' => @@ -420,7 +434,7 @@ 'Attempt' => 'Intento', 'No Failures' => - 'Sin Fallas', + 'Sin fallas', 'Team' => 'Equipo', 'team' => @@ -432,45 +446,45 @@ 'Failures' => 'Fallas', 'New Team' => - 'Nuevo Equipo', + 'Nuevo equipo', 'Team Logo' => - 'Logo de Equipo', + 'Logo de equipo', 'Selected Logo:' => - 'Logo Seleccionado:', + 'Logo seleccionado:', 'Select Logo' => - 'Seleccionar Logo', + 'Seleccionar logo', 'All Teams' => - 'Todos los Equipos', + 'Todos los equipos', 'Protected' => 'Protegido', 'Score' => 'Puntuación', 'Change Password' => - 'Cambiar Password', + 'Cambiar contraseña', 'Admin Level' => - 'Administrar Nivel', + 'Administrar nivel', 'Visibility' => 'Visibilidad', 'Team Management' => - 'Administrar Equipo', + 'Administrar equipo', 'Add Team' => - 'Añadir Equipo', + 'Añadir equipo', 'None' => 'Ningúno', 'Logo Name' => - 'Nombre de Logo', + 'Nombre de logo', 'Logo Management' => - 'Administración de Logo', + 'Administración de logo', 'Session' => 'Sesión', 'Cookie' => 'Cookie', 'Creation Time' => - 'Tiempo de Creación', + 'Tiempo de creación', 'Last Access' => - 'Último Acceso', + 'Último acceso', 'Last Page Access' => - 'Última Página de Acceso', + 'Última página de acceso', 'Data' => 'Datos', 'Sessions' => @@ -478,17 +492,17 @@ 'entry' => 'entrada', 'No Entries' => - 'Sin Entrada', + 'Sin entrada', 'Game Logs' => - 'Logs del Juego', + 'Logs del juego', 'Game Logs Timeline' => - 'Logs del Juego en Linea de Tiempo', + 'Logs del juego en linea de tiempo', 'End Game' => - 'Finalizar Juego', + 'Finalizar juego', 'Begin Game' => - 'Iniciar Juego', + 'Iniciar juego', 'Game Admin' => - 'Administración del Juego', + 'Administración del juego', 'Controls' => 'Controles', 'Quiz' => @@ -519,13 +533,13 @@ 'pts' => 'pts', //points 'Your Rank' => - 'Tu Posición', + 'Tu posición', 'Your Score' => - 'Tu Puntaje', + 'Tu puntuación', 'Everyone' => 'Todos', 'Your Team' => - 'Tu Equipo', + 'Tu equipo', 'Captured' => 'Capturado', 'Initiating' => @@ -577,7 +591,7 @@ 'cancel_' => 'cancelar_', 'Are you sure you want to cancel? You have unsaved changes that will be reverted.' => - 'Está seguro que desea cancelar? Los cambios sin guardar se perderán.', + '¿Está seguro que desea cancelar? Los cambios sin guardar se perderán.', 'choose_logo' => 'elegir_logo', 'captured_' => @@ -595,7 +609,7 @@ 'Insert your answer' => 'Introduce tu respuesta', 'Request Hint' => - 'Solicitar Pista', + 'Solicitar pista', 'Submit' => 'Enviar', 'hint_' => @@ -637,29 +651,29 @@ 'Tool_Bars' => 'Tool_Bars', 'Tap the "Game Clock" to keep track of time during gameplay. Don’t let time get the best of you.' => - 'Pulsa el "Reloj del Juego" para hacer seguimiento del tiempo. No dejes que el tiempo te gane.', + 'Pulsa el "Reloj del juego" para hacer seguimiento del tiempo. No dejes que el tiempo te gane.', 'Game_Clock' => - 'Game_Clock', + 'Reloj de juego', 'Countries marked with an ' => 'Países marcados con una ', 'are captured by you.' => - 'son capturados por vos.', + 'son capturados por tí.', ' are owned by others.' => ' le pertenecen a otros.', 'Captures' => 'Capturas', 'Tap Plus[+] to Zoom In. Tap Minus[-] to Zoom Out.' => - 'Pulsa Más[+] para Acercarte. Pulsa Menos[-] para Alejarte.', + 'Pulsa más[+] para acercarte. Pulsa menos[-] para alejarte.', 'Click and Drag to move left, right, up and down.' => - 'Presiona y Arrastra para moverte por la izquierda, derecha, arriba o abajo', + 'Presiona y rrastra para moverte por la izquierda, derecha, arriba o abajo', 'Zoom' => 'Zoom', 'Tap Forward Slash [/] to activate computer commands. A list of commands can be found under "Rules".' => - 'Presiona Slash [/] para activar los comandos del juego. La lista completa de comandos puede ser encontrada en "Reglas".', + 'Presiona contrabarra [/] para activar los comandos del juego. La lista completa de comandos puede ser encontrada en "Reglas".', 'Command_Line' => 'Command_Line', 'Click "Nav" to access main navigation links like Rules of Play, Registration, Blog, Jobs & more.' => - 'Presiona "Nav" para acceder a los links principales como Reglas del Juego, Registro, Blog, Trabajo y más.', + 'Presiona "Navegación" para acceder a los links principales como "Reglas del juego", "Cerrar sesión" y otros.', 'Track your competition by clicking "scoreboard" to access real-time game statistics and graphs.' => 'Haz un seguimiento del juego haciendo clic en "scoreboard" para acceder a estadísticas y gráficas en tiempo real.', 'Have fun, be the best and conquer the world.' => @@ -675,11 +689,11 @@ 'Powered By Facebook' => 'Powered By Facebook', 'Active Directory / LDAP' => - 'Active Directory / LDAP', + 'Directorio Activo / LDAP', 'LDAP Server' => - 'LDAP Server', + 'LDAP Servidor', 'LDAP Port' => - 'LDAP Port', + 'LDAP Puerto', 'LDAP Domain' => - 'LDAP Domain', + 'LDAP Dominio', );