diff --git a/frontend/src/components/sidebar/Ribbon.vue b/frontend/src/components/sidebar/Ribbon.vue index eb095ef..1de4a5c 100644 --- a/frontend/src/components/sidebar/Ribbon.vue +++ b/frontend/src/components/sidebar/Ribbon.vue @@ -110,9 +110,9 @@ const onSelectPreferenceMenu = (key) => { break case 'help': if (prefStore.currentLanguage === 'zh') { - BrowserOpenURL('https://redis.tinycraft.cc/zh/guide/intro.html') + BrowserOpenURL('https://redis.tinycraft.cc/zh/guide/') } else { - BrowserOpenURL('https://redis.tinycraft.cc/guide/intro.html') + BrowserOpenURL('https://redis.tinycraft.cc/guide/') } break case 'about': diff --git a/frontend/src/langs/es-es.json b/frontend/src/langs/es-es.json new file mode 100644 index 0000000..de442bf --- /dev/null +++ b/frontend/src/langs/es-es.json @@ -0,0 +1,466 @@ +{ + "name": "Español", + "common": { + "confirm": "Confirmar", + "cancel": "Cancelar", + "success": "Éxito", + "warning": "Advertencia", + "error": "Error", + "save": "Guardar", + "update": "Actualizar", + "none": "Ninguno", + "second": "Segundo(s)", + "minute": "Minuto(s)", + "hour": "Hora(s)", + "day": "Día(s)", + "unit_day": "d", + "unit_hour": "h", + "unit_minute": "m", + "unit_second": "s", + "all": "Todos", + "key": "Clave", + "value": "Valor", + "field": "Campo", + "score": "Puntuación", + "index": "Posición" + }, + "preferences": { + "name": "Preferencias", + "restore_defaults": "Restaurar valores predeterminados", + "font_tip": "Admite selección múltiple. Ingrese manualmente la fuente si no está en la lista.", + "general": { + "name": "General", + "theme": "Tema", + "theme_light": "Claro", + "theme_dark": "Oscuro", + "theme_auto": "Automático", + "language": "Idioma", + "system_lang": "Usar el idioma del sistema", + "font": "Fuente", + "font_tip": "Seleccione o ingrese el nombre de la fuente", + "font_size": "Tamaño de fuente", + "scan_size": "Tamaño predeterminado para SCAN", + "key_icon_style": "Estilo de icono de clave", + "key_icon_style0": "Compacto", + "key_icon_style1": "Nombre completo", + "key_icon_style2": "Punto", + "key_icon_style3": "Común", + "update": "Actualizar", + "auto_check_update": "Buscar actualizaciones automáticamente" + }, + "editor": { + "name": "Editor", + "show_linenum": "Mostrar números de línea", + "show_folding": "Habilitar plegado de código", + "drop_text": "Permitir arrastrar y soltar texto", + "links": "Compatibilidad con enlaces" + }, + "cli": { + "name": "Línea de comandos", + "cursor_style": "Estilo del cursor", + "cursor_style_block": "Bloque", + "cursor_style_underline": "Subrayado", + "cursor_style_bar": "Barra" + }, + "decoder": { + "name": "Decodificador personalizado", + "new": "Nuevo decodificador", + "decoder_name": "Nombre", + "cmd_preview": "Vista previa", + "status": "Estado", + "auto_enabled": "Decodificación automática habilitada", + "help": "Ayuda" + } + }, + "interface": { + "new_conn": "Agregar conexión", + "new_group": "Agregar grupo", + "disconnect_all": "Desconectar todo", + "status": "Estado", + "filter": "Filtrar", + "sort_conn": "Ordenar conexiones", + "new_conn_title": "Nueva conexión", + "open_db": "Abrir base de datos", + "close_db": "Cerrar base de datos", + "filter_key": "Filtrar claves", + "disconnect": "Desconectar", + "dup_conn": "Duplicar conexión", + "remove_conn": "Eliminar conexión", + "edit_conn": "Editar conexión", + "edit_conn_group": "Editar grupo", + "rename_conn_group": "Renombrar grupo", + "remove_conn_group": "Eliminar grupo", + "import_conn": "Importar conexiones...", + "export_conn": "Exportar conexiones...", + "ttl": "TTL", + "forever": "Siempre", + "rename_key": "Renombrar clave", + "delete_key": "Eliminar clave", + "batch_delete_key": "Eliminar claves en lote", + "import_key": "Importar claves", + "flush_db": "Vaciar base de datos", + "check_mode": "Modo de selección", + "quit_check_mode": "Salir del modo de selección", + "delete_checked": "Eliminar seleccionados", + "export_checked": "Exportar seleccionados", + "ttl_checked": "Actualizar TTL para seleccionados", + "copy_value": "Copiar valor", + "edit_value": "Editar valor", + "save_update": "Guardar cambios", + "score_filter_tip": "Soporte para operadores:\n= igual\n!= distinto\n> mayor que\n>= mayor o igual\n< menor que\n<= menor o igual\ne.j. >3 para puntuaciones mayores que 3", + "add_row": "Insertar fila", + "edit_row": "Editar fila", + "delete_row": "Eliminar fila", + "fullscreen": "Pantalla completa", + "offscreen": "Salir de pantalla completa", + "pin_edit": "Fijar (permanece abierto después de guardar)", + "unpin_edit": "Desfijar", + "search": "Buscar", + "full_search": "Búsqueda de texto completo", + "full_search_result": "Contenido coincidente '{pattern}'", + "filter_field": "Filtrar campo", + "filter_value": "Filtrar valor", + "length": "Longitud", + "entries": "Entradas", + "memory_usage": "Uso de memoria", + "view_as": "Ver como", + "decode_with": "Decodificar / Descomprimir", + "custom_decoder": "Nuevo decodificador personalizado", + "reload": "Recargar", + "reload_disable": "Recargar después de cargar completamente", + "auto_refresh": "Actualización automática", + "refresh_interval": "Intervalo de actualización", + "open_connection": "Abrir conexión", + "copy_path": "Copiar ruta", + "copy_key": "Copiar clave", + "save_value_succ": "¡Valor guardado!", + "copy_succ": "¡Copiado al portapapeles!", + "binary_key": "Clave binaria", + "remove_key": "Eliminar clave", + "new_key": "Nueva clave", + "load_more": "Cargar más claves", + "load_all": "Cargar todas las claves restantes", + "load_more_entries": "Cargar más", + "load_all_entries": "Cargar todo", + "more_action": "Más acciones", + "nonexist_tab_content": "La clave seleccionada no existe o ninguna seleccionada. Intente nuevamente después de actualizar.", + "empty_server_content": "Seleccione y abra una conexión desde el panel izquierdo", + "empty_server_list": "No se ha agregado ningún servidor Redis", + "action": "Acción", + "type": "Tipo", + "cli_welcome": "Bienvenido a la consola Redis de Tiny RDM", + "retrieving_version": "Buscando actualizaciones", + "sub_tab": { + "status": "Estado", + "key_detail": "Detalles de clave", + "cli": "Consola", + "slow_log": "Registro lento", + "cmd_monitor": "Monitorear comandos", + "pub_message": "Pub/Sub" + } + }, + "ribbon": { + "server": "Servidor", + "browser": "Explorador de datos", + "log": "Registro", + "wechat_official": "Cuenta oficial de WeChat", + "follow_x": "Seguir \uD835\uDD4F", + "github": "Github" + }, + "dialogue": { + "close_confirm": "¿Cerrar esta conexión ({name})?", + "edit_close_confirm": "Cierre las conexiones relevantes antes de editar. ¿Continuar?", + "opening_connection": "Abriendo conexión...", + "interrupt_connection": "Cancelar", + "remove_tip": "{type} \"{name}\" será eliminado", + "remove_group_tip": "El grupo \"{name}\" y todas sus conexiones serán eliminados", + "rename_binary_key_fail": "No se admite renombrar claves binarias", + "handle_succ": "¡Éxito!", + "handle_cancel": "Operación cancelada.", + "reload_succ": "¡Recargado!", + "field_required": "Este campo es obligatorio", + "spec_field_required": "\"{key}\" es obligatorio", + "illegal_characters": "Contiene caracteres ilegales", + "connection": { + "new_title": "Nueva conexión", + "edit_title": "Editar conexión", + "general": "General", + "no_group": "Sin grupo", + "group": "Grupo", + "conn_name": "Nombre", + "addr": "Dirección", + "usr": "Usuario", + "pwd": "Contraseña", + "name_tip": "Nombre de la conexión", + "addr_tip": "Dirección del servidor Redis", + "sock_tip": "Archivo de socket Unix de Redis", + "usr_tip": "(Opcional) Usuario de autenticación", + "pwd_tip": "(Opcional) Contraseña de autenticación (Redis > 6.0)", + "test": "Probar conexión", + "test_succ": "Conectado con éxito al servidor Redis", + "test_fail": "Falló la conexión", + "parse_url_clipboard": "Analizar URL desde el portapapeles", + "parse_pass": "URL de Redis analizada: {url}", + "parse_fail": "Error al analizar la URL de Redis: {reason}", + "advn": { + "title": "Avanzado", + "filter": "Filtro de clave predeterminado", + "filter_tip": "Patrón para filtrar las claves cargadas", + "separator": "Separador de clave", + "separator_tip": "Separador para segmentos de ruta de clave", + "conn_timeout": "Tiempo de espera de conexión", + "exec_timeout": "Tiempo de espera de ejecución", + "dbfilter_type": "Filtro de base de datos", + "dbfilter_all": "Mostrar todo", + "dbfilter_show": "Mostrar seleccionados", + "dbfilter_hide": "Ocultar seleccionados", + "dbfilter_show_title": "Bases de datos a mostrar", + "dbfilter_hide_title": "Bases de datos a ocultar", + "dbfilter_input": "Ingresar índice de base de datos", + "dbfilter_input_tip": "Presione Enter para confirmar", + "key_view": "Vista de clave predeterminada", + "key_view_tree": "Vista de árbol", + "key_view_list": "Vista de lista", + "load_size": "Claves por carga", + "mark_color": "Color de marca" + }, + "alias": { + "title": "Alias de base de datos", + "db": "Ingresar índice de base de datos", + "value": "Ingresar alias de base de datos" + }, + "ssl": { + "title": "SSL/TLS", + "enable": "Habilitar SSL/TLS", + "allow_insecure": "Permitir inseguro", + "sni": "Nombre de servidor (SNI)", + "sni_tip": "(Opcional) Nombre del servidor", + "cert_file": "Archivo de clave pública", + "key_file": "Archivo de clave privada", + "ca_file": "Archivo CA", + "cert_file_tip": "Archivo de clave pública en formato PEM (Cert)", + "key_file_tip": "Archivo de clave privada en formato PEM (Key)", + "ca_file_tip": "Archivo de autoridad de certificación en formato PEM (CA)" + }, + "ssh": { + "enable": "Habilitar túnel SSH", + "title": "Túnel SSH", + "login_type": "Tipo de inicio de sesión", + "pkfile": "Archivo de clave privada", + "passphrase": "Frase de contraseña", + "addr_tip": "Dirección del servidor SSH", + "usr_tip": "Usuario SSH", + "pwd_tip": "Contraseña SSH", + "pkfile_tip": "Ruta del archivo de clave privada SSH", + "passphrase_tip": "(Opcional) Frase de contraseña para la clave privada" + }, + "sentinel": { + "title": "Centinela", + "enable": "Como nodo centinela", + "master": "Nombre del grupo maestro", + "auto_discover": "Descubrimiento automático", + "password": "Contraseña del maestro", + "username": "Usuario del maestro", + "pwd_tip": "(Opcional) Usuario de autenticación del maestro", + "usr_tip": "(Opcional) Contraseña de autenticación del maestro (Redis > 6.0)" + }, + "cluster": { + "title": "Clúster", + "enable": "Como nodo de clúster" + }, + "proxy": { + "title": "Proxy", + "type_none": "Sin proxy", + "type_system": "Proxy del sistema", + "type_custom": "Proxy manual", + "host": "Nombre de host", + "auth": "Autenticación de proxy", + "usr_tip": "Usuario de autenticación de proxy", + "pwd_tip": "Contraseña de autenticación de proxy" + } + }, + "group": { + "name": "Nombre del grupo", + "rename": "Renombrar grupo", + "new": "Nuevo grupo" + }, + "key": { + "new": "Nueva clave", + "new_name": "Nuevo nombre de clave", + "server": "Conexión", + "db_index": "Índice de base de datos", + "key_expression": "Patrón de clave", + "affected_key": "Claves afectadas", + "show_affected_key": "Mostrar claves afectadas", + "confirm_delete_key": "Confirmar eliminar {num} clave(s)", + "async_delete": "Ejecución asíncrona", + "async_delete_title": "No esperar el resultado", + "confirm_flush": "¡Sé lo que estoy haciendo!", + "confirm_flush_db": "Confirmar vaciar la base de datos" + }, + "delete": { + "success": "\"{key}\" eliminada", + "deleting": "Eliminando", + "doing": "Eliminando clave ({index}/{count})", + "completed": "Eliminación completada, {success} tuvieron éxito, {fail} fallaron" + }, + "field": { + "new": "Nuevo campo", + "new_item": "Nuevo elemento", + "conflict_handle": "En conflicto de campo", + "overwrite_field": "Sobrescribir", + "ignore_field": "Ignorar", + "insert_type": "Tipo de inserción", + "append_item": "Anexar", + "prepend_item": "Anteponer", + "enter_key": "Ingresar clave", + "enter_value": "Ingresar valor", + "enter_field": "Ingresar nombre de campo", + "enter_elem": "Ingresar elemento", + "enter_member": "Ingresar miembro", + "enter_score": "Ingresar puntuación", + "element": "Elemento", + "reload_when_succ": "Recargar inmediatamente si tiene éxito" + }, + "filter": { + "set_key_filter": "Establecer filtro de clave", + "filter_pattern": "Patrón", + "filter_pattern_tip": "* coincide con 0 o más caracteres, ej. 'key*'\n? coincide con un carácter, ej. 'key?'\n[] coincide con un rango, ej. 'key[1-3]'\n\\ escapa caracteres especiales", + "exact_match_tip": "Coincidencia exacta" + }, + "export": { + "name": "Exportar datos", + "export_expire_title": "Expiración", + "export_expire": "Incluir expiración", + "export": "Exportar", + "save_file": "Ruta de exportación", + "save_file_tip": "Seleccionar ruta para guardar archivo exportado", + "exporting": "Exportando claves ({index}/{count})", + "export_completed": "Exportación completada, {success} tuvieron éxito, {fail} fallaron" + }, + "import": { + "name": "Importar datos", + "import_expire_title": "Expiración", + "import": "Importar", + "reload": "Recargar después de importar", + "open_csv_file": "Archivo de importación", + "open_csv_file_tip": "Seleccionar archivo a importar", + "conflict_handle": "En conflicto de clave", + "conflict_overwrite": "Sobrescribir", + "conflict_ignore": "Ignorar", + "ttl_include": "Importar desde archivo", + "ttl_ignore": "No establecer", + "ttl_custom": "Personalizado", + "importing": "Importando claves importadas/sobrescritas:{imported} conflicto/fallas:{conflict}", + "import_completed": "Importación completada, {success} tuvieron éxito, {ignored} ignoradas" + }, + "ttl": { + "title": "Actualizar TTL", + "title_batch": "Actualizar TTL en lote ({count})", + "quick_set": "Configurar rápidamente", + "success": "TTL actualizado para todas las claves" + }, + "decoder": { + "name": "Nuevo decodificador/codificador", + "edit_name": "Editar decodificador/codificador", + "new": "Nuevo", + "decoder": "Decodificador", + "encoder": "Codificador", + "decoder_name": "Nombre", + "auto": "Decodificar automáticamente", + "decode_path": "Ruta del decodificador", + "encode_path": "Ruta del codificador", + "path_help": "Ruta al ejecutable, o alias de cli como 'sh/php/python'", + "args": "Argumentos", + "args_help": "Use [VALUE] como marcador de posición para codificar/decodificar contenido. El contenido se agregará al final si no se proporciona marcador de posición." + }, + "upgrade": { + "title": "Nueva versión disponible", + "new_version_tip": "Nueva versión {ver} disponible, ¿descargar ahora?", + "no_update": "Está actualizado", + "download_now": "Descargar ahora", + "later": "Más tarde", + "skip": "Omitir esta versión" + }, + "about": { + "source": "Código fuente", + "website": "Sitio web oficial" + } + }, + "menu": { + "minimise": "Minimizar", + "maximise": "Maximizar", + "restore": "Restaurar", + "close": "Cerrar", + "preferences": "Preferencias", + "help": "Ayuda", + "user_guide": "Guía de usuario", + "check_update": "Buscar actualizaciones...", + "report_bug": "Reportar error", + "about": "Acerca de" + }, + "log": { + "title": "Registro de lanzamiento", + "filter_server": "Filtrar servidor", + "filter_keyword": "Filtrar palabra clave", + "clean_log": "Limpiar registro", + "confirm_clean_log": "Confirmar limpiar registro de lanzamiento", + "exec_time": "Tiempo de ejecución", + "server": "Servidor", + "cmd": "Comando", + "cost_time": "Costo", + "refresh": "Actualizar" + }, + "status": { + "uptime": "Tiempo activo", + "connected_clients": "Clientes", + "total_keys": "Claves", + "memory_used": "Memoria", + "server_info": "Información del servidor", + "activity_status": "Actividad", + "act_cmd": "Comandos/Seg", + "act_network_input": "Entrada de red", + "act_network_output": "Salida de red", + "client": { + "title": "Lista de clientes", + "addr": "Dirección del cliente", + "age": "Edad (seg)", + "idle": "Inactivo (seg)", + "db": "Base de datos" + } + }, + "slog": { + "title": "Registro lento", + "limit": "Límite", + "filter": "Filtrar", + "exec_time": "Tiempo", + "client": "Cliente", + "cmd": "Comando", + "cost_time": "Costo" + }, + "monitor": { + "title": "Monitorear comandos", + "actions": "Acciones", + "warning": "El monitoreo de comandos puede causar bloqueos en el servidor, úselo con precaución en servidores de producción.", + "start": "Iniciar", + "stop": "Detener", + "search": "Buscar", + "copy_log": "Copiar registro", + "save_log": "Guardar registro", + "clean_log": "Limpiar registro", + "always_show_last": "Siempre mostrar el último" + }, + "pubsub": { + "title": "Pub/Sub", + "publish": "Publicar", + "subscribe": "Suscribir", + "unsubscribe": "Cancelar suscripción", + "clear": "Limpiar mensajes", + "time": "Tiempo", + "filter": "Filtrar", + "channel": "Canal", + "message": "Mensaje", + "receive_message": "Recibidos {total} mensajes", + "always_show_last": "Siempre mostrar el último" + } +} diff --git a/frontend/src/langs/fr-fr.json b/frontend/src/langs/fr-fr.json new file mode 100644 index 0000000..af166dc --- /dev/null +++ b/frontend/src/langs/fr-fr.json @@ -0,0 +1,466 @@ +{ + "name": "Français", + "common": { + "confirm": "Confirmer", + "cancel": "Annuler", + "success": "Succès", + "warning": "Avertissement", + "error": "Erreur", + "save": "Enregistrer", + "update": "Mettre à jour", + "none": "Aucun", + "second": "Seconde(s)", + "minute": "Minute(s)", + "hour": "Heure(s)", + "day": "Jour(s)", + "unit_day": "j", + "unit_hour": "h", + "unit_minute": "m", + "unit_second": "s", + "all": "Tous", + "key": "Clé", + "value": "Valeur", + "field": "Champ", + "score": "Score", + "index": "Position" + }, + "preferences": { + "name": "Préférences", + "restore_defaults": "Restaurer les valeurs par défaut", + "font_tip": "Supporte la sélection multiple. Saisir manuellement la police si elle n'est pas listée.", + "general": { + "name": "Général", + "theme": "Thème", + "theme_light": "Clair", + "theme_dark": "Sombre", + "theme_auto": "Automatique", + "language": "Langue", + "system_lang": "Utiliser la langue du système", + "font": "Police", + "font_tip": "Sélectionner ou saisir le nom de la police", + "font_size": "Taille de la police", + "scan_size": "Taille par défaut pour SCAN", + "key_icon_style": "Style d'icône de clé", + "key_icon_style0": "Compact", + "key_icon_style1": "Nom complet", + "key_icon_style2": "Point", + "key_icon_style3": "Commun", + "update": "Mise à jour", + "auto_check_update": "Vérifier automatiquement les mises à jour" + }, + "editor": { + "name": "Éditeur", + "show_linenum": "Afficher les numéros de ligne", + "show_folding": "Activer le repliage de code", + "drop_text": "Autoriser le glisser-déposer de texte", + "links": "Supporter les liens" + }, + "cli": { + "name": "Ligne de commande", + "cursor_style": "Style du curseur", + "cursor_style_block": "Bloc", + "cursor_style_underline": "Soulignement", + "cursor_style_bar": "Barre" + }, + "decoder": { + "name": "Décodeur personnalisé", + "new": "Nouveau décodeur", + "decoder_name": "Nom", + "cmd_preview": "Aperçu", + "status": "Statut", + "auto_enabled": "Décodage automatique activé", + "help": "Aide" + } + }, + "interface": { + "new_conn": "Ajouter une connexion", + "new_group": "Ajouter un groupe", + "disconnect_all": "Déconnecter tout", + "status": "Statut", + "filter": "Filtre", + "sort_conn": "Trier les connexions", + "new_conn_title": "Nouvelle connexion", + "open_db": "Ouvrir la base de données", + "close_db": "Fermer la base de données", + "filter_key": "Filtrer les clés", + "disconnect": "Déconnecter", + "dup_conn": "Dupliquer la connexion", + "remove_conn": "Supprimer la connexion", + "edit_conn": "Éditer la connexion", + "edit_conn_group": "Éditer le groupe", + "rename_conn_group": "Renommer le groupe", + "remove_conn_group": "Supprimer le groupe", + "import_conn": "Importer des connexions...", + "export_conn": "Exporter des connexions...", + "ttl": "TTL", + "forever": "Pour toujours", + "rename_key": "Renommer la clé", + "delete_key": "Supprimer la clé", + "batch_delete_key": "Supprimer les clés par lot", + "import_key": "Importer des clés", + "flush_db": "Vider la base de données", + "check_mode": "Mode de vérification", + "quit_check_mode": "Quitter le mode de vérification", + "delete_checked": "Supprimer les éléments cochés", + "export_checked": "Exporter les éléments cochés", + "ttl_checked": "Mettre à jour le TTL des éléments cochés", + "copy_value": "Copier la valeur", + "edit_value": "Éditer la valeur", + "save_update": "Enregistrer les modifications", + "score_filter_tip": "Supporte les opérateurs :\n= égal\n!= différent\n> supérieur à \n>= supérieur ou égal\n< inférieur à\n<= inférieur ou égal\nEx: >3 pour les scores supérieurs à 3", + "add_row": "Insérer une ligne", + "edit_row": "Éditer la ligne", + "delete_row": "Supprimer la ligne", + "fullscreen": "Plein écran", + "offscreen": "Quitter le plein écran", + "pin_edit": "Épingler (rester ouvert après enregistrement)", + "unpin_edit": "Désépingler", + "search": "Rechercher", + "full_search": "Recherche en texte intégral", + "full_search_result": "Contenu correspondant à '{pattern}'", + "filter_field": "Filtrer le champ", + "filter_value": "Valeur de filtrage", + "length": "Longueur", + "entries": "Entrées", + "memory_usage": "Utilisation de la mémoire", + "view_as": "Voir comme", + "decode_with": "Décoder / Décompresser", + "custom_decoder": "Nouveau décodeur personnalisé", + "reload": "Recharger", + "reload_disable": "Recharger après chargement complet", + "auto_refresh": "Rafraîchissement automatique", + "refresh_interval": "Intervalle de rafraîchissement", + "open_connection": "Ouvrir la connexion", + "copy_path": "Copier le chemin", + "copy_key": "Copier la clé", + "save_value_succ": "Valeur enregistrée !", + "copy_succ": "Copié dans le presse-papiers !", + "binary_key": "Clé binaire", + "remove_key": "Supprimer la clé", + "new_key": "Nouvelle clé", + "load_more": "Charger plus de clés", + "load_all": "Charger toutes les clés restantes", + "load_more_entries": "Charger plus", + "load_all_entries": "Charger tout", + "more_action": "Plus d'actions", + "nonexist_tab_content": "La clé sélectionnée n'existe pas ou aucune clé n'est sélectionnée. Réessayez après un rafraîchissement.", + "empty_server_content": "Sélectionnez et ouvrez une connexion depuis le panneau de gauche", + "empty_server_list": "Aucun serveur Redis ajouté", + "action": "Action", + "type": "Type", + "cli_welcome": "Bienvenue dans la console Redis de Tiny RDM", + "retrieving_version": "Vérification des mises à jour", + "sub_tab": { + "status": "Statut", + "key_detail": "Détails de la clé", + "cli": "Console", + "slow_log": "Journal lent", + "cmd_monitor": "Surveiller les commandes", + "pub_message": "Pub/Sub" + } + }, + "ribbon": { + "server": "Serveur", + "browser": "Navigateur de données", + "log": "Journal", + "wechat_official": "Compte officiel WeChat", + "follow_x": "Suivre \uD835\uDD4F", + "github": "Github" + }, + "dialogue": { + "close_confirm": "Fermer cette connexion ({name}) ?", + "edit_close_confirm": "Veuillez fermer les connexions appropriées avant l'édition. Continuer ?", + "opening_connection": "Ouverture de la connexion...", + "interrupt_connection": "Annuler", + "remove_tip": "{type} \"{name}\" sera supprimé", + "remove_group_tip": "Le groupe \"{name}\" et toutes ses connexions seront supprimés", + "rename_binary_key_fail": "Le renommage des clés binaires n'est pas pris en charge", + "handle_succ": "Succès !", + "handle_cancel": "Opération annulée.", + "reload_succ": "Rechargé !", + "field_required": "Ce champ est obligatoire", + "spec_field_required": "\"{key}\" est requis", + "illegal_characters": "Contient des caractères illégaux", + "connection": { + "new_title": "Nouvelle connexion", + "edit_title": "Éditer la connexion", + "general": "Général", + "no_group": "Aucun groupe", + "group": "Groupe", + "conn_name": "Nom", + "addr": "Adresse", + "usr": "Nom d'utilisateur", + "pwd": "Mot de passe", + "name_tip": "Nom de la connexion", + "addr_tip": "Adresse du serveur Redis", + "sock_tip": "Fichier de socket Unix Redis", + "usr_tip": "(Optionnel) Nom d'utilisateur d'authentification", + "pwd_tip": "(Optionnel) Mot de passe d'authentification (Redis > 6.0)", + "test": "Tester la connexion", + "test_succ": "Connecté avec succès au serveur Redis", + "test_fail": "Échec de la connexion", + "parse_url_clipboard": "Analyser l'URL depuis le presse-papiers", + "parse_pass": "URL Redis analysée : {url}", + "parse_fail": "Échec de l'analyse de l'URL Redis : {reason}", + "advn": { + "title": "Avancé", + "filter": "Filtre de clé par défaut", + "filter_tip": "Modèle pour filtrer les clés chargées", + "separator": "Séparateur de clé", + "separator_tip": "Séparateur pour les segments de chemin de clé", + "conn_timeout": "Délai d'expiration de la connexion", + "exec_timeout": "Délai d'exécution", + "dbfilter_type": "Filtre de base de données", + "dbfilter_all": "Tout afficher", + "dbfilter_show": "Afficher la sélection", + "dbfilter_hide": "Masquer la sélection", + "dbfilter_show_title": "Bases de données à afficher", + "dbfilter_hide_title": "Bases de données à masquer", + "dbfilter_input": "Saisir l'index de la base de données", + "dbfilter_input_tip": "Appuyer sur Entrée pour confirmer", + "key_view": "Vue de clé par défaut", + "key_view_tree": "Vue arborescente", + "key_view_list": "Vue liste", + "load_size": "Clés par chargement", + "mark_color": "Couleur de marquage" + }, + "alias": { + "title": "Alias de base de données", + "db": "Saisir l'index de la base de données", + "value": "Saisir l'alias de la base de données" + }, + "ssl": { + "title": "SSL/TLS", + "enable": "Activer SSL/TLS", + "allow_insecure": "Autoriser les connexions non sécurisées", + "sni": "Nom du serveur (SNI)", + "sni_tip": "(Optionnel) Nom du serveur", + "cert_file": "Fichier de clé publique", + "key_file": "Fichier de clé privée", + "ca_file": "Fichier CA", + "cert_file_tip": "Fichier de clé publique au format PEM(Cert)", + "key_file_tip": "Fichier de clé privée au format PEM(Key)", + "ca_file_tip": "Fichier d'autorité de certification au format PEM(CA)" + }, + "ssh": { + "enable": "Activer le tunnel SSH", + "title": "Tunnel SSH", + "login_type": "Type de connexion", + "pkfile": "Fichier de clé privée", + "passphrase": "Phrase secrète", + "addr_tip": "Adresse SSH", + "usr_tip": "Nom d'utilisateur SSH", + "pwd_tip": "Mot de passe SSH", + "pkfile_tip": "Chemin du fichier de clé privée SSH", + "passphrase_tip": "(Optionnel) Phrase secrète pour la clé privée" + }, + "sentinel": { + "title": "Sentinelle", + "enable": "En tant que noeud sentinelle", + "master": "Nom du groupe principal", + "auto_discover": "Découverte automatique", + "password": "Mot de passe principal", + "username": "Nom d'utilisateur principal", + "pwd_tip": "(Optionnel) Nom d'utilisateur d'authentification principal", + "usr_tip": "(Optionnel) Mot de passe d'authentification principal (Redis > 6.0)" + }, + "cluster": { + "title": "Cluster", + "enable": "En tant que noeud de cluster" + }, + "proxy": { + "title": "Proxy", + "type_none": "Pas de proxy", + "type_system": "Proxy système", + "type_custom": "Proxy manuel", + "host": "Nom d'hôte", + "auth": "Authentification proxy", + "usr_tip": "Nom d'utilisateur d'authentification proxy", + "pwd_tip": "Mot de passe d'authentification proxy" + } + }, + "group": { + "name": "Nom du groupe", + "rename": "Renommer le groupe", + "new": "Nouveau groupe" + }, + "key": { + "new": "Nouvelle clé", + "new_name": "Nouveau nom de clé", + "server": "Connexion", + "db_index": "Index de la base de données", + "key_expression": "Modèle de clé", + "affected_key": "Clés affectées", + "show_affected_key": "Afficher les clés affectées", + "confirm_delete_key": "Confirmer la suppression de {num} clé(s)", + "async_delete": "Exécution asynchrone", + "async_delete_title": "Ne pas attendre le résultat", + "confirm_flush": "Je sais ce que je fais !", + "confirm_flush_db": "Confirmer le vidage de la base de données" + }, + "delete": { + "success": "\"{key}\" supprimé", + "deleting": "Suppression en cours", + "doing": "Suppression de la clé ({index}/{count})", + "completed": "Suppression terminée, {success} réussies, {fail} échouées" + }, + "field": { + "new": "Nouveau champ", + "new_item": "Nouvel élément", + "conflict_handle": "En cas de conflit de champ", + "overwrite_field": "Écraser", + "ignore_field": "Ignorer", + "insert_type": "Type d'insertion", + "append_item": "Ajouter", + "prepend_item": "Insérer en tête", + "enter_key": "Saisir la clé", + "enter_value": "Saisir la valeur", + "enter_field": "Saisir le nom du champ", + "enter_elem": "Saisir l'élément", + "enter_member": "Saisir le membre", + "enter_score": "Saisir le score", + "element": "Élément", + "reload_when_succ": "Recharger immédiatement en cas de réussite" + }, + "filter": { + "set_key_filter": "Définir le filtre de clé", + "filter_pattern": "Modèle", + "filter_pattern_tip": "* correspond à 0 ou plusieurs caractères, ex : 'key*'\n? correspond à un seul caractère, ex : 'key?'\n[] correspond à une plage, ex : 'key[1-3]' échappe les caractères spéciaux", + "exact_match_tip": "Correspondance exacte" + }, + "export": { + "name": "Exporter les données", + "export_expire_title": "Expiration", + "export_expire": "Inclure l'expiration", + "export": "Exporter", + "save_file": "Chemin d'exportation", + "save_file_tip": "Sélectionner le chemin pour enregistrer le fichier exporté", + "exporting": "Exportation des clés ({index}/{count})", + "export_completed": "Exportation terminée, {success} réussies, {fail} échouées" + }, + "import": { + "name": "Importer des données", + "import_expire_title": "Expiration", + "reload": "Recharger après l'importation", + "import": "Importer", + "open_csv_file": "Fichier d'importation", + "open_csv_file_tip": "Sélectionner le fichier à importer", + "conflict_handle": "En cas de conflit de clé", + "conflict_overwrite": "Écraser", + "conflict_ignore": "Ignorer", + "ttl_include": "Importer depuis le fichier", + "ttl_ignore": "Ne pas définir", + "ttl_custom": "Personnalisé", + "importing": "Importation des clés importées/écrasées:{imported} conflit/échouées:{conflict}", + "import_completed": "Importation terminée, {success} réussies, {ignored} ignorées" + }, + "ttl": { + "title": "Mettre à jour le TTL", + "title_batch": "Mise à jour par lot du TTL ({count})", + "quick_set": "Définition rapide", + "success": "TTL mis à jour pour toutes les clés" + }, + "decoder": { + "name": "Nouveau décodeur/encodeur", + "edit_name": "Éditer le décodeur/encodeur", + "new": "Nouveau", + "decoder": "Décodeur", + "encoder": "Encodeur", + "decoder_name": "Nom", + "auto": "Décodage automatique", + "decode_path": "Chemin du décodeur", + "encode_path": "Chemin de l'encodeur", + "path_help": "Chemin de l'exécutable, ou alias cli comme 'sh/php/python'", + "args": "Arguments", + "args_help": "Utiliser [VALUE] comme espace réservé pour le contenu de codage/décodage. Le contenu sera ajouté à la fin si aucun espace réservé n'est fourni." + }, + "upgrade": { + "title": "Nouvelle version disponible", + "new_version_tip": "Nouvelle version {ver} disponible, télécharger maintenant ?", + "no_update": "Vous êtes à jour", + "download_now": "Télécharger maintenant", + "later": "Plus tard", + "skip": "Ignorer cette version" + }, + "about": { + "source": "Code source", + "website": "Site officiel" + } + }, + "menu": { + "minimise": "Minimiser", + "maximise": "Maximiser", + "restore": "Restaurer", + "close": "Fermer", + "preferences": "Préférences", + "help": "Aide", + "user_guide": "Guide de l'utilisateur", + "check_update": "Vérifier les mises à jour...", + "report_bug": "Signaler un bug", + "about": "À propos" + }, + "log": { + "title": "Journal de lancement", + "filter_server": "Filtrer le serveur", + "filter_keyword": "Filtrer les mots-clés", + "clean_log": "Nettoyer le journal", + "confirm_clean_log": "Confirmer le nettoyage du journal de lancement", + "exec_time": "Heure d'exécution", + "server": "Serveur", + "cmd": "Commande", + "cost_time": "Coût", + "refresh": "Rafraîchir" + }, + "status": { + "uptime": "Temps de fonctionnement", + "connected_clients": "Clients connectés", + "total_keys": "Nombre total de clés", + "memory_used": "Mémoire utilisée", + "server_info": "Informations serveur", + "activity_status": "Activité", + "act_cmd": "Commandes/Sec", + "act_network_input": "Entrée réseau", + "act_network_output": "Sortie réseau", + "client": { + "title": "Liste des clients", + "addr": "Adresse client", + "age": "Âge (sec)", + "idle": "Inactif (sec)", + "db": "Base de données" + } + }, + "slog": { + "title": "Journal lent", + "limit": "Limite", + "filter": "Filtre", + "exec_time": "Heure", + "client": "Client", + "cmd": "Commande", + "cost_time": "Coût" + }, + "monitor": { + "title": "Surveiller les commandes", + "actions": "Actions", + "warning": "La surveillance des commandes peut bloquer le serveur, à utiliser avec prudence sur les serveurs de production.", + "start": "Démarrer", + "stop": "Arrêter", + "search": "Rechercher", + "copy_log": "Copier le journal", + "save_log": "Enregistrer le journal", + "clean_log": "Nettoyer le journal", + "always_show_last": "Toujours afficher les dernières" + }, + "pubsub": { + "title": "Pub/Sub", + "publish": "Publier", + "subscribe": "S'abonner", + "unsubscribe": "Se désabonner", + "clear": "Effacer les messages", + "time": "Heure", + "filter": "Filtre", + "channel": "Canal", + "message": "Message", + "receive_message": "{total} messages reçus", + "always_show_last": "Toujours afficher les derniers" + } +} diff --git a/frontend/src/langs/index.js b/frontend/src/langs/index.js index 2e60a39..4c2d43d 100644 --- a/frontend/src/langs/index.js +++ b/frontend/src/langs/index.js @@ -2,9 +2,17 @@ import en from './en-us' import pt from './pt-br' import zh from './zh-cn' import tw from './zh-tw' +import ko from './ko-kr' +import ja from './ja-jp' +import es from './es-es' +import fr from './fr-fr' export const lang = { en, + es, + fr, + ja, + ko, pt, zh, tw, diff --git a/frontend/src/langs/ja-jp.json b/frontend/src/langs/ja-jp.json new file mode 100644 index 0000000..a675351 --- /dev/null +++ b/frontend/src/langs/ja-jp.json @@ -0,0 +1,466 @@ +{ + "name": "日本語", + "common": { + "confirm": "確認", + "cancel": "キャンセル", + "success": "成功", + "warning": "警告", + "error": "エラー", + "save": "保存", + "update": "更新", + "none": "なし", + "second": "秒", + "minute": "分", + "hour": "時間", + "day": "日", + "unit_day": "日", + "unit_hour": "時間", + "unit_minute": "分", + "unit_second": "秒", + "all": "すべて", + "key": "キー", + "value": "値", + "field": "フィールド", + "score": "スコア", + "index": "位置" + }, + "preferences": { + "name": "設定", + "restore_defaults": "デフォルトに戻す", + "font_tip": "複数選択可能、インストール済みのフォントがリストにない場合は手動で入力できます", + "general": { + "name": "一般設定", + "theme": "テーマ", + "theme_light": "ライトモード", + "theme_dark": "ダークモード", + "theme_auto": "自動", + "language": "言語", + "system_lang": "システム言語を使用", + "font": "フォント", + "font_tip": "フォント名を選択または入力してください", + "font_size": "フォントサイズ", + "scan_size": "SCANコマンドのデフォルトサイズ", + "key_icon_style": "キーアイコンのスタイル", + "key_icon_style0": "コンパクトタイプ", + "key_icon_style1": "フルネームタイプ", + "key_icon_style2": "ドットタイプ", + "key_icon_style3": "共通アイコン", + "update": "更新", + "auto_check_update": "自動でアップデートを確認" + }, + "editor": { + "name": "エディター", + "show_linenum": "行番号を表示", + "show_folding": "コード折りたたみを有効化", + "drop_text": "テキストのドラッグ&ドロップを許可", + "links": "リンクをサポート" + }, + "cli": { + "name": "コマンドライン", + "cursor_style": "カーソルスタイル", + "cursor_style_block": "ブロック", + "cursor_style_underline": "アンダーライン", + "cursor_style_bar": "バー" + }, + "decoder": { + "name": "カスタムデコーダー", + "new": "新しいデコーダー", + "decoder_name": "名前", + "cmd_preview": "プレビュー", + "status": "ステータス", + "auto_enabled": "自動デコーディングが有効化されました", + "help": "ヘルプ" + } + }, + "interface": { + "new_conn": "新しい接続を追加", + "new_group": "新しいグループを追加", + "disconnect_all": "すべての接続を切断", + "status": "ステータス", + "filter": "フィルター", + "sort_conn": "接続を並べ替え", + "new_conn_title": "新しい接続", + "open_db": "データベースを開く", + "close_db": "データベースを閉じる", + "filter_key": "キーをフィルター", + "disconnect": "切断", + "dup_conn": "接続を複製", + "remove_conn": "接続を削除", + "edit_conn": "接続設定を編集", + "edit_conn_group": "グループを編集", + "rename_conn_group": "グループ名を変更", + "remove_conn_group": "グループを削除", + "import_conn": "接続をインポート...", + "export_conn": "接続をエクスポート...", + "ttl": "TTL", + "forever": "永久", + "rename_key": "キー名を変更", + "delete_key": "キーを削除", + "batch_delete_key": "キーを一括削除", + "import_key": "キーをインポート", + "flush_db": "データベースをフラッシュ", + "check_mode": "チェックモード", + "quit_check_mode": "チェックモードを終了", + "delete_checked": "チェックされたものを削除", + "export_checked": "チェックされたものをエクスポート", + "ttl_checked": "チェックされたもののTTLを更新", + "copy_value": "値をコピー", + "edit_value": "値を編集", + "save_update": "変更を保存", + "score_filter_tip": "以下の演算子を使って範囲をフィルターできます\n=:等しい\n!=:等しくない\n>:より大きい\n>=:以上\n<:より小さい\n<=:以下\n例)スコアが3よりも大きいものを検索する場合は、>3と入力します", + "add_row": "行を挿入", + "edit_row": "行を編集", + "delete_row": "行を削除", + "fullscreen": "全画面表示", + "offscreen": "全画面表示を終了", + "pin_edit": "編集ボックスを固定(保存後も閉じない)", + "unpin_edit": "ピン留めを解除", + "search": "検索", + "full_search": "全文検索", + "full_search_result": "コンテンツが'{pattern}'にマッチしました", + "filter_field": "フィールドをフィルター", + "filter_value": "値をフィルター", + "length": "長さ", + "entries": "エントリ", + "memory_usage": "メモリ使用量", + "view_as": "表示形式", + "decode_with": "デコード/解凍", + "custom_decoder": "新しいカスタムデコーダー", + "reload": "再読み込み", + "reload_disable": "すべて読み込んだ後に再読み込みできます", + "auto_refresh": "自動更新", + "refresh_interval": "更新間隔", + "open_connection": "接続を開く", + "copy_path": "パスをコピー", + "copy_key": "キーをコピー", + "save_value_succ": "値を保存しました!", + "copy_succ": "クリップボードにコピーしました!", + "binary_key": "バイナリキー名", + "remove_key": "キーを削除", + "new_key": "新しいキー", + "load_more": "キーをさらに読み込む", + "load_all": "残りのすべてのキーを読み込む", + "load_more_entries": "さらに読み込む", + "load_all_entries": "すべて読み込む", + "more_action": "その他の操作", + "nonexist_tab_content": "選択したキーが存在しないか、キーが選択されていません。更新後に再試行してください。", + "empty_server_content": "左のパネルから接続を選択して開いてください", + "empty_server_list": "Redisサーバーが追加されていません", + "action": "アクション", + "type": "タイプ", + "cli_welcome": "Tiny RDMのRedisコンソールへようこそ", + "retrieving_version": "新しいバージョンを確認しています", + "sub_tab": { + "status": "ステータス", + "key_detail": "キーの詳細", + "cli": "コンソール", + "slow_log": "スロー ログ", + "cmd_monitor": "コマンドのモニタリング", + "pub_message": "パブ/サブ" + } + }, + "ribbon": { + "server": "サーバー", + "browser": "データ ブラウザ", + "log": "ログ", + "wechat_official": "Wechat 公式アカウント", + "follow_x": "私の \uD835\uDD4F をフォローする", + "github": "Github" + }, + "dialogue": { + "close_confirm": "この接続({name})を閉じますか?", + "edit_close_confirm": "編集する前に関連する接続を閉じる必要があります。続行しますか?", + "opening_connection": "接続を開いています...", + "interrupt_connection": "キャンセル", + "remove_tip": "{type} \"{name}\" が削除されます", + "remove_group_tip": "グループ \"{name}\" とそのすべての接続が削除されます", + "rename_binary_key_fail": "バイナリキーの名前は変更できません", + "handle_succ": "成功しました!", + "handle_cancel": "操作がキャンセルされました。", + "reload_succ": "再読み込みしました!", + "field_required": "この項目は必須です", + "spec_field_required": "\"{key}\" は必須です", + "illegal_characters": "不正な文字が含まれています", + "connection": { + "new_title": "新しい接続", + "edit_title": "接続を編集", + "general": "一般", + "no_group": "グループなし", + "group": "グループ", + "conn_name": "名前", + "addr": "アドレス", + "usr": "ユーザー名", + "pwd": "パスワード", + "name_tip": "接続名", + "addr_tip": "Redisサーバーのアドレス", + "sock_tip": "Redisのunixソケットファイル", + "usr_tip": "(オプション)認証ユーザー名", + "pwd_tip": "(オプション)認証パスワード (Redis > 6.0)", + "test": "接続をテスト", + "test_succ": "Redisサーバーに正常に接続しました", + "test_fail": "接続に失敗しました", + "parse_url_clipboard": "クリップボードからURLを解析", + "parse_pass": "RedisのURLを解析しました: {url}", + "parse_fail": "RedisのURLを解析できませんでした: {reason}", + "advn": { + "title": "高度な設定", + "filter": "デフォルトのキーフィルター", + "filter_tip": "読み込むキーのパターン", + "separator": "キーセパレーター", + "separator_tip": "キーパスのセグメントの区切り文字", + "conn_timeout": "接続タイムアウト", + "exec_timeout": "実行タイムアウト", + "dbfilter_type": "データベースフィルター", + "dbfilter_all": "すべて表示", + "dbfilter_show": "選択したものを表示", + "dbfilter_hide": "選択したものを非表示", + "dbfilter_show_title": "表示するデータベース", + "dbfilter_hide_title": "非表示にするデータベース", + "dbfilter_input": "データベースインデックスを入力", + "dbfilter_input_tip": "Enterキーで確定", + "key_view": "デフォルトのキービュー", + "key_view_tree": "ツリービュー", + "key_view_list": "リストビュー", + "load_size": "1回の読み込みキー数", + "mark_color": "マーク色" + }, + "alias": { + "title": "データベースエイリアス", + "db": "データベースインデックスを入力", + "value": "エイリアスを入力" + }, + "ssl": { + "title": "SSL/TLS", + "enable": "SSL/TLSを有効化", + "allow_insecure": "安全でない接続を許可", + "sni": "サーバー名(SNI)", + "sni_tip": "(オプション)サーバー名", + "cert_file": "公開鍵ファイル", + "key_file": "秘密鍵ファイル", + "ca_file": "CAファイル", + "cert_file_tip": "PEM形式の公開鍵ファイル(Cert)", + "key_file_tip": "PEM形式の秘密鍵ファイル(Key)", + "ca_file_tip": "PEM形式のCA証明書ファイル(CA)" + }, + "ssh": { + "enable": "SSHトンネルを有効化", + "title": "SSHトンネル", + "login_type": "ログイン方式", + "pkfile": "秘密鍵ファイル", + "passphrase": "パスフレーズ", + "addr_tip": "SSHサーバーのアドレス", + "usr_tip": "SSHユーザー名", + "pwd_tip": "SSHパスワード", + "pkfile_tip": "SSHの秘密鍵ファイルのパス", + "passphrase_tip": "(オプション)秘密鍵のパスフレーズ" + }, + "sentinel": { + "title": "センチネルモード", + "enable": "センチネルノードとして", + "master": "マスターグループ名", + "auto_discover": "自動検出", + "password": "マスターパスワード", + "username": "マスターユーザー名", + "pwd_tip": "(オプション)マスター認証,ユーザー名", + "usr_tip": "(オプション)マスター認証パスワード (Redis > 6.0)" + }, + "cluster": { + "title": "クラスターモード", + "enable": "クラスターノードとして" + }, + "proxy": { + "title": "プロキシ", + "type_none": "プロキシなし", + "type_system": "システムプロキシ設定を使用", + "type_custom": "手動でプロキシを設定", + "host": "ホスト名", + "auth": "プロキシ認証を使用", + "usr_tip": "プロキシ認証ユーザー名", + "pwd_tip": "プロキシ認証パスワード" + } + }, + "group": { + "name": "グループ名", + "rename": "グループ名を変更", + "new": "新しいグループ" + }, + "key": { + "new": "新しいキー", + "new_name": "新しいキー名", + "server": "接続", + "db_index": "データベースインデックス", + "key_expression": "キーパターン", + "affected_key": "影響を受けるキー", + "show_affected_key": "影響を受けるキーを表示", + "confirm_delete_key": "{num}個のキーを削除することを確認", + "async_delete": "非同期実行", + "async_delete_title": "結果を待たない", + "confirm_flush": "自分が実行しようとしている操作を理解しています!", + "confirm_flush_db": "データベースをフラッシュすることを確認" + }, + "delete": { + "success": "\"{key}\" を削除しました", + "deleting": "削除中", + "doing": "キーを削除中 ({index}/{count})", + "completed": "削除が完了しました。成功: {success}個、失敗: {fail}個" + }, + "field": { + "new": "新しいフィールド", + "new_item": "新しい項目", + "conflict_handle": "フィールドが競合した場合", + "overwrite_field": "上書き", + "ignore_field": "無視", + "insert_type": "挿入タイプ", + "append_item": "末尾に追加", + "prepend_item": "先頭に挿入", + "enter_key": "キー名を入力", + "enter_value": "値を入力", + "enter_field": "フィールド名を入力", + "enter_elem": "新しい要素を入力", + "enter_member": "メンバーを入力", + "enter_score": "スコアを入力", + "element": "要素", + "reload_when_succ": "成功したら即座に再読み込み" + }, + "filter": { + "set_key_filter": "キーフィルターを設定", + "filter_pattern": "パターン", + "filter_pattern_tip": "*:0文字以上にマッチ。例:\"key*\"は\"key\"で始まるすべてのキーにマッチ\n?:1文字にマッチ。例:\"key?\"は\"key1\"、\"key2\"にマッチ\n[ ]:指定範囲の1文字にマッチ。例:\"key[1-3]\"は\"key1\"、\"key2\"、\"key3\"にマッチ\n\\:エスケープ文字。*、?、[、]をリテラルとして解釈したい場合は\"\\ \"をつける", + "exact_match_tip": "完全一致" + }, + "export": { + "name": "データをエクスポート", + "export_expire_title": "有効期限", + "export_expire": "有効期限を含める", + "export": "エクスポート", + "save_file": "エクスポート先", + "save_file_tip": "エクスポートファイルの保存先を選択", + "exporting": "キーをエクスポート中 ({index}/{count})", + "export_completed": "エクスポートが完了しました。成功: {success}個、失敗: {fail}個" + }, + "import": { + "name": "データをインポート", + "import_expire_title": "有効期限", + "import": "インポート", + "reload": "インポート後に再読み込み", + "open_csv_file": "インポートファイル", + "open_csv_file_tip": "インポートするファイルを選択", + "conflict_handle": "キーが競合した場合", + "conflict_overwrite": "上書き", + "conflict_ignore": "無視", + "ttl_include": "ファイルから読み込む", + "ttl_ignore": "設定しない", + "ttl_custom": "カスタム", + "importing": "キーをインポート中 インポート/上書き:{imported} 競合/失敗:{conflict}", + "import_completed": "インポートが完了しました。成功: {success}個、無視: {ignored}個" + }, + "ttl": { + "title": "TTLを更新", + "title_batch": "TTLを一括更新 ({count})", + "quick_set": "クイック設定", + "success": "すべてのキーのTTLが更新されました" + }, + "decoder": { + "name": "新しいデコーダー/エンコーダー", + "edit_name": "デコーダー/エンコーダーを編集", + "new": "新規", + "decoder": "デコーダー", + "encoder": "エンコーダー", + "decoder_name": "名前", + "auto": "自動デコード", + "decode_path": "デコーダーのパス", + "encode_path": "エンコーダーのパス", + "path_help": "実行ファイルのパスか、'sh/php/python'のようなCLIエイリアス", + "args": "引数", + "args_help": "エンコード/デコードするコンテンツの場所には[VALUE]を使ってください。プレースホルダーを指定しない場合は、コンテンツが最後に付加されます。" + }, + "upgrade": { + "title": "新しいバージョンが利用可能です", + "new_version_tip": "新しいバージョン{ver}が利用可能です。今すぐダウンロードしますか?", + "no_update": "最新バージョンです", + "download_now": "今すぐダウンロード", + "later": "後で", + "skip": "このバージョンをスキップ" + }, + "about": { + "source": "ソースコード", + "website": "公式ウェブサイト" + } + }, + "menu": { + "minimise": "最小化", + "maximise": "最大化", + "restore": "元に戻す", + "close": "閉じる", + "preferences": "設定", + "help": "ヘルプ", + "user_guide": "ユーザーガイド", + "check_update": "アップデートを確認...", + "report_bug": "バグを報告", + "about": "このソフトについて" + }, + "log": { + "title": "実行ログ", + "filter_server": "サーバーをフィルター", + "filter_keyword": "キーワードでフィルター", + "clean_log": "ログをクリア", + "confirm_clean_log": "実行ログをクリアしてよろしいですか?", + "exec_time": "実行時間", + "server": "サーバー", + "cmd": "コマンド", + "cost_time": "時間", + "refresh": "すぐに更新" + }, + "status": { + "uptime": "稼働時間", + "connected_clients": "接続クライアント数", + "total_keys": "合計キー数", + "memory_used": "メモリ使用量", + "server_info": "サーバー情報", + "activity_status": "アクティビティ状況", + "act_cmd": "コマンド実行数(/秒)", + "act_network_input": "ネットワーク入力", + "act_network_output": "ネットワーク出力", + "client": { + "title": "クライアント一覧", + "addr": "クライアントアドレス", + "age": "接続時間(秒)", + "idle": "アイドル時間(秒)", + "db": "データベース" + } + }, + "slog": { + "title": "スローログ", + "limit": "上限", + "filter": "フィルター", + "exec_time": "実行時間", + "client": "クライアント", + "cmd": "コマンド", + "cost_time": "時間" + }, + "monitor": { + "title": "コマンドのモニタリング", + "actions": "アクション", + "warning": "コマンドのモニタリングは、サーバーをブロックする可能性があるため、運用環境のサーバーでは注意して使用してください。", + "start": "開始", + "stop": "停止", + "search": "検索", + "copy_log": "ログをコピー", + "save_log": "ログを保存", + "clean_log": "ログをクリア", + "always_show_last": "最新を常に表示" + }, + "pubsub": { + "title": "パブ/サブ", + "publish": "公開", + "subscribe": "購読を開始", + "unsubscribe": "購読を解除", + "clear": "メッセージをクリア", + "time": "時間", + "filter": "フィルター", + "channel": "チャンネル", + "message": "メッセージ", + "receive_message": "{total}件のメッセージを受信しました", + "always_show_last": "最新を常に表示" + } +} diff --git a/frontend/src/langs/ko-kr.json b/frontend/src/langs/ko-kr.json new file mode 100644 index 0000000..9d645b1 --- /dev/null +++ b/frontend/src/langs/ko-kr.json @@ -0,0 +1,466 @@ +{ + "name": "한국어", + "common": { + "confirm": "확인", + "cancel": "취소", + "success": "성공", + "warning": "경고", + "error": "오류", + "save": "저장", + "update": "업데이트", + "none": "없음", + "second": "초", + "minute": "분", + "hour": "시간", + "day": "일", + "unit_day": "일", + "unit_hour": "시간", + "unit_minute": "분", + "unit_second": "초", + "all": "전체", + "key": "키", + "value": "값", + "field": "필드", + "score": "점수", + "index": "위치" + }, + "preferences": { + "name": "설정", + "restore_defaults": "기본값 복원", + "font_tip": "다중 선택 지원, 목록에 없는 글꼴은 직접 입력", + "general": { + "name": "일반", + "theme": "테마", + "theme_light": "밝은", + "theme_dark": "어두운", + "theme_auto": "자동", + "language": "언어", + "system_lang": "시스템 언어 사용", + "font": "글꼴", + "font_tip": "글꼴 선택 또는 입력", + "font_size": "글꼴 크기", + "scan_size": "SCAN 기본 크기", + "key_icon_style": "키 아이콘 스타일", + "key_icon_style0": "컴팩트", + "key_icon_style1": "전체 이름", + "key_icon_style2": "점", + "key_icon_style3": "일반", + "update": "업데이트", + "auto_check_update": "자동 업데이트 확인" + }, + "editor": { + "name": "편집기", + "show_linenum": "줄번호 표시", + "show_folding": "코드 폴딩 활성화", + "drop_text": "텍스트 드래그 앤 드롭 허용", + "links": "링크 지원" + }, + "cli": { + "name": "명령줄", + "cursor_style": "커서 스타일", + "cursor_style_block": "블록", + "cursor_style_underline": "밑줄", + "cursor_style_bar": "바" + }, + "decoder": { + "name": "사용자 정의 디코더", + "new": "새 디코더", + "decoder_name": "이름", + "cmd_preview": "미리보기", + "status": "상태", + "auto_enabled": "자동 디코딩 활성화됨", + "help": "도움말" + } + }, + "interface": { + "new_conn": "새 연결 추가", + "new_group": "새 그룹 추가", + "disconnect_all": "모두 연결 해제", + "status": "상태", + "filter": "필터", + "sort_conn": "연결 정렬", + "new_conn_title": "새 연결", + "open_db": "데이터베이스 열기", + "close_db": "데이터베이스 닫기", + "filter_key": "키 필터링", + "disconnect": "연결 해제", + "dup_conn": "연결 복제", + "remove_conn": "연결 제거", + "edit_conn": "연결 편집", + "edit_conn_group": "그룹 편집", + "rename_conn_group": "그룹 이름 변경", + "remove_conn_group": "그룹 제거", + "import_conn": "연결 가져오기...", + "export_conn": "연결 내보내기...", + "ttl": "TTL", + "forever": "영구적", + "rename_key": "키 이름 변경", + "delete_key": "키 삭제", + "batch_delete_key": "키 일괄 삭제", + "import_key": "키 가져오기", + "flush_db": "데이터베이스 플러시", + "check_mode": "선택 모드", + "quit_check_mode": "선택 모드 종료", + "delete_checked": "선택항목 삭제", + "export_checked": "선택항목 내보내기", + "ttl_checked": "선택항목 TTL 업데이트", + "copy_value": "값 복사", + "edit_value": "값 편집", + "save_update": "변경사항 저장", + "score_filter_tip": "연산자 지원:\n= 같음\n!= 다름\n> 보다 큼\n>= 크거나 같음\n< 보다 작음\n<= 작거나 같음\ne.g. >3 점수가 3보다 큰 항목", + "add_row": "행 삽입", + "edit_row": "행 편집", + "delete_row": "행 삭제", + "fullscreen": "전체화면", + "offscreen": "전체화면 종료", + "pin_edit": "고정 편집", + "unpin_edit": "고정 해제", + "search": "검색", + "full_search": "전체 텍스트 검색", + "full_search_result": "'{pattern}' 일치하는 내용", + "filter_field": "필드 필터링", + "filter_value": "값 필터링", + "length": "길이", + "entries": "항목", + "memory_usage": "메모리 사용량", + "view_as": "보기 형식", + "decode_with": "디코딩/압축 해제", + "custom_decoder": "새 사용자 정의 디코더", + "reload": "새로고침", + "reload_disable": "전체 로드 후 새로고침", + "auto_refresh": "자동 새로고침", + "refresh_interval": "새로고침 간격", + "open_connection": "연결 열기", + "copy_path": "경로 복사", + "copy_key": "키 복사", + "save_value_succ": "값 저장됨!", + "copy_succ": "클립보드에 복사됨!", + "binary_key": "바이너리 키명", + "remove_key": "키 제거", + "new_key": "새 키", + "load_more": "더 많은 키 로드", + "load_all": "남은 모든 키 로드", + "load_more_entries": "더 많은 항목 로드", + "load_all_entries": "모든 항목 로드", + "more_action": "더 많은 액션", + "nonexist_tab_content": "선택한 키가 없거나 존재하지 않습니다. 새로고침 후 다시 시도하세요.", + "empty_server_content": "왼쪽 패널에서 연결을 선택하고 여세요", + "empty_server_list": "Redis 서버가 추가되지 않았습니다", + "action": "액션", + "type": "유형", + "cli_welcome": "Tiny RDM Redis 콘솔에 오신 것을 환영합니다", + "retrieving_version": "새 버전 확인 중", + "sub_tab": { + "status": "상태", + "key_detail": "키 세부사항", + "cli": "콘솔", + "slow_log": "슬로우 로그", + "cmd_monitor": "명령 모니터링", + "pub_message": "Pub/Sub" + } + }, + "ribbon": { + "server": "서버", + "browser": "데이터 브라우저", + "log": "로그", + "wechat_official": "위챗 공식 계정", + "follow_x": "\uD835\uDD4F 팔로우", + "github": "Github" + }, + "dialogue": { + "close_confirm": "이 연결({name})을 종료하시겠습니까?", + "edit_close_confirm": "편집하기 전에 관련 연결을 닫아야 합니다. 계속하시겠습니까?", + "opening_connection": "연결 열기 중...", + "interrupt_connection": "취소", + "remove_tip": "{type} \"{name}\"(이)가 삭제됩니다", + "remove_group_tip": "\"{name}\" 그룹과 그 모든 연결이 삭제됩니다", + "rename_binary_key_fail": "바이너리 키 이름 변경은 지원되지 않습니다", + "handle_succ": "성공!", + "handle_cancel": "작업이 취소되었습니다.", + "reload_succ": "새로고침됨!", + "field_required": "이 필드는 필수입니다", + "spec_field_required": "\"{key}\"(이)가 필요합니다", + "illegal_characters": "불법 문자 포함됨", + "connection": { + "new_title": "새 연결", + "edit_title": "연결 편집", + "general": "일반", + "no_group": "그룹 없음", + "group": "그룹", + "conn_name": "이름", + "addr": "주소", + "usr": "사용자명", + "pwd": "비밀번호", + "name_tip": "연결 이름", + "addr_tip": "Redis 서버 주소", + "sock_tip": "Redis 유닉스 소켓 파일", + "usr_tip": "(선택) 인증 사용자명", + "pwd_tip": "(선택) 인증 비밀번호 (Redis > 6.0)", + "test": "연결 테스트", + "test_succ": "Redis 서버에 성공적으로 연결되었습니다", + "test_fail": "연결 실패", + "parse_url_clipboard": "클립보드에서 URL 파싱", + "parse_pass": "Redis URL 파싱됨: {url}", + "parse_fail": "Redis URL 파싱 실패: {reason}", + "advn": { + "title": "고급", + "filter": "기본 키 필터", + "filter_tip": "로드할 키 패턴", + "separator": "키 구분자", + "separator_tip": "키 경로 세그먼트 구분자", + "conn_timeout": "연결 제한시간", + "exec_timeout": "실행 제한시간", + "dbfilter_type": "데이터베이스 필터", + "dbfilter_all": "모두 표시", + "dbfilter_show": "선택 표시", + "dbfilter_hide": "선택 숨김", + "dbfilter_show_title": "표시할 데이터베이스", + "dbfilter_hide_title": "숨길 데이터베이스", + "dbfilter_input": "데이터베이스 인덱스 입력", + "dbfilter_input_tip": "Enter 키 입력하여 확인", + "key_view": "기본 키 보기", + "key_view_tree": "트리 보기", + "key_view_list": "목록 보기", + "load_size": "키 로드 갯수", + "mark_color": "표시 색상" + }, + "alias": { + "title": "데이터베이스 별칭", + "db": "데이터베이스 인덱스 입력", + "value": "데이터베이스 별칭 입력" + }, + "ssl": { + "title": "SSL/TLS", + "enable": "SSL/TLS 활성화", + "allow_insecure": "안전하지 않은 연결 허용", + "sni": "서버명(SNI)", + "sni_tip": "(선택) 서버명", + "cert_file": "공개키 파일", + "key_file": "개인키 파일", + "ca_file": "CA 파일", + "cert_file_tip": "PEM 형식 공개키 파일(Cert)", + "key_file_tip": "PEM 형식 개인키 파일(Key)", + "ca_file_tip": "PEM 형식 CA 파일(CA)" + }, + "ssh": { + "enable": "SSH 터널 활성화", + "title": "SSH 터널", + "login_type": "로그인 유형", + "pkfile": "개인키 파일", + "passphrase": "암호문구", + "addr_tip": "SSH 주소", + "usr_tip": "SSH 사용자명", + "pwd_tip": "SSH 비밀번호", + "pkfile_tip": "SSH 개인키 파일 경로", + "passphrase_tip": "(선택) 개인키 암호문구" + }, + "sentinel": { + "title": "센티널", + "enable": "센티널 노드로 사용", + "master": "마스터 그룹명", + "auto_discover": "자동 발견", + "password": "마스터 비밀번호", + "username": "마스터 사용자명", + "pwd_tip": "(선택) 마스터 인증 사용자명", + "usr_tip": "(선택) 마스터 인증 비밀번호 (Redis > 6.0)" + }, + "cluster": { + "title": "클러스터", + "enable": "클러스터 노드로 사용", + "proxy": { + "title": "프록시", + "type_none": "프록시 사용 안함", + "type_system": "시스템 프록시 설정 사용", + "type_custom": "프록시 수동 설정", + "host": "호스트명", + "auth": "프록시 인증", + "usr_tip": "프록시 인증 사용자명", + "pwd_tip": "프록시 인증 비밀번호" + } + }, + "group": { + "name": "그룹명", + "rename": "그룹 이름 변경", + "new": "새 그룹" + }, + "key": { + "new": "새 키", + "new_name": "새 키명", + "server": "연결", + "db_index": "데이터베이스 인덱스", + "key_expression": "키 패턴", + "affected_key": "영향받는 키", + "show_affected_key": "영향받는 키 보기", + "confirm_delete_key": "{num}개 키를 삭제하시겠습니까?", + "async_delete": "비동기 실행", + "async_delete_title": "결과를 기다리지 않음", + "confirm_flush": "내가 하는 작업을 알고 있습니다!", + "confirm_flush_db": "데이터베이스 플러시를 확인하세요" + }, + "delete": { + "success": "\"{key}\"(이)가 삭제되었습니다", + "deleting": "삭제 중", + "doing": "키 삭제 ({index}/{count})", + "completed": "삭제 작업 완료, {success}개 성공, {fail}개 실패" + }, + "field": { + "new": "새 필드", + "new_item": "새 항목", + "conflict_handle": "필드 충돌 시", + "overwrite_field": "덮어쓰기", + "ignore_field": "무시", + "insert_type": "삽입 유형", + "append_item": "마지막에 추가", + "prepend_item": "앞에 추가", + "enter_key": "키 입력", + "enter_value": "값 입력", + "enter_field": "필드명 입력", + "enter_elem": "요소 입력", + "enter_member": "멤버 입력", + "enter_score": "점수 입력", + "element": "요소", + "reload_when_succ": "성공 시 즉시 새로고침" + }, + "filter": { + "set_key_filter": "키 필터 설정", + "filter_pattern": "패턴", + "filter_pattern_tip": "* 0개 이상 문자 매치, e.g. 'key*'\n? 단일 문자 매치, e.g. 'key?'\n[] 범위 내 단일 문자 매치, e.g. 'key[1-3]'\n\\ 특수문자 이스케이프", + "exact_match_tip": "완전 일치" + }, + "export": { + "name": "데이터 내보내기", + "export_expire_title": "만료 시간", + "export_expire": "만료 시간 포함", + "export": "내보내기", + "save_file": "내보내기 경로", + "save_file_tip": "내보낸 파일 저장 경로 선택", + "exporting": "키 내보내기 ({index}/{count})", + "export_completed": "내보내기 완료, {success}개 성공, {fail}개 실패" + }, + "import": { + "name": "데이터 가져오기", + "import_expire_title": "만료 시간", + "import": "가져오기", + "reload": "가져온 후 새로고침", + "open_csv_file": "가져올 파일", + "open_csv_file_tip": "가져올 파일 선택", + "conflict_handle": "키 충돌 시", + "conflict_overwrite": "덮어쓰기", + "conflict_ignore": "무시", + "ttl_include": "파일에서 가져오기", + "ttl_ignore": "설정 안함", + "ttl_custom": "직접 설정", + "importing": "키 가져오기 가져옴/덮어씀:{imported} 충돌/실패:{conflict}", + "import_completed": "가져오기 완료, {success}개 성공, {ignored}개 무시됨" + }, + "ttl": { + "title": "TTL 업데이트", + "title_batch": "일괄 TTL 업데이트 ({count})", + "quick_set": "빠른 설정", + "success": "모든 키의 TTL이 업데이트되었습니다" + }, + "decoder": { + "name": "새 디코더/인코더", + "edit_name": "디코더/인코더 편집", + "new": "새로 만들기", + "decoder": "디코더", + "encoder": "인코더", + "decoder_name": "이름", + "auto": "자동 디코딩", + "decode_path": "디코더 경로", + "encode_path": "인코더 경로", + "path_help": "실행 파일 경로 또는 'sh/php/python' 등의 CLI 별칭", + "args": "인수", + "args_help": "인코딩/디코딩 내용 자리에 [VALUE] 사용, 없으면 끝에 추가됨" + }, + "upgrade": { + "title": "새 버전이 있습니다", + "new_version_tip": "새 버전 {ver} 다운로드하시겠습니까?", + "no_update": "최신 버전입니다", + "download_now": "지금 다운로드", + "later": "나중에", + "skip": "이 버전 건너뛰기" + }, + "about": { + "source": "소스 코드", + "website": "공식 웹사이트" + } + }, + "menu": { + "minimise": "최소화", + "maximise": "최대화", + "restore": "복원", + "close": "닫기", + "preferences": "설정", + "help": "도움말", + "user_guide": "사용자 가이드", + "check_update": "업데이트 확인...", + "report_bug": "버그 신고", + "about": "정보" + }, + "log": { + "title": "실행 로그", + "filter_server": "서버 필터", + "filter_keyword": "키워드 필터", + "clean_log": "로그 비우기", + "confirm_clean_log": "실행 로그를 비우시겠습니까?", + "exec_time": "실행 시간", + "server": "서버", + "cmd": "명령", + "cost_time": "소요 시간", + "refresh": "새로고침" + }, + "status": { + "uptime": "가동 시간", + "connected_clients": "연결 클라이언트", + "total_keys": "전체 키 수", + "memory_used": "사용 메모리", + "server_info": "서버 정보", + "activity_status": "활동 상태", + "act_cmd": "초당 명령 수", + "act_network_input": "네트워크 입력", + "act_network_output": "네트워크 출력", + "client": { + "title": "클라이언트 목록", + "addr": "클라이언트 주소", + "age": "연결 시간 (초)", + "idle": "유휴 시간 (초)", + "db": "데이터베이스" + } + }, + "slog": { + "title": "슬로우 로그", + "limit": "제한", + "filter": "필터", + "exec_time": "실행 시간", + "client": "클라이언트", + "cmd": "명령", + "cost_time": "소요 시간" + }, + "monitor": { + "title": "명령 모니터", + "actions": "작업", + "warning": "명령 모니터링은 서버 차단을 유발할 수 있으므로, 운영 서버에선 주의해서 사용하세요.", + "start": "시작", + "stop": "정지", + "search": "검색", + "copy_log": "로그 복사", + "save_log": "로그 저장", + "clean_log": "로그 비우기", + "always_show_last": "최신 계속 보기" + }, + "pubsub": { + "title": "Pub/Sub", + "publish": "발행", + "subscribe": "구독 시작", + "unsubscribe": "구독 취소", + "clear": "메세지 지우기", + "time": "시간", + "filter": "필터", + "channel": "채널", + "message": "메세지", + "receive_message": "{total}개 메세지 수신됨", + "always_show_last": "최신 계속 보기" + } + } +}