feat: add support for additional languages in localization
- Expanded the localization support by adding new languages: Chinese (zh), Russian (ru), Dutch (nl), and Spanish (es). - Updated the localization files and the AppLocalizations class to include the new languages, ensuring a broader reach for international users. - Enhanced the isSupported method to recognize the newly added languages, improving the app's adaptability to diverse user preferences.
This commit is contained in:
317
lib/l10n/app_es.arb
Normal file
317
lib/l10n/app_es.arb
Normal file
@@ -0,0 +1,317 @@
|
||||
{
|
||||
"@@locale": "es",
|
||||
"appTitle": "Conduit",
|
||||
"initializationFailed": "Error de inicialización",
|
||||
"retry": "Reintentar",
|
||||
"back": "Atrás",
|
||||
"you": "Tú",
|
||||
"loadingProfile": "Cargando perfil...",
|
||||
"unableToLoadProfile": "No se puede cargar el perfil",
|
||||
"pleaseCheckConnection": "Por favor, verifica tu conexión e inténtalo de nuevo",
|
||||
"connectionIssueTitle": "No se puede conectar al servidor",
|
||||
"@connectionIssueTitle": {
|
||||
"description": "Título que se muestra cuando el servidor configurado no está disponible"
|
||||
},
|
||||
"connectionIssueSubtitle": "Reconecta para continuar o cierra sesión para elegir otro servidor.",
|
||||
"@connectionIssueSubtitle": {
|
||||
"description": "Subtítulo que explica las acciones disponibles cuando no se puede acceder al servidor"
|
||||
},
|
||||
"stillOfflineMessage": "Todavía no podemos conectarnos al servidor. Verifica tu conexión e inténtalo de nuevo.",
|
||||
"@stillOfflineMessage": {
|
||||
"description": "Mensaje de estado después de un reintento cuando no se ha restaurado la conexión"
|
||||
},
|
||||
"account": "Cuenta",
|
||||
"supportConduit": "Apoyar Conduit",
|
||||
"supportConduitSubtitle": "Mantén Conduit independiente financiando el desarrollo continuo.",
|
||||
"githubSponsorsTitle": "GitHub Sponsors",
|
||||
"githubSponsorsSubtitle": "Conviértete en un patrocinador recurrente para financiar elementos del roadmap.",
|
||||
"buyMeACoffeeTitle": "Buy Me a Coffee",
|
||||
"buyMeACoffeeSubtitle": "Haz una donación única para agradecer.",
|
||||
"signOut": "Cerrar sesión",
|
||||
"endYourSession": "Finalizar tu sesión",
|
||||
"defaultModel": "Modelo predeterminado",
|
||||
"autoSelect": "Selección automática",
|
||||
"loadingModels": "Cargando modelos...",
|
||||
"failedToLoadModels": "No se pudieron cargar los modelos",
|
||||
"availableModels": "Modelos disponibles",
|
||||
"noResults": "Sin resultados",
|
||||
"searchModels": "Buscar modelos...",
|
||||
"errorMessage": "Algo salió mal. Por favor, inténtalo de nuevo.",
|
||||
"loginButton": "Iniciar sesión",
|
||||
"menuItem": "Configuración",
|
||||
"dynamicContentWithPlaceholder": "¡Bienvenido, {name}!",
|
||||
"itemsCount": "{count, plural, =0{Sin elementos} one{1 elemento} other{{count} elementos}}",
|
||||
"closeButtonSemantic": "Cerrar",
|
||||
"loadingContent": "Cargando contenido",
|
||||
"noItems": "Sin elementos",
|
||||
"noItemsToDisplay": "No hay elementos para mostrar",
|
||||
"loadMore": "Cargar más",
|
||||
"workspace": "Espacio de trabajo",
|
||||
"recentFiles": "Archivos recientes",
|
||||
"knowledgeBase": "Base de conocimientos",
|
||||
"noFilesYet": "Aún no hay archivos",
|
||||
"uploadDocsPrompt": "Sube documentos para referenciarlos en tus conversaciones con Conduit",
|
||||
"uploadFirstFile": "Sube tu primer archivo",
|
||||
"attachments": "Adjuntos",
|
||||
"knowledgeBaseEmpty": "La base de conocimientos está vacía",
|
||||
"createCollectionsPrompt": "Crea colecciones de documentos relacionados para referencia fácil",
|
||||
"chooseSourcePhoto": "Elige tu fuente",
|
||||
"takePhoto": "Tomar una foto",
|
||||
"chooseFromGallery": "Elegir de tus fotos",
|
||||
"document": "Documento",
|
||||
"documentHint": "Archivo PDF, Word o de texto",
|
||||
"uploadFileTitle": "Subir archivo",
|
||||
"fileUploadComingSoon": "¡La carga de archivos para {type} estará disponible pronto!",
|
||||
"kbCreationComingSoon": "¡La creación de base de conocimientos estará disponible pronto!",
|
||||
"backToServerSetup": "Volver a configuración del servidor",
|
||||
"connectedToServer": "Conectado al servidor",
|
||||
"signIn": "Iniciar sesión",
|
||||
"enterCredentials": "Ingresa tus credenciales para acceder a tus conversaciones de IA",
|
||||
"credentials": "Credenciales",
|
||||
"apiKey": "Clave API",
|
||||
"usernameOrEmail": "Usuario o correo electrónico",
|
||||
"password": "Contraseña",
|
||||
"signInWithApiKey": "Iniciar sesión con clave API",
|
||||
"connectToServer": "Conectar al servidor",
|
||||
"enterServerAddress": "Ingresa la dirección de tu servidor Open-WebUI para comenzar",
|
||||
"serverUrl": "URL del servidor",
|
||||
"serverUrlHint": "https://tu-servidor.com",
|
||||
"enterServerUrlSemantic": "Ingresa la URL o dirección IP de tu servidor",
|
||||
"headerName": "Nombre de encabezado",
|
||||
"headerValue": "Valor de encabezado",
|
||||
"headerValueHint": "api-key-123 o Bearer token",
|
||||
"addHeader": "Añadir encabezado",
|
||||
"maximumHeadersReached": "Número máximo de encabezados alcanzado",
|
||||
"removeHeader": "Eliminar encabezado",
|
||||
"connecting": "Conectando...",
|
||||
"connectToServerButton": "Conectar al servidor",
|
||||
"demoModeActive": "Modo demo activo",
|
||||
"skipServerSetupTryDemo": "Omitir configuración del servidor y probar la demo",
|
||||
"enterDemo": "Entrar a demo",
|
||||
"demoBadge": "Demo",
|
||||
"serverNotOpenWebUI": "Esto no parece ser un servidor Open-WebUI.",
|
||||
"serverUrlEmpty": "La URL del servidor no puede estar vacía",
|
||||
"invalidUrlFormat": "Formato de URL inválido. Por favor, verifica tu entrada.",
|
||||
"onlyHttpHttps": "Solo se admiten los protocolos HTTP y HTTPS.",
|
||||
"serverAddressRequired": "Se requiere dirección del servidor (ej. 192.168.1.10 o example.com).",
|
||||
"portRange": "El puerto debe estar entre 1 y 65535.",
|
||||
"invalidIpFormat": "Formato de dirección IP inválido. Usa un formato como 192.168.1.10.",
|
||||
"couldNotConnectGeneric": "No se pudo conectar. Verifica la dirección e inténtalo de nuevo.",
|
||||
"weCouldntReachServer": "No pudimos conectarnos al servidor. Verifica tu conexión y que el servidor esté funcionando.",
|
||||
"connectionTimedOut": "Se agotó el tiempo de conexión. El servidor puede estar ocupado o bloqueado por un firewall.",
|
||||
"useHttpOrHttpsOnly": "Usa solo http:// o https://.",
|
||||
"loginFailed": "Error al iniciar sesión",
|
||||
"invalidCredentials": "Usuario o contraseña inválidos. Por favor, inténtalo de nuevo.",
|
||||
"serverRedirectingHttps": "El servidor está redirigiendo solicitudes. Verifica la configuración HTTPS de tu servidor.",
|
||||
"unableToConnectServer": "No se puede conectar al servidor. Por favor, verifica tu conexión.",
|
||||
"requestTimedOut": "Se agotó el tiempo de espera de la solicitud. Por favor, inténtalo de nuevo.",
|
||||
"genericSignInFailed": "No pudimos iniciar tu sesión. Verifica tus credenciales y configuración del servidor.",
|
||||
"skip": "Omitir",
|
||||
"next": "Siguiente",
|
||||
"done": "Listo",
|
||||
"onboardStartTitle": "Hola, {username}",
|
||||
"onboardStartSubtitle": "Elige un modelo para comenzar. Toca Nueva conversación cuando quieras.",
|
||||
"onboardStartBullet1": "Toca el nombre del modelo en la barra superior para cambiar modelos",
|
||||
"onboardStartBullet2": "Usa Nueva conversación para restablecer el contexto",
|
||||
"onboardAttachTitle": "Añadir contexto",
|
||||
"onboardAttachSubtitle": "Fundamenta las respuestas con contenido del espacio de trabajo o fotos.",
|
||||
"onboardAttachBullet1": "Espacio de trabajo: PDFs, documentos, conjuntos de datos",
|
||||
"onboardAttachBullet2": "Fotos: cámara o galería",
|
||||
"onboardSpeakTitle": "Habla naturalmente",
|
||||
"onboardSpeakSubtitle": "Toca el micrófono para dictar con retroalimentación de forma de onda en vivo.",
|
||||
"onboardSpeakBullet1": "Detente en cualquier momento; el texto parcial se conserva",
|
||||
"onboardSpeakBullet2": "Genial para notas rápidas o prompts largos",
|
||||
"onboardQuickTitle": "Acciones rápidas",
|
||||
"onboardQuickSubtitle": "Abre el menú para cambiar entre Conversaciones, Espacio de trabajo y Perfil.",
|
||||
"onboardQuickBullet1": "Toca el menú para acceder a Conversaciones, Espacio de trabajo, Perfil",
|
||||
"onboardQuickBullet2": "Inicia Nueva conversación o gestiona modelos desde la barra superior",
|
||||
"addAttachment": "Añadir adjunto",
|
||||
"attachmentLabel": "Adjunto",
|
||||
"tools": "Herramientas",
|
||||
"voiceInput": "Entrada de voz",
|
||||
"voice": "Voz",
|
||||
"voiceStatusListening": "Escuchando...",
|
||||
"voiceStatusRecording": "Grabando...",
|
||||
"voiceHoldToTalk": "Mantén presionado para hablar",
|
||||
"voiceAutoSend": "Envío automático",
|
||||
"voiceTranscript": "Transcripción",
|
||||
"voicePromptSpeakNow": "Habla ahora...",
|
||||
"voicePromptTapStart": "Toca Iniciar para comenzar",
|
||||
"voiceActionStop": "Detener",
|
||||
"voiceActionStart": "Iniciar",
|
||||
"messageInputLabel": "Entrada de mensaje",
|
||||
"messageInputHint": "Escribe tu mensaje",
|
||||
"messageHintText": "Mensaje...",
|
||||
"stopGenerating": "Detener generación",
|
||||
"codeCopiedToClipboard": "Código copiado al portapapeles.",
|
||||
"send": "Enviar",
|
||||
"sendMessage": "Enviar mensaje",
|
||||
"file": "Archivo",
|
||||
"photo": "Foto",
|
||||
"camera": "Cámara",
|
||||
"apiUnavailable": "Servicio de API no disponible",
|
||||
"unableToLoadImage": "No se puede cargar la imagen",
|
||||
"notAnImageFile": "No es un archivo de imagen: {fileName}",
|
||||
"failedToLoadImage": "No se pudo cargar la imagen: {error}",
|
||||
"invalidDataUrl": "Formato de URL de datos inválido",
|
||||
"failedToDecodeImage": "No se pudo decodificar la imagen",
|
||||
"invalidImageFormat": "Formato de imagen inválido",
|
||||
"emptyImageData": "Datos de imagen vacíos",
|
||||
"featureRequiresInternet": "Esta función requiere conexión a Internet",
|
||||
"messagesWillSendWhenOnline": "Los mensajes se enviarán cuando vuelvas a estar en línea",
|
||||
"confirm": "Confirmar",
|
||||
"cancel": "Cancelar",
|
||||
"ok": "OK",
|
||||
"inputField": "Campo de entrada",
|
||||
"captureDocumentOrImage": "Capturar un documento o imagen",
|
||||
"checkConnection": "Verificar conexión",
|
||||
"openSettings": "Abrir configuración",
|
||||
"chooseDifferentFile": "Elegir otro archivo",
|
||||
"goBack": "Volver",
|
||||
"technicalDetails": "Detalles técnicos",
|
||||
"save": "Guardar",
|
||||
"chooseModel": "Elegir modelo",
|
||||
"reviewerMode": "MODO REVISOR",
|
||||
"selectLanguage": "Seleccionar idioma",
|
||||
"newFolder": "Nueva carpeta",
|
||||
"folderName": "Nombre de carpeta",
|
||||
"newChat": "Nueva conversación",
|
||||
"more": "Más",
|
||||
"clear": "Limpiar",
|
||||
"searchHint": "Buscar...",
|
||||
"searchConversations": "Buscar conversaciones...",
|
||||
"create": "Crear",
|
||||
"folderCreated": "Carpeta creada",
|
||||
"failedToCreateFolder": "No se pudo crear la carpeta",
|
||||
"movedChatToFolder": "Se movió \"{title}\" a \"{folder}\"",
|
||||
"@movedChatToFolder": {
|
||||
"placeholders": {
|
||||
"title": {"type": "String"},
|
||||
"folder": {"type": "String"}
|
||||
}
|
||||
},
|
||||
"failedToMoveChat": "No se pudo mover la conversación",
|
||||
"failedToLoadChats": "No se pudieron cargar las conversaciones",
|
||||
"failedToUpdatePin": "No se pudo actualizar el anclaje",
|
||||
"failedToDeleteChat": "No se pudo eliminar la conversación",
|
||||
"manage": "Gestionar",
|
||||
"rename": "Renombrar",
|
||||
"delete": "Eliminar",
|
||||
"renameChat": "Renombrar conversación",
|
||||
"enterChatName": "Ingresa nombre de conversación",
|
||||
"failedToRenameChat": "No se pudo renombrar la conversación",
|
||||
"failedToUpdateArchive": "No se pudo actualizar el archivo",
|
||||
"unarchive": "Desarchivar",
|
||||
"archive": "Archivar",
|
||||
"pin": "Anclar",
|
||||
"unpin": "Desanclar",
|
||||
"recent": "Reciente",
|
||||
"system": "Sistema",
|
||||
"english": "English",
|
||||
"deutsch": "Deutsch",
|
||||
"francais": "Français",
|
||||
"italiano": "Italiano",
|
||||
"deleteMessagesTitle": "Eliminar mensajes",
|
||||
"deleteMessagesMessage": "¿Eliminar {count} mensajes?",
|
||||
"@deleteMessagesMessage": {
|
||||
"placeholders": {
|
||||
"count": {"type": "int"}
|
||||
}
|
||||
},
|
||||
"routeNotFound": "Ruta no encontrada: {routeName}",
|
||||
"@routeNotFound": {
|
||||
"placeholders": {
|
||||
"routeName": {"type": "String"}
|
||||
}
|
||||
},
|
||||
"deleteChatTitle": "Eliminar conversación",
|
||||
"deleteChatMessage": "Esta conversación se eliminará permanentemente.",
|
||||
"deleteFolderTitle": "Eliminar carpeta",
|
||||
"deleteFolderMessage": "Esta carpeta y sus referencias de asignación se eliminarán.",
|
||||
"failedToDeleteFolder": "No se pudo eliminar la carpeta",
|
||||
"aboutApp": "Acerca de la aplicación",
|
||||
"aboutAppSubtitle": "Información y enlaces de Conduit",
|
||||
"web": "Web",
|
||||
"imageGen": "Generación de imágenes",
|
||||
"pinned": "Anclado",
|
||||
"folders": "Carpetas",
|
||||
"archived": "Archivado",
|
||||
"appLanguage": "Idioma de la aplicación",
|
||||
"darkMode": "Modo oscuro",
|
||||
"webSearch": "Búsqueda web",
|
||||
"webSearchDescription": "Busca en la web y cita fuentes en las respuestas.",
|
||||
"imageGeneration": "Generación de imágenes",
|
||||
"imageGenerationDescription": "Crea imágenes a partir de tus prompts.",
|
||||
"copy": "Copiar",
|
||||
"ttsListen": "Escuchar",
|
||||
"ttsStop": "Detener",
|
||||
"edit": "Editar",
|
||||
"regenerate": "Regenerar",
|
||||
"noConversationsYet": "Aún no hay conversaciones",
|
||||
"usernameOrEmailHint": "Ingresa tu usuario o correo electrónico",
|
||||
"passwordHint": "Ingresa tu contraseña",
|
||||
"enterApiKey": "Ingresa tu clave API",
|
||||
"signingIn": "Iniciando sesión...",
|
||||
"advancedSettings": "Configuración avanzada",
|
||||
"customHeaders": "Encabezados personalizados",
|
||||
"customHeadersDescription": "Añade encabezados HTTP personalizados para autenticación, claves API o requisitos especiales del servidor.",
|
||||
"allowSelfSignedCertificates": "Confiar en certificados autofirmados",
|
||||
"@allowSelfSignedCertificates": {
|
||||
"description": "Etiqueta del interruptor que permite confiar en certificados TLS autofirmados para el servidor configurado."
|
||||
},
|
||||
"allowSelfSignedCertificatesDescription": "Acepta el certificado TLS de este servidor incluso si es autofirmado. Actívalo solo para servidores en los que confíes.",
|
||||
"@allowSelfSignedCertificatesDescription": {
|
||||
"description": "Texto de ayuda que aclara los riesgos de habilitar el interruptor de certificados autofirmados."
|
||||
},
|
||||
"headerNameEmpty": "El nombre del encabezado no puede estar vacío",
|
||||
"headerNameTooLong": "Nombre de encabezado demasiado largo (máx. 64 caracteres)",
|
||||
"headerNameInvalidChars": "Nombre de encabezado inválido. Usa solo letras, números y estos símbolos: !#$&-^_`|~",
|
||||
"headerNameReserved": "No se puede sobrescribir el encabezado reservado \"{key}\"",
|
||||
"@headerNameReserved": {"placeholders": {"key": {"type": "String"}}},
|
||||
"headerValueEmpty": "El valor del encabezado no puede estar vacío",
|
||||
"headerValueTooLong": "Valor de encabezado demasiado largo (máx. 1024 caracteres)",
|
||||
"headerValueInvalidChars": "El valor del encabezado contiene caracteres inválidos. Usa solo ASCII imprimible.",
|
||||
"headerValueUnsafe": "El valor del encabezado parece contener contenido potencialmente inseguro",
|
||||
"headerAlreadyExists": "El encabezado \"{key}\" ya existe. Elimínalo primero para actualizarlo.",
|
||||
"@headerAlreadyExists": {"placeholders": {"key": {"type": "String"}}},
|
||||
"maxHeadersReachedDetail": "Máximo de 10 encabezados personalizados permitidos. Elimina algunos para añadir más.",
|
||||
"editMessage": "Editar mensaje",
|
||||
"noModelsAvailable": "No hay modelos disponibles",
|
||||
"followingSystem": "Siguiendo el sistema: {theme}",
|
||||
"@followingSystem": {"placeholders": {"theme": {"type": "String"}}},
|
||||
"themeDark": "Oscuro",
|
||||
"themePalette": "Paleta de acentos",
|
||||
"@themePalette": {"description": "Título para seleccionar la paleta de colores de la aplicación."},
|
||||
"themePaletteDescription": "Elige los colores de acento usados para botones, tarjetas y burbujas de chat.",
|
||||
"@themePaletteDescription": {"description": "Texto de ayuda que explica la selección de paleta."},
|
||||
"themeLight": "Claro",
|
||||
"currentlyUsingDarkTheme": "Usando actualmente el tema oscuro",
|
||||
"currentlyUsingLightTheme": "Usando actualmente el tema claro",
|
||||
"aboutConduit": "Acerca de Conduit",
|
||||
"versionLabel": "Versión: {version} ({build})",
|
||||
"@versionLabel": {"placeholders": {"version": {"type": "String"}, "build": {"type": "String"}}},
|
||||
"githubRepository": "Repositorio GitHub",
|
||||
"unableToLoadAppInfo": "No se puede cargar información de la aplicación",
|
||||
"thinking": "Pensando...",
|
||||
"thoughts": "Pensamientos",
|
||||
"thoughtForDuration": "Pensó durante {duration}",
|
||||
"@thoughtForDuration": {
|
||||
"description": "Muestra cuánto tiempo el asistente estuvo pensando antes de responder.",
|
||||
"placeholders": {"duration": {"type": "String", "example": "3s"}}
|
||||
},
|
||||
"appCustomization": "Personalización de la aplicación",
|
||||
"appCustomizationSubtitle": "Personaliza cómo se muestran los nombres y la interfaz",
|
||||
"quickActionsDescription": "Elige hasta dos accesos directos para anclar cerca del compositor",
|
||||
"chatSettings": "Conversación",
|
||||
"sendOnEnter": "Enviar con Enter",
|
||||
"sendOnEnterDescription": "Enter envía (teclado virtual). Cmd/Ctrl+Enter también disponible",
|
||||
"display": "Visualización",
|
||||
"realtime": "Tiempo real",
|
||||
"transportMode": "Modo de transporte",
|
||||
"transportModeDescription": "Elige cómo se conecta la aplicación para actualizaciones en tiempo real.",
|
||||
"mode": "Modo",
|
||||
"transportModeAuto": "Automático (Polling + WebSocket)",
|
||||
"transportModeWs": "Solo WebSocket",
|
||||
"transportModeAutoInfo": "Más robusto en redes restrictivas. Se actualiza a WebSocket cuando es posible.",
|
||||
"transportModeWsInfo": "Menor sobrecarga, pero puede fallar detrás de proxies/firewalls estrictos."
|
||||
}
|
||||
@@ -7,8 +7,12 @@ import 'package:intl/intl.dart' as intl;
|
||||
|
||||
import 'app_localizations_de.dart';
|
||||
import 'app_localizations_en.dart';
|
||||
import 'app_localizations_es.dart';
|
||||
import 'app_localizations_fr.dart';
|
||||
import 'app_localizations_it.dart';
|
||||
import 'app_localizations_nl.dart';
|
||||
import 'app_localizations_ru.dart';
|
||||
import 'app_localizations_zh.dart';
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
|
||||
@@ -100,6 +104,10 @@ abstract class AppLocalizations {
|
||||
Locale('de'),
|
||||
Locale('fr'),
|
||||
Locale('it'),
|
||||
Locale('zh'),
|
||||
Locale('ru'),
|
||||
Locale('nl'),
|
||||
Locale('es'),
|
||||
];
|
||||
|
||||
/// Application name displayed in the app and OS UI.
|
||||
@@ -1751,8 +1759,16 @@ class _AppLocalizationsDelegate
|
||||
}
|
||||
|
||||
@override
|
||||
bool isSupported(Locale locale) =>
|
||||
<String>['de', 'en', 'fr', 'it'].contains(locale.languageCode);
|
||||
bool isSupported(Locale locale) => <String>[
|
||||
'de',
|
||||
'en',
|
||||
'es',
|
||||
'fr',
|
||||
'it',
|
||||
'nl',
|
||||
'ru',
|
||||
'zh',
|
||||
].contains(locale.languageCode);
|
||||
|
||||
@override
|
||||
bool shouldReload(_AppLocalizationsDelegate old) => false;
|
||||
@@ -1765,10 +1781,18 @@ AppLocalizations lookupAppLocalizations(Locale locale) {
|
||||
return AppLocalizationsDe();
|
||||
case 'en':
|
||||
return AppLocalizationsEn();
|
||||
case 'es':
|
||||
return AppLocalizationsEs();
|
||||
case 'fr':
|
||||
return AppLocalizationsFr();
|
||||
case 'it':
|
||||
return AppLocalizationsIt();
|
||||
case 'nl':
|
||||
return AppLocalizationsNl();
|
||||
case 'ru':
|
||||
return AppLocalizationsRu();
|
||||
case 'zh':
|
||||
return AppLocalizationsZh();
|
||||
}
|
||||
|
||||
throw FlutterError(
|
||||
|
||||
317
lib/l10n/app_nl.arb
Normal file
317
lib/l10n/app_nl.arb
Normal file
@@ -0,0 +1,317 @@
|
||||
{
|
||||
"@@locale": "nl",
|
||||
"appTitle": "Conduit",
|
||||
"initializationFailed": "Initialisatie mislukt",
|
||||
"retry": "Opnieuw proberen",
|
||||
"back": "Terug",
|
||||
"you": "Jij",
|
||||
"loadingProfile": "Profiel laden...",
|
||||
"unableToLoadProfile": "Kan profiel niet laden",
|
||||
"pleaseCheckConnection": "Controleer je verbinding en probeer het opnieuw",
|
||||
"connectionIssueTitle": "Kan je server niet bereiken",
|
||||
"@connectionIssueTitle": {
|
||||
"description": "Titel die wordt weergegeven wanneer de geconfigureerde server onbereikbaar is"
|
||||
},
|
||||
"connectionIssueSubtitle": "Maak opnieuw verbinding om door te gaan of log uit om een andere server te kiezen.",
|
||||
"@connectionIssueSubtitle": {
|
||||
"description": "Ondertitel die beschikbare acties uitlegt wanneer de server niet bereikbaar is"
|
||||
},
|
||||
"stillOfflineMessage": "We kunnen de server nog steeds niet bereiken. Controleer je verbinding en probeer het opnieuw.",
|
||||
"@stillOfflineMessage": {
|
||||
"description": "Statusbericht na een herhaalde poging wanneer de verbinding niet is hersteld"
|
||||
},
|
||||
"account": "Account",
|
||||
"supportConduit": "Ondersteun Conduit",
|
||||
"supportConduitSubtitle": "Houd Conduit onafhankelijk door doorlopende ontwikkeling te financieren.",
|
||||
"githubSponsorsTitle": "GitHub Sponsors",
|
||||
"githubSponsorsSubtitle": "Word een terugkerende sponsor om roadmap-items te financieren.",
|
||||
"buyMeACoffeeTitle": "Buy Me a Coffee",
|
||||
"buyMeACoffeeSubtitle": "Doe een eenmalige donatie om bedankt te zeggen.",
|
||||
"signOut": "Uitloggen",
|
||||
"endYourSession": "Beëindig je sessie",
|
||||
"defaultModel": "Standaardmodel",
|
||||
"autoSelect": "Automatisch selecteren",
|
||||
"loadingModels": "Modellen laden...",
|
||||
"failedToLoadModels": "Kan modellen niet laden",
|
||||
"availableModels": "Beschikbare modellen",
|
||||
"noResults": "Geen resultaten",
|
||||
"searchModels": "Modellen zoeken...",
|
||||
"errorMessage": "Er is iets misgegaan. Probeer het opnieuw.",
|
||||
"loginButton": "Inloggen",
|
||||
"menuItem": "Instellingen",
|
||||
"dynamicContentWithPlaceholder": "Welkom, {name}!",
|
||||
"itemsCount": "{count, plural, =0{Geen items} one{1 item} other{{count} items}}",
|
||||
"closeButtonSemantic": "Sluiten",
|
||||
"loadingContent": "Inhoud laden",
|
||||
"noItems": "Geen items",
|
||||
"noItemsToDisplay": "Geen items om weer te geven",
|
||||
"loadMore": "Meer laden",
|
||||
"workspace": "Werkruimte",
|
||||
"recentFiles": "Recente bestanden",
|
||||
"knowledgeBase": "Kennisbank",
|
||||
"noFilesYet": "Nog geen bestanden",
|
||||
"uploadDocsPrompt": "Upload documenten om te gebruiken in je gesprekken met Conduit",
|
||||
"uploadFirstFile": "Upload je eerste bestand",
|
||||
"attachments": "Bijlagen",
|
||||
"knowledgeBaseEmpty": "Kennisbank is leeg",
|
||||
"createCollectionsPrompt": "Maak verzamelingen van gerelateerde documenten voor eenvoudige verwijzing",
|
||||
"chooseSourcePhoto": "Kies je bron",
|
||||
"takePhoto": "Foto maken",
|
||||
"chooseFromGallery": "Kies uit je foto's",
|
||||
"document": "Document",
|
||||
"documentHint": "PDF, Word of tekstbestand",
|
||||
"uploadFileTitle": "Bestand uploaden",
|
||||
"fileUploadComingSoon": "Bestand uploaden voor {type} komt binnenkort!",
|
||||
"kbCreationComingSoon": "Kennisbank aanmaken komt binnenkort!",
|
||||
"backToServerSetup": "Terug naar serverinstelling",
|
||||
"connectedToServer": "Verbonden met server",
|
||||
"signIn": "Inloggen",
|
||||
"enterCredentials": "Voer je inloggegevens in om toegang te krijgen tot je AI-gesprekken",
|
||||
"credentials": "Inloggegevens",
|
||||
"apiKey": "API-sleutel",
|
||||
"usernameOrEmail": "Gebruikersnaam of e-mail",
|
||||
"password": "Wachtwoord",
|
||||
"signInWithApiKey": "Inloggen met API-sleutel",
|
||||
"connectToServer": "Verbinden met server",
|
||||
"enterServerAddress": "Voer je Open-WebUI serveradres in om te beginnen",
|
||||
"serverUrl": "Server-URL",
|
||||
"serverUrlHint": "https://jouw-server.com",
|
||||
"enterServerUrlSemantic": "Voer je server-URL of IP-adres in",
|
||||
"headerName": "Header-naam",
|
||||
"headerValue": "Header-waarde",
|
||||
"headerValueHint": "api-key-123 of Bearer token",
|
||||
"addHeader": "Header toevoegen",
|
||||
"maximumHeadersReached": "Maximum aantal headers bereikt",
|
||||
"removeHeader": "Header verwijderen",
|
||||
"connecting": "Verbinden...",
|
||||
"connectToServerButton": "Verbinden met server",
|
||||
"demoModeActive": "Demomodus actief",
|
||||
"skipServerSetupTryDemo": "Serverinstelling overslaan en demo proberen",
|
||||
"enterDemo": "Demo starten",
|
||||
"demoBadge": "Demo",
|
||||
"serverNotOpenWebUI": "Dit lijkt geen Open-WebUI server te zijn.",
|
||||
"serverUrlEmpty": "Server-URL mag niet leeg zijn",
|
||||
"invalidUrlFormat": "Ongeldig URL-formaat. Controleer je invoer.",
|
||||
"onlyHttpHttps": "Alleen HTTP- en HTTPS-protocollen worden ondersteund.",
|
||||
"serverAddressRequired": "Serveradres is vereist (bijv. 192.168.1.10 of example.com).",
|
||||
"portRange": "Poort moet tussen 1 en 65535 zijn.",
|
||||
"invalidIpFormat": "Ongeldig IP-adresformaat. Gebruik een formaat zoals 192.168.1.10.",
|
||||
"couldNotConnectGeneric": "Kan geen verbinding maken. Controleer het adres en probeer het opnieuw.",
|
||||
"weCouldntReachServer": "We konden de server niet bereiken. Controleer je verbinding en of de server actief is.",
|
||||
"connectionTimedOut": "Verbinding time-out. De server is mogelijk druk of geblokkeerd door een firewall.",
|
||||
"useHttpOrHttpsOnly": "Gebruik alleen http:// of https://.",
|
||||
"loginFailed": "Inloggen mislukt",
|
||||
"invalidCredentials": "Ongeldige gebruikersnaam of wachtwoord. Probeer het opnieuw.",
|
||||
"serverRedirectingHttps": "De server leidt verzoeken om. Controleer de HTTPS-configuratie van je server.",
|
||||
"unableToConnectServer": "Kan geen verbinding maken met server. Controleer je verbinding.",
|
||||
"requestTimedOut": "Het verzoek is verlopen. Probeer het opnieuw.",
|
||||
"genericSignInFailed": "We konden je niet inloggen. Controleer je inloggegevens en serverinstellingen.",
|
||||
"skip": "Overslaan",
|
||||
"next": "Volgende",
|
||||
"done": "Klaar",
|
||||
"onboardStartTitle": "Hallo, {username}",
|
||||
"onboardStartSubtitle": "Kies een model om te beginnen. Tik op Nieuwe chat wanneer je maar wilt.",
|
||||
"onboardStartBullet1": "Tik op de modelnaam in de bovenbalk om van model te wisselen",
|
||||
"onboardStartBullet2": "Gebruik Nieuwe chat om de context te resetten",
|
||||
"onboardAttachTitle": "Context toevoegen",
|
||||
"onboardAttachSubtitle": "Onderbouw antwoorden met inhoud uit de werkruimte of foto's.",
|
||||
"onboardAttachBullet1": "Werkruimte: PDF's, documenten, datasets",
|
||||
"onboardAttachBullet2": "Foto's: camera of galerij",
|
||||
"onboardSpeakTitle": "Spreek natuurlijk",
|
||||
"onboardSpeakSubtitle": "Tik op de microfoon om te dicteren met live golfvormfeedback.",
|
||||
"onboardSpeakBullet1": "Stop op elk moment; gedeeltelijke tekst wordt bewaard",
|
||||
"onboardSpeakBullet2": "Geweldig voor snelle notities of lange prompts",
|
||||
"onboardQuickTitle": "Snelle acties",
|
||||
"onboardQuickSubtitle": "Open het menu om te schakelen tussen Chats, Werkruimte en Profiel.",
|
||||
"onboardQuickBullet1": "Tik op het menu voor toegang tot Chats, Werkruimte, Profiel",
|
||||
"onboardQuickBullet2": "Start Nieuwe chat of beheer modellen vanuit de bovenbalk",
|
||||
"addAttachment": "Bijlage toevoegen",
|
||||
"attachmentLabel": "Bijlage",
|
||||
"tools": "Hulpmiddelen",
|
||||
"voiceInput": "Spraakinvoer",
|
||||
"voice": "Stem",
|
||||
"voiceStatusListening": "Luisteren...",
|
||||
"voiceStatusRecording": "Opnemen...",
|
||||
"voiceHoldToTalk": "Houd ingedrukt om te praten",
|
||||
"voiceAutoSend": "Automatisch verzenden",
|
||||
"voiceTranscript": "Transcriptie",
|
||||
"voicePromptSpeakNow": "Spreek nu...",
|
||||
"voicePromptTapStart": "Tik op Start om te beginnen",
|
||||
"voiceActionStop": "Stop",
|
||||
"voiceActionStart": "Start",
|
||||
"messageInputLabel": "Berichtinvoer",
|
||||
"messageInputHint": "Typ je bericht",
|
||||
"messageHintText": "Bericht...",
|
||||
"stopGenerating": "Stop met genereren",
|
||||
"codeCopiedToClipboard": "Code gekopieerd naar klembord.",
|
||||
"send": "Verzenden",
|
||||
"sendMessage": "Bericht verzenden",
|
||||
"file": "Bestand",
|
||||
"photo": "Foto",
|
||||
"camera": "Camera",
|
||||
"apiUnavailable": "API-service niet beschikbaar",
|
||||
"unableToLoadImage": "Kan afbeelding niet laden",
|
||||
"notAnImageFile": "Geen afbeeldingsbestand: {fileName}",
|
||||
"failedToLoadImage": "Kan afbeelding niet laden: {error}",
|
||||
"invalidDataUrl": "Ongeldig data-URL-formaat",
|
||||
"failedToDecodeImage": "Kan afbeelding niet decoderen",
|
||||
"invalidImageFormat": "Ongeldig afbeeldingsformaat",
|
||||
"emptyImageData": "Lege afbeeldingsgegevens",
|
||||
"featureRequiresInternet": "Deze functie vereist een internetverbinding",
|
||||
"messagesWillSendWhenOnline": "Berichten worden verzonden wanneer je weer online bent",
|
||||
"confirm": "Bevestigen",
|
||||
"cancel": "Annuleren",
|
||||
"ok": "OK",
|
||||
"inputField": "Invoerveld",
|
||||
"captureDocumentOrImage": "Document of afbeelding vastleggen",
|
||||
"checkConnection": "Verbinding controleren",
|
||||
"openSettings": "Instellingen openen",
|
||||
"chooseDifferentFile": "Ander bestand kiezen",
|
||||
"goBack": "Terug",
|
||||
"technicalDetails": "Technische details",
|
||||
"save": "Opslaan",
|
||||
"chooseModel": "Model kiezen",
|
||||
"reviewerMode": "BEOORDELAARSMODUS",
|
||||
"selectLanguage": "Taal selecteren",
|
||||
"newFolder": "Nieuwe map",
|
||||
"folderName": "Mapnaam",
|
||||
"newChat": "Nieuwe chat",
|
||||
"more": "Meer",
|
||||
"clear": "Wissen",
|
||||
"searchHint": "Zoeken...",
|
||||
"searchConversations": "Gesprekken zoeken...",
|
||||
"create": "Aanmaken",
|
||||
"folderCreated": "Map aangemaakt",
|
||||
"failedToCreateFolder": "Kan map niet aanmaken",
|
||||
"movedChatToFolder": "'{title}' verplaatst naar '{folder}'",
|
||||
"@movedChatToFolder": {
|
||||
"placeholders": {
|
||||
"title": {"type": "String"},
|
||||
"folder": {"type": "String"}
|
||||
}
|
||||
},
|
||||
"failedToMoveChat": "Kan chat niet verplaatsen",
|
||||
"failedToLoadChats": "Kan chats niet laden",
|
||||
"failedToUpdatePin": "Kan vastpinning niet bijwerken",
|
||||
"failedToDeleteChat": "Kan chat niet verwijderen",
|
||||
"manage": "Beheren",
|
||||
"rename": "Hernoemen",
|
||||
"delete": "Verwijderen",
|
||||
"renameChat": "Chat hernoemen",
|
||||
"enterChatName": "Chatnaam invoeren",
|
||||
"failedToRenameChat": "Kan chat niet hernoemen",
|
||||
"failedToUpdateArchive": "Kan archief niet bijwerken",
|
||||
"unarchive": "Uit archief halen",
|
||||
"archive": "Archiveren",
|
||||
"pin": "Vastpinnen",
|
||||
"unpin": "Losmaken",
|
||||
"recent": "Recent",
|
||||
"system": "Systeem",
|
||||
"english": "English",
|
||||
"deutsch": "Deutsch",
|
||||
"francais": "Français",
|
||||
"italiano": "Italiano",
|
||||
"deleteMessagesTitle": "Berichten verwijderen",
|
||||
"deleteMessagesMessage": "{count} berichten verwijderen?",
|
||||
"@deleteMessagesMessage": {
|
||||
"placeholders": {
|
||||
"count": {"type": "int"}
|
||||
}
|
||||
},
|
||||
"routeNotFound": "Route niet gevonden: {routeName}",
|
||||
"@routeNotFound": {
|
||||
"placeholders": {
|
||||
"routeName": {"type": "String"}
|
||||
}
|
||||
},
|
||||
"deleteChatTitle": "Chat verwijderen",
|
||||
"deleteChatMessage": "Deze chat wordt permanent verwijderd.",
|
||||
"deleteFolderTitle": "Map verwijderen",
|
||||
"deleteFolderMessage": "Deze map en zijn toewijzingen worden verwijderd.",
|
||||
"failedToDeleteFolder": "Kan map niet verwijderen",
|
||||
"aboutApp": "Over de app",
|
||||
"aboutAppSubtitle": "Conduit-informatie en links",
|
||||
"web": "Web",
|
||||
"imageGen": "Afbeeldingsgeneratie",
|
||||
"pinned": "Vastgepind",
|
||||
"folders": "Mappen",
|
||||
"archived": "Gearchiveerd",
|
||||
"appLanguage": "App-taal",
|
||||
"darkMode": "Donkere modus",
|
||||
"webSearch": "Webzoekopdracht",
|
||||
"webSearchDescription": "Doorzoek het web en citeer bronnen in antwoorden.",
|
||||
"imageGeneration": "Afbeeldingsgeneratie",
|
||||
"imageGenerationDescription": "Maak afbeeldingen van je prompts.",
|
||||
"copy": "Kopiëren",
|
||||
"ttsListen": "Luisteren",
|
||||
"ttsStop": "Stoppen",
|
||||
"edit": "Bewerken",
|
||||
"regenerate": "Opnieuw genereren",
|
||||
"noConversationsYet": "Nog geen gesprekken",
|
||||
"usernameOrEmailHint": "Voer je gebruikersnaam of e-mail in",
|
||||
"passwordHint": "Voer je wachtwoord in",
|
||||
"enterApiKey": "Voer je API-sleutel in",
|
||||
"signingIn": "Inloggen...",
|
||||
"advancedSettings": "Geavanceerde instellingen",
|
||||
"customHeaders": "Aangepaste headers",
|
||||
"customHeadersDescription": "Voeg aangepaste HTTP-headers toe voor authenticatie, API-sleutels of speciale serververeisten.",
|
||||
"allowSelfSignedCertificates": "Vertrouw zelfondertekende certificaten",
|
||||
"@allowSelfSignedCertificates": {
|
||||
"description": "Schakelaar waarmee zelfondertekende TLS-certificaten voor de geconfigureerde server vertrouwd kunnen worden."
|
||||
},
|
||||
"allowSelfSignedCertificatesDescription": "Accepteer het TLS-certificaat van deze server, zelfs als het zelfondertekend is. Schakel dit alleen in voor servers die je vertrouwt.",
|
||||
"@allowSelfSignedCertificatesDescription": {
|
||||
"description": "Hulptekst die de risico's van het inschakelen van de schakelaar voor zelfondertekende certificaten verduidelijkt."
|
||||
},
|
||||
"headerNameEmpty": "Header-naam mag niet leeg zijn",
|
||||
"headerNameTooLong": "Header-naam te lang (max 64 tekens)",
|
||||
"headerNameInvalidChars": "Ongeldige header-naam. Gebruik alleen letters, cijfers en deze symbolen: !#$&-^_`|~",
|
||||
"headerNameReserved": "Kan gereserveerde header '{key}' niet overschrijven",
|
||||
"@headerNameReserved": {"placeholders": {"key": {"type": "String"}}},
|
||||
"headerValueEmpty": "Header-waarde mag niet leeg zijn",
|
||||
"headerValueTooLong": "Header-waarde te lang (max 1024 tekens)",
|
||||
"headerValueInvalidChars": "Header-waarde bevat ongeldige tekens. Gebruik alleen afdrukbare ASCII.",
|
||||
"headerValueUnsafe": "Header-waarde lijkt mogelijk onveilige inhoud te bevatten",
|
||||
"headerAlreadyExists": "Header '{key}' bestaat al. Verwijder deze eerst om bij te werken.",
|
||||
"@headerAlreadyExists": {"placeholders": {"key": {"type": "String"}}},
|
||||
"maxHeadersReachedDetail": "Maximaal 10 aangepaste headers toegestaan. Verwijder er enkele om meer toe te voegen.",
|
||||
"editMessage": "Bericht bewerken",
|
||||
"noModelsAvailable": "Geen modellen beschikbaar",
|
||||
"followingSystem": "Volgt systeem: {theme}",
|
||||
"@followingSystem": {"placeholders": {"theme": {"type": "String"}}},
|
||||
"themeDark": "Donker",
|
||||
"themePalette": "Accentpalet",
|
||||
"@themePalette": {"description": "Titel voor het selecteren van het app-kleurenpalet."},
|
||||
"themePaletteDescription": "Kies de accentkleuren voor knoppen, kaarten en chatballonnen.",
|
||||
"@themePaletteDescription": {"description": "Hulptekst die de paletselectie uitlegt."},
|
||||
"themeLight": "Licht",
|
||||
"currentlyUsingDarkTheme": "Momenteel donker thema in gebruik",
|
||||
"currentlyUsingLightTheme": "Momenteel licht thema in gebruik",
|
||||
"aboutConduit": "Over Conduit",
|
||||
"versionLabel": "Versie: {version} ({build})",
|
||||
"@versionLabel": {"placeholders": {"version": {"type": "String"}, "build": {"type": "String"}}},
|
||||
"githubRepository": "GitHub-repository",
|
||||
"unableToLoadAppInfo": "Kan app-info niet laden",
|
||||
"thinking": "Denken...",
|
||||
"thoughts": "Gedachten",
|
||||
"thoughtForDuration": "Dacht {duration}",
|
||||
"@thoughtForDuration": {
|
||||
"description": "Toont hoe lang de assistent dacht voordat hij antwoordde.",
|
||||
"placeholders": {"duration": {"type": "String", "example": "3s"}}
|
||||
},
|
||||
"appCustomization": "App-aanpassing",
|
||||
"appCustomizationSubtitle": "Personaliseer hoe namen en UI worden weergegeven",
|
||||
"quickActionsDescription": "Kies maximaal twee snelkoppelingen om vast te pinnen bij de composer",
|
||||
"chatSettings": "Chat",
|
||||
"sendOnEnter": "Verzenden met Enter",
|
||||
"sendOnEnterDescription": "Enter verzendt (softtoetsenbord). Cmd/Ctrl+Enter ook beschikbaar",
|
||||
"display": "Weergave",
|
||||
"realtime": "Realtime",
|
||||
"transportMode": "Transportmodus",
|
||||
"transportModeDescription": "Kies hoe de app verbindt voor realtime updates.",
|
||||
"mode": "Modus",
|
||||
"transportModeAuto": "Automatisch (Polling + WebSocket)",
|
||||
"transportModeWs": "Alleen WebSocket",
|
||||
"transportModeAutoInfo": "Robuuster op beperkende netwerken. Upgrade naar WebSocket indien mogelijk.",
|
||||
"transportModeWsInfo": "Lagere overhead, maar kan mislukken achter strikte proxies/firewalls."
|
||||
}
|
||||
317
lib/l10n/app_ru.arb
Normal file
317
lib/l10n/app_ru.arb
Normal file
@@ -0,0 +1,317 @@
|
||||
{
|
||||
"@@locale": "ru",
|
||||
"appTitle": "Conduit",
|
||||
"initializationFailed": "Ошибка инициализации",
|
||||
"retry": "Повторить",
|
||||
"back": "Назад",
|
||||
"you": "Вы",
|
||||
"loadingProfile": "Загрузка профиля...",
|
||||
"unableToLoadProfile": "Не удалось загрузить профиль",
|
||||
"pleaseCheckConnection": "Пожалуйста, проверьте соединение и повторите попытку",
|
||||
"connectionIssueTitle": "Не удается подключиться к серверу",
|
||||
"@connectionIssueTitle": {
|
||||
"description": "Заголовок, отображаемый при недоступности настроенного сервера"
|
||||
},
|
||||
"connectionIssueSubtitle": "Переподключитесь, чтобы продолжить, или выйдите, чтобы выбрать другой сервер.",
|
||||
"@connectionIssueSubtitle": {
|
||||
"description": "Подзаголовок с доступными действиями при недоступности сервера"
|
||||
},
|
||||
"stillOfflineMessage": "Мы все еще не можем подключиться к серверу. Проверьте соединение и повторите попытку.",
|
||||
"@stillOfflineMessage": {
|
||||
"description": "Сообщение после повторной попытки, когда соединение не восстановлено"
|
||||
},
|
||||
"account": "Аккаунт",
|
||||
"supportConduit": "Поддержать Conduit",
|
||||
"supportConduitSubtitle": "Сохраните независимость Conduit, финансируя разработку.",
|
||||
"githubSponsorsTitle": "GitHub Sponsors",
|
||||
"githubSponsorsSubtitle": "Станьте регулярным спонсором для финансирования дорожной карты.",
|
||||
"buyMeACoffeeTitle": "Buy Me a Coffee",
|
||||
"buyMeACoffeeSubtitle": "Сделайте разовое пожертвование в знак благодарности.",
|
||||
"signOut": "Выйти",
|
||||
"endYourSession": "Завершить сеанс",
|
||||
"defaultModel": "Модель по умолчанию",
|
||||
"autoSelect": "Автовыбор",
|
||||
"loadingModels": "Загрузка моделей...",
|
||||
"failedToLoadModels": "Не удалось загрузить модели",
|
||||
"availableModels": "Доступные модели",
|
||||
"noResults": "Нет результатов",
|
||||
"searchModels": "Поиск моделей...",
|
||||
"errorMessage": "Что-то пошло не так. Пожалуйста, попробуйте еще раз.",
|
||||
"loginButton": "Войти",
|
||||
"menuItem": "Настройки",
|
||||
"dynamicContentWithPlaceholder": "Добро пожаловать, {name}!",
|
||||
"itemsCount": "{count, plural, =0{Нет элементов} one{{count} элемент} few{{count} элемента} other{{count} элементов}}",
|
||||
"closeButtonSemantic": "Закрыть",
|
||||
"loadingContent": "Загрузка содержимого",
|
||||
"noItems": "Нет элементов",
|
||||
"noItemsToDisplay": "Нет элементов для отображения",
|
||||
"loadMore": "Загрузить еще",
|
||||
"workspace": "Рабочее пространство",
|
||||
"recentFiles": "Недавние файлы",
|
||||
"knowledgeBase": "База знаний",
|
||||
"noFilesYet": "Пока нет файлов",
|
||||
"uploadDocsPrompt": "Загрузите документы для использования в разговорах с Conduit",
|
||||
"uploadFirstFile": "Загрузить первый файл",
|
||||
"attachments": "Вложения",
|
||||
"knowledgeBaseEmpty": "База знаний пуста",
|
||||
"createCollectionsPrompt": "Создайте коллекции связанных документов для удобной ссылки",
|
||||
"chooseSourcePhoto": "Выберите источник",
|
||||
"takePhoto": "Сделать фото",
|
||||
"chooseFromGallery": "Выбрать из галереи",
|
||||
"document": "Документ",
|
||||
"documentHint": "PDF, Word или текстовый файл",
|
||||
"uploadFileTitle": "Загрузить файл",
|
||||
"fileUploadComingSoon": "Загрузка файлов для {type} скоро появится!",
|
||||
"kbCreationComingSoon": "Создание базы знаний скоро появится!",
|
||||
"backToServerSetup": "Вернуться к настройке сервера",
|
||||
"connectedToServer": "Подключено к серверу",
|
||||
"signIn": "Войти",
|
||||
"enterCredentials": "Введите свои учетные данные для доступа к вашим разговорам с ИИ",
|
||||
"credentials": "Учетные данные",
|
||||
"apiKey": "API-ключ",
|
||||
"usernameOrEmail": "Имя пользователя или email",
|
||||
"password": "Пароль",
|
||||
"signInWithApiKey": "Войти с помощью API-ключа",
|
||||
"connectToServer": "Подключиться к серверу",
|
||||
"enterServerAddress": "Введите адрес вашего сервера Open-WebUI для начала",
|
||||
"serverUrl": "URL сервера",
|
||||
"serverUrlHint": "https://your-server.com",
|
||||
"enterServerUrlSemantic": "Введите URL или IP-адрес вашего сервера",
|
||||
"headerName": "Имя заголовка",
|
||||
"headerValue": "Значение заголовка",
|
||||
"headerValueHint": "api-key-123 или Bearer token",
|
||||
"addHeader": "Добавить заголовок",
|
||||
"maximumHeadersReached": "Достигнуто максимальное количество заголовков",
|
||||
"removeHeader": "Удалить заголовок",
|
||||
"connecting": "Подключение...",
|
||||
"connectToServerButton": "Подключиться к серверу",
|
||||
"demoModeActive": "Демо-режим активен",
|
||||
"skipServerSetupTryDemo": "Пропустить настройку сервера и попробовать демо",
|
||||
"enterDemo": "Войти в демо",
|
||||
"demoBadge": "Демо",
|
||||
"serverNotOpenWebUI": "Это не похоже на сервер Open-WebUI.",
|
||||
"serverUrlEmpty": "URL сервера не может быть пустым",
|
||||
"invalidUrlFormat": "Неверный формат URL. Пожалуйста, проверьте ввод.",
|
||||
"onlyHttpHttps": "Поддерживаются только протоколы HTTP и HTTPS.",
|
||||
"serverAddressRequired": "Требуется адрес сервера (например, 192.168.1.10 или example.com).",
|
||||
"portRange": "Порт должен быть от 1 до 65535.",
|
||||
"invalidIpFormat": "Неверный формат IP-адреса. Используйте формат как 192.168.1.10.",
|
||||
"couldNotConnectGeneric": "Не удалось подключиться. Проверьте адрес и повторите попытку.",
|
||||
"weCouldntReachServer": "Мы не смогли связаться с сервером. Проверьте подключение и работает ли сервер.",
|
||||
"connectionTimedOut": "Время ожидания подключения истекло. Сервер может быть занят или заблокирован брандмауэром.",
|
||||
"useHttpOrHttpsOnly": "Используйте только http:// или https://.",
|
||||
"loginFailed": "Ошибка входа",
|
||||
"invalidCredentials": "Неверное имя пользователя или пароль. Пожалуйста, попробуйте еще раз.",
|
||||
"serverRedirectingHttps": "Сервер перенаправляет запросы. Проверьте настройки HTTPS вашего сервера.",
|
||||
"unableToConnectServer": "Не удается подключиться к серверу. Пожалуйста, проверьте соединение.",
|
||||
"requestTimedOut": "Время ожидания запроса истекло. Пожалуйста, попробуйте еще раз.",
|
||||
"genericSignInFailed": "Не удалось войти. Проверьте учетные данные и настройки сервера.",
|
||||
"skip": "Пропустить",
|
||||
"next": "Далее",
|
||||
"done": "Готово",
|
||||
"onboardStartTitle": "Здравствуйте, {username}",
|
||||
"onboardStartSubtitle": "Выберите модель для начала. Нажмите «Новый чат» в любое время.",
|
||||
"onboardStartBullet1": "Нажмите на имя модели в верхней панели для переключения моделей",
|
||||
"onboardStartBullet2": "Используйте «Новый чат» для сброса контекста",
|
||||
"onboardAttachTitle": "Добавить контекст",
|
||||
"onboardAttachSubtitle": "Обоснуйте ответы содержимым из рабочего пространства или фотографиями.",
|
||||
"onboardAttachBullet1": "Рабочее пространство: PDF, документы, наборы данных",
|
||||
"onboardAttachBullet2": "Фотографии: камера или галерея",
|
||||
"onboardSpeakTitle": "Говорите естественно",
|
||||
"onboardSpeakSubtitle": "Нажмите на микрофон для диктовки с визуализацией формы волны в реальном времени.",
|
||||
"onboardSpeakBullet1": "Остановитесь в любое время; частичный текст сохранится",
|
||||
"onboardSpeakBullet2": "Отлично подходит для быстрых заметок или длинных запросов",
|
||||
"onboardQuickTitle": "Быстрые действия",
|
||||
"onboardQuickSubtitle": "Откройте меню для переключения между чатами, рабочим пространством и профилем.",
|
||||
"onboardQuickBullet1": "Нажмите на меню для доступа к чатам, рабочему пространству, профилю",
|
||||
"onboardQuickBullet2": "Начните новый чат или управляйте моделями из верхней панели",
|
||||
"addAttachment": "Добавить вложение",
|
||||
"attachmentLabel": "Вложение",
|
||||
"tools": "Инструменты",
|
||||
"voiceInput": "Голосовой ввод",
|
||||
"voice": "Голос",
|
||||
"voiceStatusListening": "Слушаю...",
|
||||
"voiceStatusRecording": "Запись...",
|
||||
"voiceHoldToTalk": "Удерживайте для разговора",
|
||||
"voiceAutoSend": "Автоотправка",
|
||||
"voiceTranscript": "Транскрипция",
|
||||
"voicePromptSpeakNow": "Говорите сейчас...",
|
||||
"voicePromptTapStart": "Нажмите «Начать» для запуска",
|
||||
"voiceActionStop": "Стоп",
|
||||
"voiceActionStart": "Начать",
|
||||
"messageInputLabel": "Ввод сообщения",
|
||||
"messageInputHint": "Введите ваше сообщение",
|
||||
"messageHintText": "Сообщение...",
|
||||
"stopGenerating": "Остановить генерацию",
|
||||
"codeCopiedToClipboard": "Код скопирован в буфер обмена.",
|
||||
"send": "Отправить",
|
||||
"sendMessage": "Отправить сообщение",
|
||||
"file": "Файл",
|
||||
"photo": "Фото",
|
||||
"camera": "Камера",
|
||||
"apiUnavailable": "Служба API недоступна",
|
||||
"unableToLoadImage": "Не удалось загрузить изображение",
|
||||
"notAnImageFile": "Не является файлом изображения: {fileName}",
|
||||
"failedToLoadImage": "Не удалось загрузить изображение: {error}",
|
||||
"invalidDataUrl": "Неверный формат data URL",
|
||||
"failedToDecodeImage": "Не удалось декодировать изображение",
|
||||
"invalidImageFormat": "Неверный формат изображения",
|
||||
"emptyImageData": "Пустые данные изображения",
|
||||
"featureRequiresInternet": "Эта функция требует подключения к интернету",
|
||||
"messagesWillSendWhenOnline": "Сообщения будут отправлены, когда вы снова будете онлайн",
|
||||
"confirm": "Подтвердить",
|
||||
"cancel": "Отмена",
|
||||
"ok": "OK",
|
||||
"inputField": "Поле ввода",
|
||||
"captureDocumentOrImage": "Сфотографировать документ или изображение",
|
||||
"checkConnection": "Проверить соединение",
|
||||
"openSettings": "Открыть настройки",
|
||||
"chooseDifferentFile": "Выбрать другой файл",
|
||||
"goBack": "Назад",
|
||||
"technicalDetails": "Технические детали",
|
||||
"save": "Сохранить",
|
||||
"chooseModel": "Выбрать модель",
|
||||
"reviewerMode": "РЕЖИМ РЕЦЕНЗЕНТА",
|
||||
"selectLanguage": "Выбрать язык",
|
||||
"newFolder": "Новая папка",
|
||||
"folderName": "Имя папки",
|
||||
"newChat": "Новый чат",
|
||||
"more": "Еще",
|
||||
"clear": "Очистить",
|
||||
"searchHint": "Поиск...",
|
||||
"searchConversations": "Поиск разговоров...",
|
||||
"create": "Создать",
|
||||
"folderCreated": "Папка создана",
|
||||
"failedToCreateFolder": "Не удалось создать папку",
|
||||
"movedChatToFolder": "Перемещено «{title}» в «{folder}»",
|
||||
"@movedChatToFolder": {
|
||||
"placeholders": {
|
||||
"title": {"type": "String"},
|
||||
"folder": {"type": "String"}
|
||||
}
|
||||
},
|
||||
"failedToMoveChat": "Не удалось переместить чат",
|
||||
"failedToLoadChats": "Не удалось загрузить чаты",
|
||||
"failedToUpdatePin": "Не удалось обновить закрепление",
|
||||
"failedToDeleteChat": "Не удалось удалить чат",
|
||||
"manage": "Управление",
|
||||
"rename": "Переименовать",
|
||||
"delete": "Удалить",
|
||||
"renameChat": "Переименовать чат",
|
||||
"enterChatName": "Введите имя чата",
|
||||
"failedToRenameChat": "Не удалось переименовать чат",
|
||||
"failedToUpdateArchive": "Не удалось обновить архив",
|
||||
"unarchive": "Разархивировать",
|
||||
"archive": "Архивировать",
|
||||
"pin": "Закрепить",
|
||||
"unpin": "Открепить",
|
||||
"recent": "Недавние",
|
||||
"system": "Системный",
|
||||
"english": "English",
|
||||
"deutsch": "Deutsch",
|
||||
"francais": "Français",
|
||||
"italiano": "Italiano",
|
||||
"deleteMessagesTitle": "Удалить сообщения",
|
||||
"deleteMessagesMessage": "Удалить {count, plural, one{{count} сообщение} few{{count} сообщения} other{{count} сообщений}}?",
|
||||
"@deleteMessagesMessage": {
|
||||
"placeholders": {
|
||||
"count": {"type": "int"}
|
||||
}
|
||||
},
|
||||
"routeNotFound": "Маршрут не найден: {routeName}",
|
||||
"@routeNotFound": {
|
||||
"placeholders": {
|
||||
"routeName": {"type": "String"}
|
||||
}
|
||||
},
|
||||
"deleteChatTitle": "Удалить чат",
|
||||
"deleteChatMessage": "Этот чат будет удален навсегда.",
|
||||
"deleteFolderTitle": "Удалить папку",
|
||||
"deleteFolderMessage": "Эта папка и ее ссылки будут удалены.",
|
||||
"failedToDeleteFolder": "Не удалось удалить папку",
|
||||
"aboutApp": "О приложении",
|
||||
"aboutAppSubtitle": "Информация о Conduit и ссылки",
|
||||
"web": "Веб",
|
||||
"imageGen": "Генерация изображений",
|
||||
"pinned": "Закреплено",
|
||||
"folders": "Папки",
|
||||
"archived": "Архивировано",
|
||||
"appLanguage": "Язык приложения",
|
||||
"darkMode": "Темный режим",
|
||||
"webSearch": "Веб-поиск",
|
||||
"webSearchDescription": "Поиск в интернете и цитирование источников в ответах.",
|
||||
"imageGeneration": "Генерация изображений",
|
||||
"imageGenerationDescription": "Создавайте изображения из ваших запросов.",
|
||||
"copy": "Копировать",
|
||||
"ttsListen": "Прослушать",
|
||||
"ttsStop": "Остановить",
|
||||
"edit": "Редактировать",
|
||||
"regenerate": "Регенерировать",
|
||||
"noConversationsYet": "Пока нет разговоров",
|
||||
"usernameOrEmailHint": "Введите ваше имя пользователя или email",
|
||||
"passwordHint": "Введите ваш пароль",
|
||||
"enterApiKey": "Введите ваш API-ключ",
|
||||
"signingIn": "Вход...",
|
||||
"advancedSettings": "Расширенные настройки",
|
||||
"customHeaders": "Пользовательские заголовки",
|
||||
"customHeadersDescription": "Добавьте пользовательские HTTP-заголовки для аутентификации, API-ключей или особых требований сервера.",
|
||||
"allowSelfSignedCertificates": "Доверять самоподписанным сертификатам",
|
||||
"@allowSelfSignedCertificates": {
|
||||
"description": "Переключатель, позволяющий доверять самоподписанным TLS-сертификатам для настроенного сервера."
|
||||
},
|
||||
"allowSelfSignedCertificatesDescription": "Принимать TLS-сертификат этого сервера, даже если он самоподписанный. Включайте только для серверов, которым вы доверяете.",
|
||||
"@allowSelfSignedCertificatesDescription": {
|
||||
"description": "Вспомогательный текст, разъясняющий риски включения переключателя самоподписанных сертификатов."
|
||||
},
|
||||
"headerNameEmpty": "Имя заголовка не может быть пустым",
|
||||
"headerNameTooLong": "Имя заголовка слишком длинное (максимум 64 символа)",
|
||||
"headerNameInvalidChars": "Недопустимое имя заголовка. Используйте только буквы, цифры и эти символы: !#$&-^_`|~",
|
||||
"headerNameReserved": "Невозможно переопределить зарезервированный заголовок «{key}»",
|
||||
"@headerNameReserved": {"placeholders": {"key": {"type": "String"}}},
|
||||
"headerValueEmpty": "Значение заголовка не может быть пустым",
|
||||
"headerValueTooLong": "Значение заголовка слишком длинное (максимум 1024 символа)",
|
||||
"headerValueInvalidChars": "Значение заголовка содержит недопустимые символы. Используйте только печатаемые ASCII.",
|
||||
"headerValueUnsafe": "Значение заголовка содержит потенциально небезопасное содержимое",
|
||||
"headerAlreadyExists": "Заголовок «{key}» уже существует. Сначала удалите его для обновления.",
|
||||
"@headerAlreadyExists": {"placeholders": {"key": {"type": "String"}}},
|
||||
"maxHeadersReachedDetail": "Разрешено максимум 10 пользовательских заголовков. Удалите некоторые, чтобы добавить больше.",
|
||||
"editMessage": "Редактировать сообщение",
|
||||
"noModelsAvailable": "Нет доступных моделей",
|
||||
"followingSystem": "Следует за системой: {theme}",
|
||||
"@followingSystem": {"placeholders": {"theme": {"type": "String"}}},
|
||||
"themeDark": "Темная",
|
||||
"themePalette": "Цветовая палитра",
|
||||
"@themePalette": {"description": "Заголовок для выбора цветовой палитры приложения."},
|
||||
"themePaletteDescription": "Выберите акцентные цвета для кнопок, карточек и пузырьков чата.",
|
||||
"@themePaletteDescription": {"description": "Вспомогательный текст, объясняющий выбор палитры."},
|
||||
"themeLight": "Светлая",
|
||||
"currentlyUsingDarkTheme": "Используется темная тема",
|
||||
"currentlyUsingLightTheme": "Используется светлая тема",
|
||||
"aboutConduit": "О Conduit",
|
||||
"versionLabel": "Версия: {version} ({build})",
|
||||
"@versionLabel": {"placeholders": {"version": {"type": "String"}, "build": {"type": "String"}}},
|
||||
"githubRepository": "Репозиторий GitHub",
|
||||
"unableToLoadAppInfo": "Не удалось загрузить информацию о приложении",
|
||||
"thinking": "Думаю...",
|
||||
"thoughts": "Мысли",
|
||||
"thoughtForDuration": "Думал {duration}",
|
||||
"@thoughtForDuration": {
|
||||
"description": "Показывает, сколько времени ассистент думал перед ответом.",
|
||||
"placeholders": {"duration": {"type": "String", "example": "3с"}}
|
||||
},
|
||||
"appCustomization": "Настройка приложения",
|
||||
"appCustomizationSubtitle": "Персонализируйте отображение имен и интерфейса",
|
||||
"quickActionsDescription": "Выберите до двух ярлыков для закрепления рядом с полем ввода",
|
||||
"chatSettings": "Чат",
|
||||
"sendOnEnter": "Отправка по Enter",
|
||||
"sendOnEnterDescription": "Enter отправляет (программная клавиатура). Также доступно Cmd/Ctrl+Enter",
|
||||
"display": "Отображение",
|
||||
"realtime": "Реальное время",
|
||||
"transportMode": "Режим транспорта",
|
||||
"transportModeDescription": "Выберите, как приложение подключается для обновлений в реальном времени.",
|
||||
"mode": "Режим",
|
||||
"transportModeAuto": "Авто (опрос + WebSocket)",
|
||||
"transportModeWs": "Только WebSocket",
|
||||
"transportModeAutoInfo": "Более надежен в ограничительных сетях. Переходит на WebSocket, когда это возможно.",
|
||||
"transportModeWsInfo": "Меньше накладных расходов, но может не работать за строгими прокси/брандмауэрами."
|
||||
}
|
||||
317
lib/l10n/app_zh.arb
Normal file
317
lib/l10n/app_zh.arb
Normal file
@@ -0,0 +1,317 @@
|
||||
{
|
||||
"@@locale": "zh",
|
||||
"appTitle": "Conduit",
|
||||
"initializationFailed": "初始化失败",
|
||||
"retry": "重试",
|
||||
"back": "返回",
|
||||
"you": "你",
|
||||
"loadingProfile": "加载个人资料中...",
|
||||
"unableToLoadProfile": "无法加载个人资料",
|
||||
"pleaseCheckConnection": "请检查您的连接并重试",
|
||||
"connectionIssueTitle": "无法连接到您的服务器",
|
||||
"@connectionIssueTitle": {
|
||||
"description": "当配置的服务器无法访问时显示的标题"
|
||||
},
|
||||
"connectionIssueSubtitle": "重新连接以继续或退出登录以选择其他服务器。",
|
||||
"@connectionIssueSubtitle": {
|
||||
"description": "当无法访问服务器时解释可用操作的副标题"
|
||||
},
|
||||
"stillOfflineMessage": "我们仍然无法访问服务器。请仔细检查您的连接并重试。",
|
||||
"@stillOfflineMessage": {
|
||||
"description": "重试后连接未恢复时的状态消息"
|
||||
},
|
||||
"account": "账户",
|
||||
"supportConduit": "支持 Conduit",
|
||||
"supportConduitSubtitle": "通过资助持续开发来保持 Conduit 的独立性。",
|
||||
"githubSponsorsTitle": "GitHub 赞助",
|
||||
"githubSponsorsSubtitle": "成为定期赞助者以资助路线图项目。",
|
||||
"buyMeACoffeeTitle": "Buy Me a Coffee",
|
||||
"buyMeACoffeeSubtitle": "一次性捐赠以表达感谢。",
|
||||
"signOut": "退出登录",
|
||||
"endYourSession": "结束您的会话",
|
||||
"defaultModel": "默认模型",
|
||||
"autoSelect": "自动选择",
|
||||
"loadingModels": "加载模型中...",
|
||||
"failedToLoadModels": "无法加载模型",
|
||||
"availableModels": "可用模型",
|
||||
"noResults": "无结果",
|
||||
"searchModels": "搜索模型...",
|
||||
"errorMessage": "出了点问题。请重试。",
|
||||
"loginButton": "登录",
|
||||
"menuItem": "设置",
|
||||
"dynamicContentWithPlaceholder": "欢迎,{name}!",
|
||||
"itemsCount": "{count, plural, =0{无项目} other{{count} 个项目}}",
|
||||
"closeButtonSemantic": "关闭",
|
||||
"loadingContent": "加载内容中",
|
||||
"noItems": "无项目",
|
||||
"noItemsToDisplay": "无可显示的项目",
|
||||
"loadMore": "加载更多",
|
||||
"workspace": "工作区",
|
||||
"recentFiles": "最近文件",
|
||||
"knowledgeBase": "知识库",
|
||||
"noFilesYet": "尚无文件",
|
||||
"uploadDocsPrompt": "上传文档以在您与 Conduit 的对话中引用",
|
||||
"uploadFirstFile": "上传您的第一个文件",
|
||||
"attachments": "附件",
|
||||
"knowledgeBaseEmpty": "知识库为空",
|
||||
"createCollectionsPrompt": "创建相关文档集合以便于引用",
|
||||
"chooseSourcePhoto": "选择来源",
|
||||
"takePhoto": "拍照",
|
||||
"chooseFromGallery": "从相册中选择",
|
||||
"document": "文档",
|
||||
"documentHint": "PDF、Word 或文本文件",
|
||||
"uploadFileTitle": "上传文件",
|
||||
"fileUploadComingSoon": "{type} 的文件上传即将推出!",
|
||||
"kbCreationComingSoon": "知识库创建即将推出!",
|
||||
"backToServerSetup": "返回服务器设置",
|
||||
"connectedToServer": "已连接到服务器",
|
||||
"signIn": "登录",
|
||||
"enterCredentials": "输入您的凭据以访问您的 AI 对话",
|
||||
"credentials": "凭据",
|
||||
"apiKey": "API 密钥",
|
||||
"usernameOrEmail": "用户名或电子邮件",
|
||||
"password": "密码",
|
||||
"signInWithApiKey": "使用 API 密钥登录",
|
||||
"connectToServer": "连接到服务器",
|
||||
"enterServerAddress": "输入您的 Open-WebUI 服务器地址以开始",
|
||||
"serverUrl": "服务器 URL",
|
||||
"serverUrlHint": "https://your-server.com",
|
||||
"enterServerUrlSemantic": "输入您的服务器 URL 或 IP 地址",
|
||||
"headerName": "标头名称",
|
||||
"headerValue": "标头值",
|
||||
"headerValueHint": "api-key-123 或 Bearer token",
|
||||
"addHeader": "添加标头",
|
||||
"maximumHeadersReached": "已达到最大标头数",
|
||||
"removeHeader": "删除标头",
|
||||
"connecting": "连接中...",
|
||||
"connectToServerButton": "连接到服务器",
|
||||
"demoModeActive": "演示模式已激活",
|
||||
"skipServerSetupTryDemo": "跳过服务器设置并尝试演示",
|
||||
"enterDemo": "进入演示",
|
||||
"demoBadge": "演示",
|
||||
"serverNotOpenWebUI": "这似乎不是 Open-WebUI 服务器。",
|
||||
"serverUrlEmpty": "服务器 URL 不能为空",
|
||||
"invalidUrlFormat": "无效的 URL 格式。请检查您的输入。",
|
||||
"onlyHttpHttps": "仅支持 HTTP 和 HTTPS 协议。",
|
||||
"serverAddressRequired": "需要服务器地址(例如 192.168.1.10 或 example.com)。",
|
||||
"portRange": "端口必须在 1 到 65535 之间。",
|
||||
"invalidIpFormat": "无效的 IP 地址格式。使用如 192.168.1.10 的格式。",
|
||||
"couldNotConnectGeneric": "无法连接。请仔细检查地址并重试。",
|
||||
"weCouldntReachServer": "我们无法访问服务器。请检查您的连接和服务器是否正在运行。",
|
||||
"connectionTimedOut": "连接超时。服务器可能很忙或被防火墙阻止。",
|
||||
"useHttpOrHttpsOnly": "仅使用 http:// 或 https://。",
|
||||
"loginFailed": "登录失败",
|
||||
"invalidCredentials": "无效的用户名或密码。请重试。",
|
||||
"serverRedirectingHttps": "服务器正在重定向请求。请检查您的服务器的 HTTPS 配置。",
|
||||
"unableToConnectServer": "无法连接到服务器。请检查您的连接。",
|
||||
"requestTimedOut": "请求超时。请重试。",
|
||||
"genericSignInFailed": "我们无法让您登录。请检查您的凭据和服务器设置。",
|
||||
"skip": "跳过",
|
||||
"next": "下一步",
|
||||
"done": "完成",
|
||||
"onboardStartTitle": "你好,{username}",
|
||||
"onboardStartSubtitle": "选择一个模型以开始。随时点击新对话。",
|
||||
"onboardStartBullet1": "点击顶部栏中的模型名称以切换模型",
|
||||
"onboardStartBullet2": "使用新对话重置上下文",
|
||||
"onboardAttachTitle": "添加上下文",
|
||||
"onboardAttachSubtitle": "使用工作区或照片中的内容来支持回复。",
|
||||
"onboardAttachBullet1": "工作区:PDF、文档、数据集",
|
||||
"onboardAttachBullet2": "照片:相机或相册",
|
||||
"onboardSpeakTitle": "自然说话",
|
||||
"onboardSpeakSubtitle": "点击麦克风以实时波形反馈听写。",
|
||||
"onboardSpeakBullet1": "随时停止;部分文本会保留",
|
||||
"onboardSpeakBullet2": "非常适合快速笔记或长提示",
|
||||
"onboardQuickTitle": "快速操作",
|
||||
"onboardQuickSubtitle": "打开菜单在对话、工作区和个人资料之间切换。",
|
||||
"onboardQuickBullet1": "点击菜单访问对话、工作区、个人资料",
|
||||
"onboardQuickBullet2": "从顶部栏开始新对话或管理模型",
|
||||
"addAttachment": "添加附件",
|
||||
"attachmentLabel": "附件",
|
||||
"tools": "工具",
|
||||
"voiceInput": "语音输入",
|
||||
"voice": "语音",
|
||||
"voiceStatusListening": "正在听...",
|
||||
"voiceStatusRecording": "正在录制...",
|
||||
"voiceHoldToTalk": "按住说话",
|
||||
"voiceAutoSend": "自动发送",
|
||||
"voiceTranscript": "转录",
|
||||
"voicePromptSpeakNow": "现在说话...",
|
||||
"voicePromptTapStart": "点击开始以开始",
|
||||
"voiceActionStop": "停止",
|
||||
"voiceActionStart": "开始",
|
||||
"messageInputLabel": "消息输入",
|
||||
"messageInputHint": "输入您的消息",
|
||||
"messageHintText": "消息...",
|
||||
"stopGenerating": "停止生成",
|
||||
"codeCopiedToClipboard": "代码已复制到剪贴板。",
|
||||
"send": "发送",
|
||||
"sendMessage": "发送消息",
|
||||
"file": "文件",
|
||||
"photo": "照片",
|
||||
"camera": "相机",
|
||||
"apiUnavailable": "API 服务不可用",
|
||||
"unableToLoadImage": "无法加载图像",
|
||||
"notAnImageFile": "不是图像文件:{fileName}",
|
||||
"failedToLoadImage": "无法加载图像:{error}",
|
||||
"invalidDataUrl": "无效的数据 URL 格式",
|
||||
"failedToDecodeImage": "无法解码图像",
|
||||
"invalidImageFormat": "无效的图像格式",
|
||||
"emptyImageData": "空图像数据",
|
||||
"featureRequiresInternet": "此功能需要互联网连接",
|
||||
"messagesWillSendWhenOnline": "当您重新上线时将发送消息",
|
||||
"confirm": "确认",
|
||||
"cancel": "取消",
|
||||
"ok": "确定",
|
||||
"inputField": "输入字段",
|
||||
"captureDocumentOrImage": "捕获文档或图像",
|
||||
"checkConnection": "检查连接",
|
||||
"openSettings": "打开设置",
|
||||
"chooseDifferentFile": "选择其他文件",
|
||||
"goBack": "返回",
|
||||
"technicalDetails": "技术详情",
|
||||
"save": "保存",
|
||||
"chooseModel": "选择模型",
|
||||
"reviewerMode": "审核者模式",
|
||||
"selectLanguage": "选择语言",
|
||||
"newFolder": "新文件夹",
|
||||
"folderName": "文件夹名称",
|
||||
"newChat": "新对话",
|
||||
"more": "更多",
|
||||
"clear": "清除",
|
||||
"searchHint": "搜索...",
|
||||
"searchConversations": "搜索对话...",
|
||||
"create": "创建",
|
||||
"folderCreated": "文件夹已创建",
|
||||
"failedToCreateFolder": "无法创建文件夹",
|
||||
"movedChatToFolder": "已将「{title}」移至「{folder}」",
|
||||
"@movedChatToFolder": {
|
||||
"placeholders": {
|
||||
"title": {"type": "String"},
|
||||
"folder": {"type": "String"}
|
||||
}
|
||||
},
|
||||
"failedToMoveChat": "无法移动对话",
|
||||
"failedToLoadChats": "无法加载对话",
|
||||
"failedToUpdatePin": "无法更新置顶",
|
||||
"failedToDeleteChat": "无法删除对话",
|
||||
"manage": "管理",
|
||||
"rename": "重命名",
|
||||
"delete": "删除",
|
||||
"renameChat": "重命名对话",
|
||||
"enterChatName": "输入对话名称",
|
||||
"failedToRenameChat": "无法重命名对话",
|
||||
"failedToUpdateArchive": "无法更新存档",
|
||||
"unarchive": "取消存档",
|
||||
"archive": "存档",
|
||||
"pin": "置顶",
|
||||
"unpin": "取消置顶",
|
||||
"recent": "最近",
|
||||
"system": "系统",
|
||||
"english": "English",
|
||||
"deutsch": "Deutsch",
|
||||
"francais": "Français",
|
||||
"italiano": "Italiano",
|
||||
"deleteMessagesTitle": "删除消息",
|
||||
"deleteMessagesMessage": "删除 {count} 条消息?",
|
||||
"@deleteMessagesMessage": {
|
||||
"placeholders": {
|
||||
"count": {"type": "int"}
|
||||
}
|
||||
},
|
||||
"routeNotFound": "未找到路由:{routeName}",
|
||||
"@routeNotFound": {
|
||||
"placeholders": {
|
||||
"routeName": {"type": "String"}
|
||||
}
|
||||
},
|
||||
"deleteChatTitle": "删除对话",
|
||||
"deleteChatMessage": "此对话将被永久删除。",
|
||||
"deleteFolderTitle": "删除文件夹",
|
||||
"deleteFolderMessage": "此文件夹及其分配引用将被删除。",
|
||||
"failedToDeleteFolder": "无法删除文件夹",
|
||||
"aboutApp": "关于应用",
|
||||
"aboutAppSubtitle": "Conduit 信息和链接",
|
||||
"web": "网页",
|
||||
"imageGen": "图像生成",
|
||||
"pinned": "已置顶",
|
||||
"folders": "文件夹",
|
||||
"archived": "已存档",
|
||||
"appLanguage": "应用语言",
|
||||
"darkMode": "深色模式",
|
||||
"webSearch": "网页搜索",
|
||||
"webSearchDescription": "搜索网页并在回复中引用来源。",
|
||||
"imageGeneration": "图像生成",
|
||||
"imageGenerationDescription": "从您的提示创建图像。",
|
||||
"copy": "复制",
|
||||
"ttsListen": "收听",
|
||||
"ttsStop": "停止",
|
||||
"edit": "编辑",
|
||||
"regenerate": "重新生成",
|
||||
"noConversationsYet": "尚无对话",
|
||||
"usernameOrEmailHint": "输入您的用户名或电子邮件",
|
||||
"passwordHint": "输入您的密码",
|
||||
"enterApiKey": "输入您的 API 密钥",
|
||||
"signingIn": "正在登录...",
|
||||
"advancedSettings": "高级设置",
|
||||
"customHeaders": "自定义标头",
|
||||
"customHeadersDescription": "为身份验证、API 密钥或特殊服务器要求添加自定义 HTTP 标头。",
|
||||
"allowSelfSignedCertificates": "信任自签名证书",
|
||||
"@allowSelfSignedCertificates": {
|
||||
"description": "允许信任配置服务器的自签名 TLS 证书的切换标签。"
|
||||
},
|
||||
"allowSelfSignedCertificatesDescription": "接受此服务器的 TLS 证书,即使它是自签名的。仅对您信任的服务器启用。",
|
||||
"@allowSelfSignedCertificatesDescription": {
|
||||
"description": "阐明启用自签名证书切换风险的帮助文本。"
|
||||
},
|
||||
"headerNameEmpty": "标头名称不能为空",
|
||||
"headerNameTooLong": "标头名称太长(最多 64 个字符)",
|
||||
"headerNameInvalidChars": "无效的标头名称。仅使用字母、数字和这些符号:!#$&-^_`|~",
|
||||
"headerNameReserved": "无法覆盖保留的标头「{key}」",
|
||||
"@headerNameReserved": {"placeholders": {"key": {"type": "String"}}},
|
||||
"headerValueEmpty": "标头值不能为空",
|
||||
"headerValueTooLong": "标头值太长(最多 1024 个字符)",
|
||||
"headerValueInvalidChars": "标头值包含无效字符。仅使用可打印的 ASCII。",
|
||||
"headerValueUnsafe": "标头值似乎包含潜在的不安全内容",
|
||||
"headerAlreadyExists": "标头「{key}」已存在。首先删除它以更新。",
|
||||
"@headerAlreadyExists": {"placeholders": {"key": {"type": "String"}}},
|
||||
"maxHeadersReachedDetail": "最多允许 10 个自定义标头。删除一些以添加更多。",
|
||||
"editMessage": "编辑消息",
|
||||
"noModelsAvailable": "无可用模型",
|
||||
"followingSystem": "跟随系统:{theme}",
|
||||
"@followingSystem": {"placeholders": {"theme": {"type": "String"}}},
|
||||
"themeDark": "深色",
|
||||
"themePalette": "强调色调色板",
|
||||
"@themePalette": {"description": "选择应用颜色调色板的标题。"},
|
||||
"themePaletteDescription": "选择用于按钮、卡片和对话气泡的强调色。",
|
||||
"@themePaletteDescription": {"description": "解释调色板选择的帮助文本。"},
|
||||
"themeLight": "浅色",
|
||||
"currentlyUsingDarkTheme": "当前使用深色主题",
|
||||
"currentlyUsingLightTheme": "当前使用浅色主题",
|
||||
"aboutConduit": "关于 Conduit",
|
||||
"versionLabel": "版本:{version}({build})",
|
||||
"@versionLabel": {"placeholders": {"version": {"type": "String"}, "build": {"type": "String"}}},
|
||||
"githubRepository": "GitHub 仓库",
|
||||
"unableToLoadAppInfo": "无法加载应用信息",
|
||||
"thinking": "思考中...",
|
||||
"thoughts": "思路",
|
||||
"thoughtForDuration": "思考了 {duration}",
|
||||
"@thoughtForDuration": {
|
||||
"description": "显示助手在回复前思考了多长时间。",
|
||||
"placeholders": {"duration": {"type": "String", "example": "3s"}}
|
||||
},
|
||||
"appCustomization": "应用自定义",
|
||||
"appCustomizationSubtitle": "个性化名称和 UI 显示",
|
||||
"quickActionsDescription": "选择最多两个快捷方式以固定在撰写器附近",
|
||||
"chatSettings": "对话",
|
||||
"sendOnEnter": "回车发送",
|
||||
"sendOnEnterDescription": "回车发送(软键盘)。Cmd/Ctrl+Enter 也可用",
|
||||
"display": "显示",
|
||||
"realtime": "实时",
|
||||
"transportMode": "传输模式",
|
||||
"transportModeDescription": "选择应用如何连接以进行实时更新。",
|
||||
"mode": "模式",
|
||||
"transportModeAuto": "自动(轮询 + WebSocket)",
|
||||
"transportModeWs": "仅 WebSocket",
|
||||
"transportModeAutoInfo": "在限制性网络上更稳健。在可能的情况下升级到 WebSocket。",
|
||||
"transportModeWsInfo": "开销较低,但可能在严格的代理/防火墙后失败。"
|
||||
}
|
||||
Reference in New Issue
Block a user