Skip to content

Commit

Permalink
(intl) Supports Español (closes #14)
Browse files Browse the repository at this point in the history
  • Loading branch information
violet-dev committed Jul 29, 2020
1 parent ccae138 commit 203723c
Show file tree
Hide file tree
Showing 5 changed files with 192 additions and 1 deletion.
186 changes: 186 additions & 0 deletions assets/locale/eo.json
@@ -0,0 +1,186 @@
{
"title": "Violet",
"notice": "Aviso",
"main": "Menú",
"search": "Buscar",
"download": "Descargar",
"bookmark": "Marcador",
"community": "Comunidad",
"settings": "Opciones",
"news": "Actualizaciones",
"theme": "Tema",
"darkmode": "Modo Oscuro",
"colorsetting":"Opciones de Color",
"defaulttag":"Etiqueta por Defecto",
"currenttag":"Etiqueta Actual",
"excludetag":"Etiquetas Excluidas",
"blurredtag":"Etiquetas Eliminadas",
"howtoshowsearchresult":"Como mostrar los resultados de la búsqueda",
"system": "Sistema",
"savedir": "Guardar Directorio",
"curdir": "Directorio Actual",
"logrecord": "Registra el registro",
"language":"Idioma",
"info": "Información",
"devtool": "Herramientas de Desarrollo",
"viewer": "Visualizador",
"viewertype": "Tipo de Visualizador",
"currenttype": "Visualizador Actual",
"scrollview": "Vista en Pantalla",
"bookview": "Vista del Libro",
"imgquality": "Calidad de Imagen",
"downloader": "Descargando",
"instagram": "Instagram",
"twitter": "Twitter",
"pixiv": "Pixiv",
"cache": "Cache",
"tagtranslation": "Traducción de Etiqueta (al Coreano)",
"showcount": "Mostrar Recuento",
"fuzzysearch": "Búsqueda Confusa",
"update":"Actualización",
"checkupdate": "Comprobar Actualización",
"etc":"Etc",
"discord":"Canal de Discord",
"project":"Proyecto",
"contact":"Contacto",
"donate": "Donación",
"externallink":"Enlaces Externos",
"license":"Licencia",
"srt0": "Vista de Cuadrícula de 3 líneas",
"srt1": "Vista de Cuadricula de 2 líneas",
"srt2": "Vista Alineada",
"srt3": "Vista Detallada",
"tagdisplay": " Mostrar Etiquetas",
"numcunuser": "Número de usuarios en simultáneo: ",
"termsofuse": "Términos de Uso",
"tag": "Etiqueta",
"ok": "OK",
"cancel": "Cancelar",
"switching": "Cambiar",
"syncmanual": "Sincronización Manual",
"tagrebuild": "Reconstruir Etiquetas",

"read": "Leer",
"artists": "Artistas",
"groups": "Grupos",
"tags": "Etiquetas",
"series": "Series",
"character": "Personajes",
"type": "Tipo",
"uploader": "Uploader",
"id": "Id",
"class": "Clase",
"comment": "Comentarios",
"preview": "Vista Previa",
"articles": "Artículos",
"similar": "Similar",
"iartists": "Artistas",
"igroups": "Grupos",
"iuploader": "Uploaders",
"score": "Puntuación",
"more": "Más...",

"database": "Base de Datos",
"welcome": "Bienvenido a Violet. Debes descargar la base de datos antes de usar esta aplicación.",
"dbuser": "Base de datos en Inglés",
"dbdownloadsize": "Tamaño a Descargar",
"dbusermsg": "Paquete de base de datos que contiene el idioma del usuario y n/a. El almacenamiento requiere %s de espacio de almacenamiento adicional. Esta base de datos contiene actualmente los datos más recientes, pero para mantener la base de datos actualizada, debe seguir las instrucciones para sincronizar los datos.",
"dballname": "Base de datos de todos los idiomas",
"dballmsg": "Este es un paquete de base de datos que contiene todos los idiomas. El almacenamiento requiere %s de espacio de almacenamiento adicional. Esta base de datos contiene actualmente los datos más recientes, pero para mantener la base de datos actualizada, debe seguir las instrucciones para sincronizar los datos. No utilice esta base de datos a menos que sea un caso especial.",
"dbwarn": "Esta base de datos es muy grande y puede contener datos innecesarios para el usuario. El tamaño de la base de datos es directamente proporcional al rendimiento de las lecturas/escrituras de datos, por lo que esta base de datos puede causar un aumento de rendimiento muy grande. ¿Le gustaría descargarla de todos modos?",
"warning": "Advertencia",
"dbalready": "¿Ya has descargado la base de datos?",
"dbalreadyerr": "¡Error! ¡No hay ningún archivo seleccionado! Por favor, inténtalo de nuevo.",

"dbdwaitforrequest": "Esperando una petición...",
"dbderror": "¡Error! Contacta con el desarrollador.",
"dbdcheck": "Comprobando la base de datos...",
"dbdcheckerr": "¡Esto no es un archivo de base de datos o el archivo está corrompido!\n¡Por favor, inténtalo de nuevo!",
"dbdunzip": "Desempaquetando...",
"dbdretry": "¡Ha ocurrido un error! ¡Por favor, compruebe su conexión a Internet e inténtelo de nuevo!",
"dbdindexing": "Indexación... ",
"dbdcomplete": "¡Hecho!\n¡Por favor, reinicie la aplicación!",
"dbdname": "Descargando Bases de Datos",
"dbddownloading": "Descargando...",

"nosearchresult": "No se han encontrado resultados :(",
"inputsearchtoken": "¡Por favor, introduzca un término de búsqueda!",
"closedoubletap": "Presione de nuevo para salir.",
"selectcolor": "Seleccione un color",
"addtobookmark": " se ha añadido a favoritos.",
"removetobookmark": " ha sido eliminado de favoritos.",
"infomessage": "El desarrollador no recoge ninguna información de los usuarios. Todas las imágenes y detalles son proporcionados por hitomi.la, e-hentai.org o exhentai.org.",
"tagmsgdefault": "Esta configuración es una configuración de búsqueda de términos..",
"tagrebuildmsg": "La reconstrucción de etiquetas es el proceso de resetear las etiquetas auto-completadas de acuerdo con los ajustes dados anteriormente. Para reconstruir la base de datos, véase el grupo de la base de datos más abajo. ¿Continuar?",

"notice1": "Gracias por descargar mi aplicación.",
"notice21": "Por favor, envíe sus preguntas o inquietudes a ",
"notice22": ".",
"notice3": "¡Cualquier comentario es bienvenido!",
"notice4": "Esta aplicación no tiene nada que ver con",
"notice5": "hitomi.la, e-hentai.org, exhentai.org.",

"locking": "Bloquear",
"enable_locking": "Habilitar Bloqueo",
"network": "Networking",
"routing_rule": "Regla de Enrutamiento",
"proxy": "Proxy",


"selectall": "Seleccionar Todo",
"deselectall": "Deselecionar Todo",
"inverse": "Invertir Selección",

"readrecord": "Cronología de Lectura",
"readrecorddesc": "Los artículos leídos más de una vez serán rememorados.",
"unclassified": "Sin clasificar",
"unclassifieddesc": "Marcadores sin clasificar",
"cannotmodifydefaultgroup": "El grupo por defecto no puede ser modificado.",
"filtering": "Filtro",
"editorder": "Editar Orden",
"newgroup": "Nuevo Grupo",
"modifygroupinfo": "Modificar Información del Grupo",
"name": "Nombre",
"desc": "Descripción",
"delete": "Eliminar",
"deletegroupmsg": "¿Los grupos eliminados no pueden ser recuperados. Todos los marcadores dentro del grupo también se eliminan. ¿Estás seguro de que quieres eliminar este grupo?",
"readpage": "Leer hasta la página",
"deletebookmarkmsg": "¿Quieres borrar todos los elementos de %s? Esta acción es irreversible.",
"wheretomove": "¿A donde moverse?",
"movetoto": "¿Mover %2 articulos en'%1'?",
"movebookmark": "Mover Marcador",
"thisislatestbookmark": "Los datos ya están actualizados.",
"importingbookmark": "Importar Marcador",
"exportingbookmark": "Exportar Marcador",
"noauth": "No tienes permiso para iniciar.",
"noselectedb": "No se ha seleccionado ninguna base de datos.",
"importbookmark": "¡Marcador Importado!",
"exportbookmark": "¡Marcador Exportado!",
"record": "Registro",
"recordmessage": "¿Hay un registro que has leído hasta la página %s antes. ¿Quieres seguir leyendo?",
"synccomplete": "¡La sincronización está completa!",
"right2left": "Leer de Derecha a Izquierda",
"newupdate": "¡Nueva actualización disponible!",
"latestver": "¡Ésta es la última versión!",

"yes": "",
"no": "No",

"date": "Date",
"complete": "Completo",
"waitqueue": "Cola de espera...",
"progress": "Progreso",
"waitdownload": "Esperando para Descargar...",
"extracting": "Extrayendo...",
"count": "%s",
"stop": "Detenido",
"unknownerr": "Error Desconocido",
"urlnotsupport": "Esta URL no es compatible",
"tryagainlogin": "¡Inténtalo de nuevo, después de ingresar!!",
"dinfo": "Info",
"state": "Estado",
"addurl": "Añadir URL",
"writeurl": "Escribir URL.",
"nothingtodownload": "No hay nada para descargar :("

}
2 changes: 1 addition & 1 deletion lib/locale.dart
Expand Up @@ -52,7 +52,7 @@ class TranslationsDelegate extends LocalizationsDelegate<Translations> {

@override
bool isSupported(Locale locale) {
var lc = ['ko', 'en', 'ja', 'zh', 'it'].contains(locale.languageCode);
var lc = ['ko', 'en', 'ja', 'zh', 'it', 'eo'].contains(locale.languageCode);
var sc = ['Hans', 'Hant'].contains(locale.scriptCode);
if (locale.languageCode == 'zh') {
return sc;
Expand Down
1 change: 1 addition & 0 deletions lib/main.dart
Expand Up @@ -94,6 +94,7 @@ void main() async {
const Locale('ja', 'JP'),
const Locale('zh', 'CH'),
const Locale('it', 'IT'),
const Locale('eo', 'ES'),
],
routes: <String, WidgetBuilder>{
'/AfterLoading': (BuildContext context) => WillPopScope(
Expand Down
3 changes: 3 additions & 0 deletions lib/pages/settings/settings_page.dart
Expand Up @@ -64,6 +64,7 @@ class ExCountry extends Country {
// 'CN': 'zh',
'RU': 'ru',
'IT': 'it',
'ES': 'eo',
};

if (dict.containsKey(isoCode)) return dict[isoCode];
Expand All @@ -85,6 +86,7 @@ class ExCountry extends Country {
// 'CN': '中文(繁體)',
'RU': 'Русский',
'IT': 'Italiano',
'ES': 'Español',
};

if (dict.containsKey(isoCode)) return dict[isoCode];
Expand Down Expand Up @@ -446,6 +448,7 @@ class _SettingsPageState extends State<SettingsPage>
ExCountry.create('CN', script: 'Hant'),
ExCountry.create('CN', script: 'Hans'),
ExCountry.create('IT'),
ExCountry.create('ES'),
// CountryPickerUtils.getCountryByIsoCode('RU'),
],
itemBuilder: (Country country) {
Expand Down
1 change: 1 addition & 0 deletions pubspec.yaml
Expand Up @@ -142,6 +142,7 @@ flutter:
- assets/locale/zh_Hant.json
- assets/locale/zh_Hans.json
- assets/locale/it.json
- assets/locale/eo.json
# - assets/images/loading.gif

# - assets/test/001.jpg
Expand Down

0 comments on commit 203723c

Please sign in to comment.