diff --git a/app/config/app.php b/app/config/app.php index 6ecc151d8d..80cc71c5c9 100644 --- a/app/config/app.php +++ b/app/config/app.php @@ -117,7 +117,8 @@ 'Barryvdh\Cors\CorsServiceProvider', 'LucaDegasperi\OAuth2Server\OAuth2ServerServiceProvider', 'JsLocalization\JsLocalizationServiceProvider', - 'locker\RequestServiceProvider' + 'locker\RequestServiceProvider', + 'Philo\Translate\TranslateServiceProvider' ), diff --git a/app/config/packages/andywer/js-localization/config.php b/app/config/packages/andywer/js-localization/config.php index 3a376fdabd..193e3f066f 100644 --- a/app/config/packages/andywer/js-localization/config.php +++ b/app/config/packages/andywer/js-localization/config.php @@ -8,7 +8,7 @@ |-------------------------------------------------------------------------- */ - 'locales' => array('en'), + 'locales' => array('en', 'es_ES'), /* |-------------------------------------------------------------------------- diff --git a/app/lang/es_ES/lrs.php b/app/lang/es_ES/lrs.php new file mode 100644 index 0000000000..2ff1281fec --- /dev/null +++ b/app/lang/es_ES/lrs.php @@ -0,0 +1,53 @@ + 'Añadir LRS', + 'home' => 'LRS home', + 'create' => 'Crear un LRS', + 'delete_confirm' => '¿Seguro que quieres borrar este LRS? Perderá todos los estados y esto no se puede deshacer.', + 'edit' => 'Editar un LRS', + 'new' => 'Crear un LRS', + 'verify' => 'Verificar su correo electrónico para poder crear un LRS.', + 'list' => 'Lista LRS', + 'none' => 'No hay LRS disponibles', + 'reporting' => 'Informes', + 'deleted' => 'El LRS se suprimió', + 'updated' => 'El LRS se actualizó', + 'create_problem' => 'Hubo un problema al crear ese LRS.', + 'created' => 'El LRS fue creado.', + 'active' => 'Activo', + + 'sidebar' => array( + 'dash' => 'Cuadro de mando', + 'edit' => 'Editar detalles LRS', + 'endpoint' => 'Sentencias xAPI', + 'api' => 'LRS API', + 'users' => 'Administrar usuarios', + 'analytics' => 'Estadísticas', + 'reporting' => 'Informes' + ), + + 'endpoint' => array( + 'endpoint' => 'Sentencias xAPI', + 'basic_http' => 'Autenticación básica HTTP', + 'submit' => 'Aceptar sentencias xAPI', + 'instructions' => 'Para aceptar sentencias xAPI, usted necesitará enviarlos a este endpoint y autenticarse', + 'new_key_secret' => 'Generar nueva clave y secreto' + ), + + 'api' => array( + 'oauth' => 'OAuth 2.0', + 'settings' => 'Ajustes del API', + 'api' => 'LRS API' + ), + + 'update_key' => 'Su clave ha sido actualizado.', + 'update_key_error' => 'Hubo un error al actualizar su clave y el secreto.', + 'remove_user' => 'Ese usuario se ha eliminado de este LRS.' +); \ No newline at end of file diff --git a/app/lang/es_ES/pagination.php b/app/lang/es_ES/pagination.php new file mode 100644 index 0000000000..cfe49ba64a --- /dev/null +++ b/app/lang/es_ES/pagination.php @@ -0,0 +1,20 @@ + 'Anterior', + + 'next' => 'Siguiente', + +); \ No newline at end of file diff --git a/app/lang/es_ES/reminders.php b/app/lang/es_ES/reminders.php new file mode 100644 index 0000000000..1981c79ee5 --- /dev/null +++ b/app/lang/es_ES/reminders.php @@ -0,0 +1,32 @@ + "Las contraseñas deben tener al menos seis caracteres y coincidir con la confirmación", + + "user" => "No podemos encontrar un usuario con esa dirección de correo", + + "token" => "Este token de restablecimiento de contraseña no es válido.", + + "sent" => "Recordatorio de contraseña enviado!", + + "reset" => "Su contraseña ha sido enviada", + + "password_reset" => "Restablecer contraseña", + + "password_reset_form" => "Para restablecer su contraseña, complete este formulario", + + "password_reset_sent" => "Ha sido enviado un correo electrónico con el restablecimiento de la contraseña " + +); diff --git a/app/lang/es_ES/reporting.php b/app/lang/es_ES/reporting.php new file mode 100644 index 0000000000..abbbd09469 --- /dev/null +++ b/app/lang/es_ES/reporting.php @@ -0,0 +1,32 @@ + "Las contraseñas deben tener al menos seis caracteres y coincidir con la confirmación.", + + "user" => "No podemos encontrar un usuario con ese e-mail.", + + "token" => "Este token de restablecimiento de contraseña no es válido.", + + "sent" => "Recordatorio de contraseña enviado!", + + "reset" => "Su contraseña se ha restablecido", + + "password_reset" => "Restablecer contraseña", + + "password_reset_form" => "Para restablecer su contraseña, rellene este formulario", + + "password_reset_sent" => "Ha sido enviado un correo electrónico con el restablecimiento de la contraseña " + +); diff --git a/app/lang/es_ES/site.php b/app/lang/es_ES/site.php new file mode 100644 index 0000000000..6dc0bc0f54 --- /dev/null +++ b/app/lang/es_ES/site.php @@ -0,0 +1,79 @@ + 'edición', + 'delete' => 'eliminar', + 'username' => 'Nombre de usuario', + 'password' => 'Contraseña', + 'title' => 'Título', + 'name' => 'Nombre', + 'description' => 'Descripción', + 'logo' => 'Logo', + 'language' => 'Idioma', + 'submit' => 'Enviar', + 'remove' => 'Retire', + 'settings' => 'Ajustes', + 'dash' => 'Dashboard', + 'admin_dash' => 'Tablero de instrumentos de administración', + 'logout' => 'Salir', + 'email' => 'Email sitio', + 'account' => 'Configuraciones de la cuenta', + 'yes' => 'Sí', + 'no' => 'No', + 'on' => 'En', + 'off' => 'Off', + 'super_admin' => 'Administrador de Super', + 'admin' => 'Administración', + 'plus' => 'Observe más', + 'observers' => 'Observadores', + 'open' => 'Abierta', + 'closed' => 'Cerrado', + 'details' => 'Detalles', + 'register' => 'Registro', + 'login' => 'Iniciar sesión', + 'forgotten_pw' => 'Contraseña olvidada', + 'edit_settings' => 'Editar configuración', + + 'total_learners' => 'Alumnos totales', + 'statement_total' => 'Total de Declaración', + 'learner_number' => 'Número de Estudiantes', + 'activity_sources' => 'Las fuentes de actividad', + 'xapi_calls' => 'Llamadas xAPI (recuperación)', + + 'create_lrs' => '¿Quién puede crear nuevos LRS?', + 'api_status' => 'Estado de la API', + 'registration' => 'Registro', + 'restrict' => 'Restringir registro', + 'claim' => 'Afirman Estudiantes?', + + 'help' => array( + 'email' => 'El correo electrónico de contacto principal para esta instancia de Learning Locker', + 'create_lrs' => 'Seleccione los roles de usuario se pueden crear nuevos LRSs', + 'api_status' => 'Encender el API Learning Locker. @pendiente', + 'registration' => '¿El registro de usuarios para el sitio es abierto o cerrado?', + 'restrict' => 'Restringir el registro a un dominio de correo electrónico en particular. Solo tiene que introducir la parte de dominio, por ejemplo, ht2.co.uk', + 'claim' => '¿Los estudiantes pueden hacer login y reclamar todas las sentencias xAPI que le pertenecen?', + 'language' => 'Lenguaje por defecto a utilizar al generar sentencias utilizando el generador de sentencias' + ), + + 'navbar' => array( + 'lrs_home' => 'Inicio LRS', + 'other' => 'Otros', + 'none' => 'Ningún LRS disponible', + 'lrs_list' => 'Listado de LRSs' + ), + + 'updated' => 'Detalles Learning Locker han sido actualizados', + 'welcome' => 'Bienvenido a Learning Locker' +); \ No newline at end of file diff --git a/app/lang/es_ES/statements.php b/app/lang/es_ES/statements.php new file mode 100644 index 0000000000..b4acd96010 --- /dev/null +++ b/app/lang/es_ES/statements.php @@ -0,0 +1,17 @@ + 'Sentencias', + 'generator' => 'Generador', + 'filter' => 'filtro', + 'explorer' => 'Explorador', + 'reporting' => 'Informes', + 'analytics' => 'Estadísticas', + 'added' => 'Su sentencia ha sido añadida' +); \ No newline at end of file diff --git a/app/lang/es_ES/users.php b/app/lang/es_ES/users.php new file mode 100644 index 0000000000..61099501c1 --- /dev/null +++ b/app/lang/es_ES/users.php @@ -0,0 +1,50 @@ + 'Usuarios', + 'role' => 'Papel', + 'invite' => array( + 'invite' => 'Invitar usuarios', + 'email' => 'Direcciones de correo (líneas separadas)', + 'message' => 'Mensaje (opcional)', + 'sample' => 'Me gustaría invitarte a que te unas a este Learning Record Store (LRS)', + 'invited' => 'Estos usuarios han sido invitados', + 'failed' => 'La invitación a este usuario ha fallado, compruebe que el usuario no es ya un miembro del LRS y que su dirección de correo es válida.', + 'has_invited' => 'te ha invitado a unirte', + 'invite_instructions' => 'Para hacer esto, por favor haga clic en el siguiente enlace' + ), + 'password' => 'Contraseña', + 'password_again' => 'Confirmar contraseña', + 'password_current' => 'Contraseña actual', + 'password_change' => 'Cambiar la contraseña', + 'password_add' => 'Agregar una contraseña', + 'password_problem' => 'Hubo un problema al guardar tu contraseña.', + 'password_remind' => 'Recordatorio de Contraseña', + 'password_current_wrong' => 'Su contraseña actual no es correcto.', + 'password_instructions' => 'Por favor, añada una contraseña para su cuenta. Tienes que hacer esto antes de poder continuar.', + 'email' => 'Email', + 'verify' => 'Compruebe', + 'verfiy_success' => 'Ha verificado este usuario.', + 'verified' => 'Verificado', + 'verify_request' => 'Por favor revise su correo electrónico para los próximos pasos.', + 'email_verified' => 'Gracias, ahora han validado su dirección de correo electrónico.', + 'email_verify_problem' => 'Hubo un problema al validar su dirección de correo electrónico.', + 'unverified' => 'No verificado', + 'verify_resend' => 'Reenviar verificar email', + 'reset' => 'Restablecer su contraseña', + 'success' => 'Su contraseña ha sido guardada', + 'role_change' => 'El papel del usuario se ha cambiado.', + 'deleted' => 'El usuario fue borrado y cualquier LRS que crearon transfiere al administrador del sitio.', + 'updated' => 'Detalles de cuenta han sido actualizados', + 'updated_error' => 'Hubo una actualización problema que representan.', + 'registration_various' => array( + 'thanks' => 'Gracias por registrarse para utilizar Learning Locker. Para completar el registro, necesitamos que verifique su correo electrónico.', + 'click' => 'Para hacer esto, por favor haga clic en el siguiente enlace' + ) +); \ No newline at end of file diff --git a/app/lang/es_ES/validation.php b/app/lang/es_ES/validation.php new file mode 100644 index 0000000000..128bb3afc1 --- /dev/null +++ b/app/lang/es_ES/validation.php @@ -0,0 +1,99 @@ + "El :attribute debe ser aceptada.", + "active_url" => "El :attribute no es una URL válida.", + "after" => "El :attribute debe ser una fecha después de :date.", + "alpha" => "El :attribute sólo puede contener letras.", + "alpha_dash" => "El :attribute sólo puede contener letras, números y guiones.", + "alpha_num" => "El :attribute sólo puede contener letras y números.", + "array" => "El :attribute debe ser una matriz.", + "before" => "El :attribute debe ser una fecha antes: Fecha.", + "between" => array( + "numeric" => "El :attribute debe estar entre :min y :max", + "file" => "El :attribute debe estar entre :min y :max kilobytes.", + "string" => "The :attribute debe tener entre :min y :max caracteres.", + "array" => "El :attribute debe tener entre :min y :max items.", + ), + "confirmed" => "La confirmación :attribute no coincide.", + "date" => "El :attribute no es una fecha válida.", + "date_format" => "El atributo: no coincide con el formato :format.", + "different" => "El atributo: y :other deben ser diferentes.", + "digits" => "El :attribute debe ser: dígitos dígitos.", + "digits_between" => "El :attribute debe estar entre :min y :max dígitos.", + "email" => "El Formato de :attribute no es válido.", + "exists" => "El seleccionado :attribute no es válido.", + "image" => "El :attribute debe ser una imagen.", + "in" => "El seleccionado :attribute no es válido.", + "integer" => "El :attribute debe ser un entero.", + "ip" => "El :attribute debe ser una dirección IP válida.", + "max" => array( + "numeric" => "El :attribute debe estar entre :min y :max", + "file" => "El :attribute debe estar entre :min y :max kilobytes.", + "string" => "El :attribute debe tener entre :min y :max caracteres.", + "array" => "El :attribute debe tener entre :min y :max items.", + ), + "mimes" => "El :attribute debe ser un archivo de tipo :values.", + "min" => array( + "numeric" => "El :attribute debe estar entre :min y :max", + "file" => "El :attribute debe estar entre :min y :max kilobytes.", + "string" => "The :attribute debe tener entre :min y :max caracteres.", + "array" => "El :attribute debe tener entre :min y :max items.", + ), + "not_in" => "El seleccionado :attribute no es válido.", + "numeric" => "El :attribute debe ser un número.", + "regex" => "El Formato de :attribute no es válido.", + "required" => "Se requiere campo de :attribute El.", + "required_if" => "El: campo de :attributes es necesario cuando :other es :value.", + "required_with" => "Se requiere campo de :attributes cuando: El :value está presente.", + "required_without" => "El: campo de :attributes es necesario cuando los :values no están presentes.", + "same" => "El :attribute e :other deben coincidir.", + "size" => array( + "numeric" => "El :attribute debe estar entre :min y :max", + "file" => "El :attribute debe estar entre :min y :max kilobytes.", + "string" => "The :attribute debe tener entre :min y :max caracteres.", + "array" => "El :attribute debe tener entre :min y :max items.", + ), + "unique" => "El :attribute ya se ha tomado.", + "url" => "El Formato de :attribute no es válido.", + "alpha_spaces" => "El :attribute sólo puede contener letras y espacios.", + + /* + |-------------------------------------------------------------------------- + | Custom Validation Language Lines + |-------------------------------------------------------------------------- + | + | Here you may specify custom validation messages for attributes using the + | convention "attribute.rule" to name the lines. This makes it quick to + | specify a specific custom language line for a given attribute rule. + | + */ + + 'custom' => array(), + + /* + |-------------------------------------------------------------------------- + | Custom Validation Attributes + |-------------------------------------------------------------------------- + | + | The following language lines are used to swap attribute place-holders + | with something more reader friendly such as E-Mail Address instead + | of "email". This simply helps us make messages a little cleaner. + | + */ + + 'attributes' => array(), + +); diff --git a/composer.json b/composer.json index cc227be11a..8c4a13690b 100644 --- a/composer.json +++ b/composer.json @@ -34,7 +34,8 @@ "rhumsaa/array_column": "~1.1", "barryvdh/laravel-cors": "0.2.x", "lucadegasperi/oauth2-server-laravel": "1.0.x", - "andywer/js-localization": "dev-master" + "andywer/js-localization": "dev-master", + "philo/laravel-translate": "1.0.x" }, "require-dev": { "phpunit/phpunit": "4.1.*"