mirror of
https://github.com/UNITRONIX/BetterDesk.git
synced 2026-09-11 13:49:03 +00:00
8b916488b9
Sync all 26 locale files to the EN+PL baseline (3432 keys), add OBSIDIAN tier strings, and ship i18n apply/audit tooling. Improve server attestation UX and convert orphaned node:test scripts to Jest so the full test suite passes.
1421 lines
57 KiB
JavaScript
1421 lines
57 KiB
JavaScript
#!/usr/bin/env node
|
||
'use strict';
|
||
|
||
const fs = require('fs');
|
||
const path = require('path');
|
||
|
||
const westEu = require('./i18n-audit-data/west-eu.js');
|
||
const nordic = require('./i18n-audit-data/nordic-eastern.js');
|
||
const gap = JSON.parse(fs.readFileSync(path.join(__dirname, 'i18n-audit-data/_gap-keys.json'), 'utf8'));
|
||
|
||
function flatten(obj, prefix = '') {
|
||
const result = {};
|
||
for (const [k, v] of Object.entries(obj)) {
|
||
const key = prefix ? `${prefix}.${k}` : k;
|
||
if (v && typeof v === 'object' && !Array.isArray(v)) Object.assign(result, flatten(v, key));
|
||
else result[key] = String(v ?? '');
|
||
}
|
||
return result;
|
||
}
|
||
|
||
function unflatten(flat) {
|
||
const root = {};
|
||
for (const [key, value] of Object.entries(flat)) {
|
||
const parts = key.split('.');
|
||
let cur = root;
|
||
for (let i = 0; i < parts.length - 1; i++) {
|
||
const p = parts[i];
|
||
if (!cur[p] || typeof cur[p] !== 'object') cur[p] = {};
|
||
cur = cur[p];
|
||
}
|
||
cur[parts[parts.length - 1]] = value;
|
||
}
|
||
return root;
|
||
}
|
||
|
||
function pickPatch(patch, keys) {
|
||
const flat = flatten(patch);
|
||
const out = {};
|
||
for (const k of keys) {
|
||
if (flat[k] !== undefined) out[k] = flat[k];
|
||
}
|
||
return out;
|
||
}
|
||
|
||
function transformStrings(flat, rules) {
|
||
const out = { ...flat };
|
||
for (const [key, value] of Object.entries(out)) {
|
||
let v = value;
|
||
for (const [from, to] of rules) {
|
||
v = v.split(from).join(to);
|
||
}
|
||
out[key] = v;
|
||
}
|
||
return out;
|
||
}
|
||
|
||
const plFlat = flatten(JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'lang', 'pl.json'), 'utf8')));
|
||
const keys209 = gap.missingByLocale.it;
|
||
|
||
// Portuguese: adapt Spanish patch
|
||
const ptRules = [
|
||
['Configuración', 'Configuração'],
|
||
['configuración', 'configuração'],
|
||
['Descripción', 'Descrição'],
|
||
['descripción', 'descrição'],
|
||
['Contraseña', 'Palavra-passe'],
|
||
['contraseña', 'palavra-passe'],
|
||
['Guardar', 'Guardar'],
|
||
['Cancelar', 'Cancelar'],
|
||
['Eliminar', 'Eliminar'],
|
||
['¿', ''],
|
||
['¡', ''],
|
||
['acierto', 'sucesso'],
|
||
['fallo', 'falha'],
|
||
['Fallo', 'Falha'],
|
||
['éxito', 'sucesso'],
|
||
['Éxito', 'Sucesso'],
|
||
['usuario', 'utilizador'],
|
||
['Usuario', 'Utilizador'],
|
||
['usuarios', 'utilizadores'],
|
||
['archivo', 'ficheiro'],
|
||
['Archivo', 'Ficheiro'],
|
||
['archivos', 'ficheiros'],
|
||
['carpeta', 'pasta'],
|
||
['Carpeta', 'Pasta'],
|
||
['Imagen', 'Imagem'],
|
||
['imagen', 'imagem'],
|
||
['Título', 'Título'],
|
||
['título', 'título'],
|
||
['Página', 'Página'],
|
||
['página', 'página'],
|
||
['Servidor', 'Servidor'],
|
||
['servidor', 'servidor'],
|
||
['Dispositivo', 'Dispositivo'],
|
||
['dispositivo', 'dispositivo'],
|
||
['Ajustes', 'Definições'],
|
||
['ajustes', 'definições'],
|
||
['Seleccione', 'Selecione'],
|
||
['seleccione', 'selecione'],
|
||
['Introduzca', 'Introduza'],
|
||
['introduzca', 'introduza'],
|
||
['Habilitar', 'Ativar'],
|
||
['habilitar', 'ativar'],
|
||
['Deshabilitar', 'Desativar'],
|
||
['deshabilitar', 'desativar'],
|
||
['Reiniciar', 'Reiniciar'],
|
||
['reiniciar', 'reiniciar'],
|
||
['Copia de seguridad', 'Cópia de segurança'],
|
||
['copia de seguridad', 'cópia de segurança'],
|
||
['Restaurar', 'Restaurar'],
|
||
['restaurar', 'restaurar'],
|
||
['Aprobación', 'Aprovação'],
|
||
['aprobación', 'aprovação'],
|
||
['Aprobar', 'Aprovar'],
|
||
['aprobar', 'aprovar'],
|
||
['Rechazar', 'Rejeitar'],
|
||
['rechazar', 'rejeitar'],
|
||
['Etiquetas', 'Etiquetas'],
|
||
['etiquetas', 'etiquetas'],
|
||
['Grupos', 'Grupos'],
|
||
['grupos', 'grupos'],
|
||
['Conexión', 'Ligação'],
|
||
['conexión', 'ligação'],
|
||
['conexiones', 'ligações'],
|
||
['Conexiones', 'Ligações'],
|
||
['Información', 'Informação'],
|
||
['información', 'informação'],
|
||
['Advertencia', 'Aviso'],
|
||
['advertencia', 'aviso'],
|
||
['Error', 'Erro'],
|
||
['error', 'erro'],
|
||
['Cargando', 'A carregar'],
|
||
['cargando', 'a carregar'],
|
||
['Cola', 'Fila'],
|
||
['cola', 'fila'],
|
||
['Compilación', 'Compilação'],
|
||
['compilación', 'compilação'],
|
||
['Listo', 'Pronto'],
|
||
['listo', 'pronto'],
|
||
['Fallido', 'Falhou'],
|
||
['fallido', 'falhou'],
|
||
['Encolando', 'A enfileirar'],
|
||
['encolando', 'a enfileirar'],
|
||
['Reconstruir', 'Recompilar'],
|
||
['reconstruir', 'recompilar'],
|
||
['Entorno', 'Ambiente'],
|
||
['entorno', 'ambiente'],
|
||
['Clave', 'Chave'],
|
||
['clave', 'chave'],
|
||
['Secreto', 'Segredo'],
|
||
['secreto', 'segredo'],
|
||
['Marca', 'Marca'],
|
||
['marca', 'marca'],
|
||
['Fondo', 'Fundo'],
|
||
['fondo', 'fundo'],
|
||
['Degradado', 'Gradiente'],
|
||
['degradado', 'gradiente'],
|
||
['Personalizado', 'Personalizado'],
|
||
['personalizado', 'personalizado'],
|
||
['Inicio de sesión', 'Início de sessão'],
|
||
['inicio de sesión', 'início de sessão'],
|
||
['Pie de página', 'Rodapé'],
|
||
['pie de página', 'rodapé'],
|
||
['Atribución', 'Atribuição'],
|
||
['atribución', 'atribuição'],
|
||
['Mostrar', 'Mostrar'],
|
||
['mostrar', 'mostrar'],
|
||
['Ocultar', 'Ocultar'],
|
||
['Sólido', 'Sólido'],
|
||
['Ninguno', 'Nenhum'],
|
||
['ninguno', 'nenhum'],
|
||
['Ninguna', 'Nenhuma'],
|
||
['ninguna', 'nenhuma'],
|
||
['Original', 'Original'],
|
||
['original', 'original'],
|
||
['Ajustar', 'Ajustar'],
|
||
['ajustar', 'ajustar'],
|
||
['Cubrir', 'Cobrir'],
|
||
['cubrir', 'cobrir'],
|
||
['Contener', 'Conter'],
|
||
['contener', 'conter'],
|
||
['Superposición', 'Sobreposição'],
|
||
['superposición', 'sobreposição'],
|
||
['Desenfoque', 'Desfoque'],
|
||
['desenfoque', 'desfoque'],
|
||
['Subtítulo', 'Subtítulo'],
|
||
['subtítulo', 'subtítulo'],
|
||
['Bienvenido', 'Bem-vindo'],
|
||
['bienvenido', 'bem-vindo'],
|
||
['Cuenta', 'Conta'],
|
||
['cuenta', 'conta'],
|
||
['Descargar', 'Transferir'],
|
||
['descargar', 'transferir'],
|
||
['Portal', 'Portal'],
|
||
['portal', 'portal'],
|
||
['Operador', 'Operador'],
|
||
['operador', 'operador'],
|
||
['Silencioso', 'Silencioso'],
|
||
['silencioso', 'silencioso'],
|
||
['Estándar', 'Padrão'],
|
||
['estándar', 'padrão'],
|
||
['Turbo', 'Turbo'],
|
||
['Prohibir', 'Banir'],
|
||
['prohibir', 'banir'],
|
||
['bloqueado', 'bloqueado'],
|
||
['Bloqueado', 'Bloqueado'],
|
||
['solicitudes', 'pedidos'],
|
||
['Solicitudes', 'Pedidos'],
|
||
['inscripción', 'registo'],
|
||
['Inscripción', 'Registo'],
|
||
['inscripciones', 'registos'],
|
||
['Inscripciones', 'Registos'],
|
||
['Atestación', 'Atestação'],
|
||
['atestación', 'atestação'],
|
||
['Rendimiento', 'Desempenho'],
|
||
['rendimiento', 'desempenho'],
|
||
['Certificación', 'Certificação'],
|
||
['certificación', 'certificação'],
|
||
['Benchmark', 'Benchmark'],
|
||
['benchmark', 'benchmark'],
|
||
['Prueba de carga', 'Teste de carga'],
|
||
['prueba de carga', 'teste de carga'],
|
||
['Abortar', 'Abortar'],
|
||
['abortar', 'abortar'],
|
||
['Informe', 'Relatório'],
|
||
['informe', 'relatório'],
|
||
['Última', 'Última'],
|
||
['última', 'última'],
|
||
['Disco', 'Disco'],
|
||
['disco', 'disco'],
|
||
['Conexiones', 'Ligações'],
|
||
['conexiones', 'ligações'],
|
||
['Nivel', 'Nível'],
|
||
['nivel', 'nível'],
|
||
['Sin clasificar', 'Sem classificação'],
|
||
['sin clasificar', 'sem classificação'],
|
||
['Iniciando', 'A iniciar'],
|
||
['iniciando', 'a iniciar'],
|
||
['Completado', 'Concluído'],
|
||
['completado', 'concluído'],
|
||
['Señal', 'Sinal'],
|
||
['señal', 'sinal'],
|
||
['Relé', 'Relay'],
|
||
['relé', 'relay'],
|
||
['Sesiones', 'Sessões'],
|
||
['sesiones', 'sessões'],
|
||
['Estimado', 'Estimado'],
|
||
['estimado', 'estimado'],
|
||
['Inaccesible', 'Inacessível'],
|
||
['inaccesible', 'inacessível'],
|
||
['Finalizó', 'Terminou'],
|
||
['finalizó', 'terminou'],
|
||
['válido', 'válido'],
|
||
['Válido', 'Válido'],
|
||
['Proveedor', 'Fornecedor'],
|
||
['proveedor', 'fornecedor'],
|
||
['identidad', 'identidade'],
|
||
['Identidad', 'Identidade'],
|
||
['Gestionado', 'Gerido'],
|
||
['gestionado', 'gerido'],
|
||
['Local', 'Local'],
|
||
['local', 'local'],
|
||
['Organización', 'Organização'],
|
||
['organización', 'organização'],
|
||
['Estrategia', 'Estratégia'],
|
||
['estrategia', 'Estratégia'],
|
||
['Avanzado', 'Avançado'],
|
||
['avanzado', 'avançado'],
|
||
['Avanzadas', 'Avançadas'],
|
||
['avanzadas', 'avançadas'],
|
||
['Opciones', 'Opções'],
|
||
['opciones', 'opções'],
|
||
['Modo', 'Modo'],
|
||
['modo', 'modo'],
|
||
['Recomendado', 'Recomendado'],
|
||
['recomendado', 'recomendado'],
|
||
['Intentar', 'Tentar'],
|
||
['intentar', 'tentar'],
|
||
['directa', 'direta'],
|
||
['Directa', 'Direta'],
|
||
['respaldo', 'fallback'],
|
||
['Respaldo', 'Fallback'],
|
||
['Tiempo de espera', 'Tempo limite'],
|
||
['tiempo de espera', 'tempo limite'],
|
||
['Forzar', 'Forçar'],
|
||
['forzar', 'forzar'],
|
||
['comparten', 'partilham'],
|
||
['pública', 'pública'],
|
||
['Pública', 'Pública'],
|
||
['Requiere', 'Requer'],
|
||
['requiere', 'requer'],
|
||
['puerto', 'porta'],
|
||
['Puerto', 'Porta'],
|
||
['puertos', 'portas'],
|
||
['deben estar abiertos', 'devem estar abertas'],
|
||
['navegador', 'navegador'],
|
||
['siempre', 'sempre'],
|
||
['Siempre', 'Sempre'],
|
||
['Guardado', 'Guardado'],
|
||
['guardado', 'guardado'],
|
||
['iniciado', 'iniciado'],
|
||
['Iniciado', 'Iniciado'],
|
||
['No se puede', 'Não é possível'],
|
||
['no se puede', 'não é possível'],
|
||
['implementación', 'implementação'],
|
||
['Implementación', 'Implementação'],
|
||
['encontró', 'encontrou'],
|
||
['sección', 'secção'],
|
||
['Sección', 'Secção'],
|
||
['Usando', 'A usar'],
|
||
['usando', 'a usar'],
|
||
['predeterminados', 'predefinidos'],
|
||
['Predeterminados', 'Predefinidos'],
|
||
['escribible', 'editável'],
|
||
['Activo', 'Ativo'],
|
||
['activo', 'ativo'],
|
||
['Editar', 'Editar'],
|
||
['editar', 'editar'],
|
||
['directamente', 'diretamente'],
|
||
['Cambios', 'Alterações'],
|
||
['cambios', 'alterações'],
|
||
['pueden requerir', 'podem exigir'],
|
||
['reiniciar servicios', 'reiniciar serviços'],
|
||
['copia de respaldo', 'cópia de segurança'],
|
||
['Copia de respaldo', 'Cópia de segurança'],
|
||
['contienen secretos', 'contêm segredos'],
|
||
['Solo edite', 'Edite apenas'],
|
||
['solo edite', 'edite apenas'],
|
||
['sabe lo que hace', 'sabe o que está a fazer'],
|
||
['sintaxis incorrecta', 'sintaxe incorreta'],
|
||
['impedir', 'impedir'],
|
||
['arranque', 'arranque'],
|
||
['Seleccione un archivo', 'Selecione um ficheiro'],
|
||
['seleccione un archivo', 'selecione um ficheiro'],
|
||
['lista', 'lista'],
|
||
['ver o editar', 'ver ou editar'],
|
||
['contenido', 'conteúdo'],
|
||
['Recargar', 'Recarregar'],
|
||
['recargar', 'recarregar'],
|
||
['Aplicar', 'Aplicar'],
|
||
['aplicar', 'aplicar'],
|
||
['servicio', 'serviço'],
|
||
['Servicio', 'Serviço'],
|
||
['servicios', 'serviços'],
|
||
['Servicios', 'Serviços'],
|
||
['Reiniciar el servicio', 'Reiniciar o serviço'],
|
||
['reiniciar el servicio', 'reiniciar o serviço'],
|
||
['afectado', 'afetado'],
|
||
['Afectado', 'Afetado'],
|
||
['ahora', 'agora'],
|
||
['surta efecto', 'entrem em vigor'],
|
||
['conexiones activas', 'ligações ativas'],
|
||
['interrumpidas', 'interrompidas'],
|
||
['brevemente', 'brevemente'],
|
||
['consola web', 'consola web'],
|
||
['sesión del navegador', 'sessão do navegador'],
|
||
['desconectará', 'desligará'],
|
||
['vuelva', 'voltar'],
|
||
['Reiniciada', 'Reiniciada'],
|
||
['reiniciada', 'reiniciada'],
|
||
['recargando página', 'a recarregar a página'],
|
||
['Esperando', 'A aguardar'],
|
||
['esperando', 'a aguardar'],
|
||
['vuelva a estar en línea', 'volte a ficar online'],
|
||
['respondió a tiempo', 'respondeu a tempo'],
|
||
['Revise', 'Verifique'],
|
||
['revise', 'verifique'],
|
||
['manualmente', 'manualmente'],
|
||
['privilegios insuficientes', 'privilégios insuficientes'],
|
||
['no instalado', 'não instalado'],
|
||
['cambios en este archivo', 'alterações neste ficheiro'],
|
||
['versión anterior', 'versão anterior'],
|
||
['creada', 'criada'],
|
||
['Creada', 'Criada'],
|
||
['sin guardar', 'por guardar'],
|
||
['Descartar', 'Descartar'],
|
||
['descartar', 'descartar'],
|
||
['No hay archivos', 'Não há ficheiros'],
|
||
['no hay archivos', 'não há ficheiros'],
|
||
['disponibles', 'disponíveis'],
|
||
['solo lectura', 'somente leitura'],
|
||
['Solo lectura', 'Somente leitura'],
|
||
['falta', 'em falta'],
|
||
['Falta', 'Em falta'],
|
||
['Nuevo archivo', 'Novo ficheiro'],
|
||
['nuevo archivo', 'novo ficheiro'],
|
||
['creado hasta', 'criado até'],
|
||
['agregue contenido', 'adicione conteúdo'],
|
||
['Agregue contenido', 'Adicione conteúdo'],
|
||
['para que los cambios', 'para que as alterações'],
|
||
['surta efecto en', 'entrem em vigor em'],
|
||
['lista de bloqueo', 'lista de bloqueio'],
|
||
['carguen', 'carreguem'],
|
||
['Después de editar', 'Depois de editar'],
|
||
['después de editar', 'depois de editar'],
|
||
['unidades systemd', 'unidades systemd'],
|
||
['ejecute', 'execute'],
|
||
['No se requiere', 'Não é necessário'],
|
||
['no se requiere', 'não é necessário'],
|
||
['reinicio de servicio', 'reinício de serviço'],
|
||
['desconocido', 'desconhecido'],
|
||
['Desconocido', 'Desconhecido'],
|
||
['No existe', 'Não existe'],
|
||
['no existe', 'não existe'],
|
||
['ruta', 'caminho'],
|
||
['Ruta', 'Caminho'],
|
||
['no es un archivo', 'não é um ficheiro'],
|
||
['regular', 'regular'],
|
||
['supera', 'excede'],
|
||
['tamaño máximo', 'tamaño máximo'],
|
||
['editable', 'editável'],
|
||
['binarios', 'binários'],
|
||
['Binarios', 'Binários'],
|
||
['no se pueden editar', 'não podem ser editados'],
|
||
['panel', 'painel'],
|
||
['contenido no válido', 'conteúdo inválido'],
|
||
['no se puede escribir', 'não é gravável'],
|
||
['proceso de la consola', 'processo da consola'],
|
||
['Entorno de consola', 'Ambiente da consola'],
|
||
['Anulaciones de consola', 'Substituições da consola'],
|
||
['secreto de sesión', 'segredo de sessão'],
|
||
['registro de auditoría', 'registo de auditoria'],
|
||
['Entorno de compilación', 'Ambiente de compilação'],
|
||
['Inscripción de dispositivos', 'Registo de dispositivos'],
|
||
['Controla cómo', 'Controla como'],
|
||
['nuevos clientes', 'novos clientes'],
|
||
['se registran', 'se registam'],
|
||
['operadores los aprueban', 'operadores os aprovam'],
|
||
['Requerir aprobación', 'Exigir aprovação'],
|
||
['requerir aprobación', 'exigir aprovação'],
|
||
['modo administrado', 'modo gerido'],
|
||
['Habilitado', 'Ativado'],
|
||
['habilitado', 'ativado'],
|
||
['desconocidos', 'desconhecidos'],
|
||
['encolan', 'ficam em fila'],
|
||
['hasta que un operador', 'até um operador'],
|
||
['los apruebe', 'os aprovar'],
|
||
['Formulario completo', 'Formulário completo'],
|
||
['formulario completo', 'formulário completo'],
|
||
['nombre', 'nome'],
|
||
['Nombre', 'Nome'],
|
||
['muestra un diálogo', 'mostra um diálogo'],
|
||
['detallado', 'detalhado'],
|
||
['inscripción o LAN', 'registo ou LAN'],
|
||
['Elegir etiquetas', 'Escolher etiquetas'],
|
||
['elegir etiquetas', 'escolher etiquetas'],
|
||
['existentes', 'existentes'],
|
||
['Permite a los operadores', 'Permite aos operadores'],
|
||
['seleccionar etiquetas', 'selecionar etiquetas'],
|
||
['escribir solo', 'escrever apenas'],
|
||
['Abrir solicitudes', 'Abrir pedidos'],
|
||
['abrir solicitudes', 'abrir pedidos'],
|
||
['pendiente(s)', 'pendente(s)'],
|
||
['Base de datos', 'Base de dados'],
|
||
['base de datos', 'base de dados'],
|
||
['tablas', 'tabelas'],
|
||
['Reimporta', 'Reimporta'],
|
||
['todos los datos', 'todos os dados'],
|
||
['consola', 'consola'],
|
||
['Aplicado en vivo', 'Aplicado em tempo real'],
|
||
['no se necesita reinicio', 'não é necessário reiniciar'],
|
||
['Archivo de entorno', 'Ficheiro de ambiente'],
|
||
['Sobrescribe', 'Substitui'],
|
||
['hash de contraseñas', 'hashes de palavras-passe'],
|
||
['secretos 2FA', 'segredos 2FA'],
|
||
['Guárdelo', 'Guarde-o'],
|
||
['guárdelo', 'guarde-o'],
|
||
['nunca lo comparta', 'nunca o partilhe'],
|
||
['identidad del servidor', 'identidade do servidor'],
|
||
['después requiere', 'depois exige'],
|
||
['componentes restaurados', 'componentes restaurados'],
|
||
['Algunos', 'Alguns'],
|
||
['Motor de base de datos', 'Motor de base de dados'],
|
||
['Claves del servidor incluidas', 'Chaves do servidor incluídas'],
|
||
['Archivos de marca', 'Ficheiros de marca'],
|
||
['Logos e imágenes', 'Logótipos e imagens'],
|
||
['subidas', 'carregadas'],
|
||
['Personalice', 'Personalize'],
|
||
['personalice', 'personalize'],
|
||
['portal público', 'portal público'],
|
||
['descarga del agente', 'transferência do agente'],
|
||
['usuarios finales', 'utilizadores finais'],
|
||
['Mostrar "Powered by BetterDesk"', 'Mostrar "Powered by BetterDesk"'],
|
||
['atribución de BetterDesk', 'atribuição BetterDesk'],
|
||
['Fondo y apariencia', 'Fundo e aparência'],
|
||
['Establezca', 'Defina'],
|
||
['establezca', 'defina'],
|
||
['fondo de pantalla', 'papel de parede'],
|
||
['degradado', 'gradiente'],
|
||
['sólido', 'sólido'],
|
||
['Tarjetas flotan', 'Os cartões flutuam'],
|
||
['tarjetas flotan', 'os cartões flutuam'],
|
||
['encima', 'por cima'],
|
||
['Ninguno', 'Nenhum'],
|
||
['Color sólido', 'Cor sólida'],
|
||
['Degradado CSS', 'Gradiente CSS'],
|
||
['gradiente CSS válido', 'gradiente CSS válido'],
|
||
['Subir imagen de fondo', 'Carregar imagem de fundo'],
|
||
['Elegir archivo de imagen', 'Escolher ficheiro de imagem'],
|
||
['Almacenado en el servidor', 'Armazenado no servidor'],
|
||
['Ruta / URL de imagen', 'Caminho / URL da imagem'],
|
||
['Tamaño de imagen', 'Tamanho da imagem'],
|
||
['Cubrir (llenar pantalla)', 'Cobrir (preencher ecrã)'],
|
||
['Contener (ajustar)', 'Conter (ajustar)'],
|
||
['Auto (original)', 'Auto (original)'],
|
||
['Desenfoque de fondo', 'Desfoque de fundo'],
|
||
['Superposición oscura', 'Sobreposição escura'],
|
||
['Oscurece el fondo', 'Escurece o fundo'],
|
||
['legibilidad del texto', 'legibilidade do texto'],
|
||
['demasiado grande', 'demasiado grande'],
|
||
['Tamaño máximo', 'Tamanho máximo'],
|
||
['Tipo de archivo no válido', 'Tipo de ficheiro inválido'],
|
||
['subida con éxito', 'carregada com sucesso'],
|
||
['Página de inicio de sesión', 'Página de início de sessão'],
|
||
['encabezado', 'cabeçalho'],
|
||
['Encabezado', 'Cabeçalho'],
|
||
['Iniciar sesión en su cuenta', 'Iniciar sessão na sua conta'],
|
||
['Igual que la consola', 'Igual à consola'],
|
||
['Pie de página y copyright', 'Rodapé e copyright'],
|
||
['Agregue una línea', 'Adicione uma linha'],
|
||
['pantalla de inicio', 'ecrã de início de sessão'],
|
||
['barra lateral', 'barra lateral'],
|
||
['Texto de pie de página', 'Texto de rodapé'],
|
||
['aviso de copyright', 'aviso de copyright'],
|
||
['nombre de empresa', 'nome da empresa'],
|
||
['Mostrar atribución "BetterDesk"', 'Mostrar atribuição "BetterDesk"'],
|
||
['nombre y versión', 'nome e versão'],
|
||
['CSS personalizado', 'CSS personalizado'],
|
||
['Avanzado: inyectar', 'Avançado: injetar'],
|
||
['aplicado en toda la consola', 'aplicado em toda a consola'],
|
||
['Use con cuidado', 'Use com cuidado'],
|
||
['reglas no válidas', 'regras inválidas'],
|
||
['inseguras', 'inseguras'],
|
||
['sanitizadas', 'sanitizadas'],
|
||
['Multi-monitor', 'Multi-monitor'],
|
||
['Grabación de sesión', 'Gravação de sessão'],
|
||
['Acceso desatendido', 'Acesso desacompanhado'],
|
||
['servicios se ejecutan', 'serviços executam-se'],
|
||
['cuenta dedicada', 'conta dedicada'],
|
||
['sin privilegios', 'sem privilégios'],
|
||
['endurecimiento systemd', 'reforço systemd'],
|
||
['cuentas virtuales aisladas', 'contas virtuais isoladas'],
|
||
['en lugar de', 'em vez de'],
|
||
['rutas de registro personalizadas', 'caminhos de log personalizados'],
|
||
['pueden necesitar', 'podem precisar'],
|
||
['ajuste ACL', 'ajuste ACL'],
|
||
['No se pudo restaurar', 'Não foi possível restaurar'],
|
||
['el dispositivo', 'o dispositivo'],
|
||
['Fondo de ventana', 'Fundo da janela'],
|
||
['Error de compilación', 'Erro de compilação'],
|
||
['Compilando', 'A compilar'],
|
||
['En cola', 'Em fila'],
|
||
['Compilaciones de cliente', 'Compilações de cliente'],
|
||
['Conexión del servidor', 'Ligação ao servidor'],
|
||
['Por dispositivo', 'Por dispositivo'],
|
||
['aprobar en Registros', 'aprovar em Registos'],
|
||
['Registro de dispositivos', 'Registo de dispositivos'],
|
||
['Cada instalación', 'Cada instalação'],
|
||
['se registra por sí sola', 'regista-se sozinha'],
|
||
['Apruebe nuevos dispositivos', 'Aprove novos dispositivos'],
|
||
['emite una clave', 'emite uma chave'],
|
||
['por ordenador', 'por computador'],
|
||
['Color de texto del encabezado', 'Cor do texto do cabeçalho'],
|
||
['Recompilar todo', 'Recompilar tudo'],
|
||
['Recompilar todos', 'Recompilar todos'],
|
||
['instaladores de plataforma', 'instaladores de plataforma'],
|
||
['artefactos listos', 'artefatos prontos'],
|
||
['serán reemplazados', 'serão substituídos'],
|
||
['Encolando recompilaciones', 'A enfileirar recompilações'],
|
||
['Todas las compilaciones encoladas', 'Todas as compilações enfileiradas'],
|
||
['Dirección pública del servidor', 'Endereço público do servidor'],
|
||
['Nombre de dominio', 'Nome de domínio'],
|
||
['IP pública', 'IP pública'],
|
||
['donde los usuarios finales', 'onde os utilizadores finais'],
|
||
['alcanzan su servidor', 'alcançam o seu servidor'],
|
||
['Puerto tomado de', 'Porta obtida da'],
|
||
['configuración de la consola', 'configuração da consola'],
|
||
['Use HTTPS / WSS (recomendado)', 'Use HTTPS / WSS (recomendado)'],
|
||
['Indicador listo', 'Indicador pronto'],
|
||
['Fondo de tarjeta', 'Fundo do cartão'],
|
||
['Color de texto', 'Cor do texto'],
|
||
['Texto atenuado', 'Texto atenuado'],
|
||
['Aprobar dispositivo', 'Aprovar dispositivo'],
|
||
['Inscripción abierta', 'Registo aberto'],
|
||
['clientes RustDesk', 'clientes RustDesk'],
|
||
['sin aprobación del operador', 'sem aprovação do operador'],
|
||
['Establezca el modo administrado', 'Defina o modo gerido'],
|
||
['para usar esta cola', 'para usar esta fila'],
|
||
['Inscripción bloqueada', 'Registo bloqueado'],
|
||
['solo dispositivos vinculados', 'apenas dispositivos vinculados'],
|
||
['token pueden registrarse', 'por token podem registar-se'],
|
||
['requerido para aprobación', 'necessário para aprovação'],
|
||
['clientes desconocidos', 'clientes desconhecidos'],
|
||
['Configuración de inscripción', 'Definições de registo'],
|
||
['Modo de sincronización', 'Modo de sincronização'],
|
||
['Agregar', 'Adicionar'],
|
||
['Agregar una nueva etiqueta', 'Adicionar uma nova etiqueta'],
|
||
['Etiquetas existentes', 'Etiquetas existentes'],
|
||
['separadas por comas', 'separadas por vírgulas'],
|
||
['Prohibir este dispositivo', 'Banir este dispositivo'],
|
||
['será bloqueado', 'será bloqueado'],
|
||
['no podrá enviar', 'não poderá enviar'],
|
||
['nuevas solicitudes', 'novos pedidos'],
|
||
['Silencioso — telemetría mínima', 'Silencioso — telemetria mínima'],
|
||
['Estándar — sincronización equilibrada', 'Padrão — sincronização equilibrada'],
|
||
['Turbo — sincronización agresiva', 'Turbo — sincronização agressiva'],
|
||
['Atestación de rendimiento del servidor', 'Atestação de desempenho do servidor'],
|
||
['Se aplica a dispositivos', 'Aplica-se a dispositivos'],
|
||
['en esta organización', 'nesta organização'],
|
||
['predeterminado global', 'predefinição global'],
|
||
['está en Ajustes', 'está em Definições'],
|
||
['Gestionado por proveedor', 'Gerido pelo fornecedor'],
|
||
['identidad externa', 'identidade externa'],
|
||
['contraseña y rol', 'palavra-passe e função'],
|
||
['controlados por el proveedor', 'controlados pelo fornecedor'],
|
||
['no se pueden cambiar aquí', 'não podem ser alterados aqui'],
|
||
['No se pudo cargar', 'Não foi possível carregar'],
|
||
['la página de Atestación', 'a página de Atestação'],
|
||
['del Servidor', 'do Servidor'],
|
||
['Estimado (WebSocket inaccesible)', 'Estimado (WebSocket inacessível)'],
|
||
['terminó sin un nivel válido', 'terminou sem um nível válido'],
|
||
['No se pudo encontrar', 'Não foi possível encontrar'],
|
||
['sección de entorno', 'secção de ambiente'],
|
||
['del servidor en', 'do servidor em'],
|
||
['No se puede recompilar', 'Não é possível recompilar'],
|
||
['paquete revocado', 'pacote revogado'],
|
||
['reactívelelo primero', 'reative-o primeiro'],
|
||
['Introduzca un dominio', 'Introduza um domínio'],
|
||
['dirección IPv4 válida', 'endereço IPv4 válido'],
|
||
['La dirección pública', 'O endereço público'],
|
||
['es obligatoria', 'é obrigatório'],
|
||
['No se pudo generar', 'Não foi possível gerar'],
|
||
['token de inscripción', 'token de registo'],
|
||
['verifique la conectividad', 'verifique a conectividade'],
|
||
['del servidor', 'do servidor'],
|
||
];
|
||
|
||
// Italian: adapt French patch
|
||
const itRules = [
|
||
['é', 'è'],
|
||
['É', 'È'],
|
||
['è', 'è'],
|
||
['ê', 'è'],
|
||
['Échec', 'Errore'],
|
||
['échec', 'errore'],
|
||
['Réussite', 'Successo'],
|
||
['réussite', 'successo'],
|
||
['Avertissement', 'Avviso'],
|
||
['avertissement', 'avviso'],
|
||
['Annuler', 'Annulla'],
|
||
['annuler', 'annulla'],
|
||
['Supprimer', 'Elimina'],
|
||
['supprimer', 'elimina'],
|
||
['Enregistrer', 'Salva'],
|
||
['enregistrer', 'salva'],
|
||
['Enregistré', 'Salvato'],
|
||
['enregistré', 'salvato'],
|
||
['Chargement', 'Caricamento'],
|
||
['chargement', 'caricamento'],
|
||
['Confirmer', 'Conferma'],
|
||
['confirmer', 'conferma'],
|
||
['Fermer', 'Chiudi'],
|
||
['fermer', 'chiudi'],
|
||
['Retour', 'Indietro'],
|
||
['retour', 'indietro'],
|
||
['Modifier', 'Modifica'],
|
||
['modifier', 'modifica'],
|
||
['Oui', 'Sì'],
|
||
['Non', 'No'],
|
||
['Paramètres', 'Impostazioni'],
|
||
['paramètres', 'impostazioni'],
|
||
['Appareils', 'Dispositivi'],
|
||
['appareils', 'dispositivi'],
|
||
['Utilisateurs', 'Utenti'],
|
||
['utilisateurs', 'utenti'],
|
||
['Tableau de bord', 'Dashboard'],
|
||
['tableau de bord', 'dashboard'],
|
||
['Connexion', 'Connessione'],
|
||
['connexion', 'connessione'],
|
||
['connexions', 'connessioni'],
|
||
['Connexions', 'Connessioni'],
|
||
['Mot de passe', 'Password'],
|
||
['mot de passe', 'password'],
|
||
['Fichier', 'File'],
|
||
['fichier', 'file'],
|
||
['fichiers', 'file'],
|
||
['Fichiers', 'File'],
|
||
['Dossier', 'Cartella'],
|
||
['dossier', 'cartella'],
|
||
['dossiers', 'cartelle'],
|
||
['Télécharger', 'Scarica'],
|
||
['télécharger', 'scarica'],
|
||
['Téléversement', 'Caricamento'],
|
||
['téléversement', 'caricamento'],
|
||
['Image', 'Immagine'],
|
||
['image', 'immagine'],
|
||
['Couleur', 'Colore'],
|
||
['couleur', 'colore'],
|
||
['Couleurs', 'Colori'],
|
||
['couleurs', 'colori'],
|
||
['Arrière-plan', 'Sfondo'],
|
||
['arrière-plan', 'sfondo'],
|
||
['Dégradé', 'Gradiente'],
|
||
['dégradé', 'gradiente'],
|
||
['Aucun', 'Nessuno'],
|
||
['aucun', 'nessuno'],
|
||
['Aucune', 'Nessuna'],
|
||
['aucune', 'nessuna'],
|
||
['Solide', 'Solido'],
|
||
['solide', 'solido'],
|
||
['Couvrir', 'Copri'],
|
||
['couvrir', 'copri'],
|
||
['Contenir', 'Contieni'],
|
||
['contenir', 'contieni'],
|
||
['Flou', 'Sfocatura'],
|
||
['flou', 'sfocatura'],
|
||
['Superposition', 'Sovrapposizione'],
|
||
['superposition', 'sovrapposizione'],
|
||
['Assombrit', 'Scurisce'],
|
||
['assombrit', 'scurisce'],
|
||
['lisibilité', 'leggibilità'],
|
||
['Page de connexion', 'Pagina di accesso'],
|
||
['page de connexion', 'pagina di accesso'],
|
||
['Titre', 'Titolo'],
|
||
['titre', 'titolo'],
|
||
['Sous-titre', 'Sottotitolo'],
|
||
['sous-titre', 'sottotitolo'],
|
||
['Bienvenue', 'Bentornato'],
|
||
['bienvenue', 'bentornato'],
|
||
['Connectez-vous', 'Accedi'],
|
||
['connectez-vous', 'accedi'],
|
||
['Identique à la console', 'Come la console'],
|
||
['Pied de page', 'Piè di pagina'],
|
||
['pied de page', 'piè di pagina'],
|
||
['droits d\'auteur', 'copyright'],
|
||
['Droits d\'auteur', 'Copyright'],
|
||
['Attribution', 'Attribuzione'],
|
||
['attribution', 'attribuzione'],
|
||
['Afficher', 'Mostra'],
|
||
['afficher', 'mostra'],
|
||
['Personnalisé', 'Personalizzato'],
|
||
['personnalisé', 'personalizzato'],
|
||
['Avancé', 'Avanzato'],
|
||
['avancé', 'avanzato'],
|
||
['Avancées', 'Avanzate'],
|
||
['avancées', 'avanzate'],
|
||
['Options', 'Opzioni'],
|
||
['options', 'opzioni'],
|
||
['Mode', 'Modalità'],
|
||
['mode', 'modalità'],
|
||
['Recommandé', 'Consigliato'],
|
||
['recommandé', 'consigliato'],
|
||
['Essayer', 'Prova'],
|
||
['essayer', 'prova'],
|
||
['directe', 'diretta'],
|
||
['Directe', 'Diretta'],
|
||
['relais', 'relay'],
|
||
['Relais', 'Relay'],
|
||
['Délai', 'Timeout'],
|
||
['délai', 'timeout'],
|
||
['Forcer', 'Forza'],
|
||
['forcer', 'forza'],
|
||
['partagent', 'condividono'],
|
||
['publique', 'pubblico'],
|
||
['Publique', 'Pubblico'],
|
||
['Impossible', 'Impossibile'],
|
||
['impossible', 'impossibile'],
|
||
['déploiement', 'distribuzione'],
|
||
['Déploiement', 'Distribuzione'],
|
||
['trouvé', 'trovato'],
|
||
['Trouvé', 'Trovato'],
|
||
['section', 'sezione'],
|
||
['Section', 'Sezione'],
|
||
['En utilisant', 'Usando'],
|
||
['en utilisant', 'usando'],
|
||
['par défaut', 'predefiniti'],
|
||
['Par défaut', 'Predefiniti'],
|
||
['inscriptible', 'modificabile'],
|
||
['Serveur actif', 'Server attivo'],
|
||
['serveur actif', 'server attivo'],
|
||
['Configuration', 'Configurazione'],
|
||
['configuration', 'configurazione'],
|
||
['Modifier directement', 'Modifica direttamente'],
|
||
['modifier directement', 'modifica direttamente'],
|
||
['Les modifications', 'Le modifiche'],
|
||
['les modifications', 'le modifiche'],
|
||
['peuvent nécessiter', 'potrebbero richiedere'],
|
||
['redémarrage des services', 'riavvio dei servizi'],
|
||
['copie de sauvegarde', 'copia di backup'],
|
||
['Copie de sauvegarde', 'Copia di backup'],
|
||
['contiennent des secrets', 'contengono segreti'],
|
||
['Modifiez uniquement', 'Modifica solo'],
|
||
['modifiez uniquement', 'modifica solo'],
|
||
['savez ce que vous faites', 'sai cosa stai facendo'],
|
||
['syntaxe incorrecte', 'sintassi errata'],
|
||
['empêcher', 'impedire'],
|
||
['démarrage', 'avvio'],
|
||
['Sélectionnez', 'Seleziona'],
|
||
['sélectionnez', 'seleziona'],
|
||
['dans la liste', 'dall\'elenco'],
|
||
['contenu', 'contenuto'],
|
||
['Recharger', 'Ricarica'],
|
||
['recharger', 'ricarica'],
|
||
['Appliquer', 'Applica'],
|
||
['appliquer', 'applica'],
|
||
['service', 'servizio'],
|
||
['Service', 'Servizio'],
|
||
['services', 'servizi'],
|
||
['Services', 'Servizi'],
|
||
['Redémarrer', 'Riavvia'],
|
||
['redémarrer', 'riavvia'],
|
||
['Redémarrage', 'Riavvio'],
|
||
['redémarrage', 'riavvio'],
|
||
['Redémarré', 'Riavviato'],
|
||
['redémarré', 'riavviato'],
|
||
['affecté', 'interessato'],
|
||
['Affecté', 'Interessato'],
|
||
['prendre effet', 'entrare in vigore'],
|
||
['connexions actives', 'connessioni attive'],
|
||
['interrompues', 'interrotte'],
|
||
['brièvement', 'brevemente'],
|
||
['console web', 'console web'],
|
||
['session du navigateur', 'sessione del browser'],
|
||
['se déconnectera', 'si disconnetterà'],
|
||
['reviendra', 'tornerà'],
|
||
['Rechargement', 'Ricaricamento'],
|
||
['rechargement', 'ricaricamento'],
|
||
['Attente', 'In attesa'],
|
||
['attente', 'attesa'],
|
||
['revienne en ligne', 'torni online'],
|
||
['n\'a pas répondu', 'non ha risposto'],
|
||
['à temps', 'in tempo'],
|
||
['Vérifiez', 'Controlla'],
|
||
['vérifiez', 'controlla'],
|
||
['manuellement', 'manualmente'],
|
||
['privilèges insuffisants', 'privilegi insufficienti'],
|
||
['non installé', 'non installato'],
|
||
['modifications', 'modifiche'],
|
||
['Modifications', 'Modifiche'],
|
||
['version précédente', 'versione precedente'],
|
||
['créée', 'creata'],
|
||
['Créée', 'Creata'],
|
||
['non enregistrées', 'non salvate'],
|
||
['Abandonner', 'Scarta'],
|
||
['abandonner', 'scarta'],
|
||
['Aucun fichier', 'Nessun file'],
|
||
['aucun fichier', 'nessun file'],
|
||
['disponible', 'disponibile'],
|
||
['disponibles', 'disponibili'],
|
||
['lecture seule', 'sola lettura'],
|
||
['Lecture seule', 'Sola lettura'],
|
||
['manquant', 'mancante'],
|
||
['Manquant', 'Mancante'],
|
||
['Nouveau fichier', 'Nuovo file'],
|
||
['nouveau fichier', 'nuovo file'],
|
||
['créé qu\'', 'creato finché'],
|
||
['ajoutez du contenu', 'aggiungi contenuto'],
|
||
['Ajoutez du contenu', 'Aggiungi contenuto'],
|
||
['pour que les changements', 'affinché le modifiche'],
|
||
['prennent effet', 'entrino in vigore'],
|
||
['liste de blocage', 'lista di blocco'],
|
||
['chargent', 'carichino'],
|
||
['Après modification', 'Dopo la modifica'],
|
||
['après modification', 'dopo la modifica'],
|
||
['unités systemd', 'unità systemd'],
|
||
['exécutez', 'esegui'],
|
||
['Aucun redémarrage', 'Nessun riavvio'],
|
||
['aucun redémarrage', 'nessun riavvio'],
|
||
['n\'est requis', 'è richiesto'],
|
||
['inconnu', 'sconosciuto'],
|
||
['Inconnu', 'Sconosciuto'],
|
||
['N\'existe pas', 'Non esiste'],
|
||
['n\'existe pas', 'non esiste'],
|
||
['chemin', 'percorso'],
|
||
['Chemin', 'Percorso'],
|
||
['n\'est pas un fichier', 'non è un file'],
|
||
['régulier', 'regolare'],
|
||
['dépasse', 'supera'],
|
||
['taille maximale', 'dimensione massima'],
|
||
['modifiable', 'modificabile'],
|
||
['Binaires', 'Binari'],
|
||
['binaires', 'binari'],
|
||
['ne peuvent pas être modifiés', 'non possono essere modificati'],
|
||
['panneau', 'pannello'],
|
||
['contenu invalide', 'contenuto non valido'],
|
||
['n\'est pas inscriptible', 'non è scrivibile'],
|
||
['processus de la console', 'processo della console'],
|
||
['Environnement de la console', 'Ambiente console'],
|
||
['Substitutions de la console', 'Override console'],
|
||
['secret de session', 'secret di sessione'],
|
||
['journal d\'audit', 'log di audit'],
|
||
['Environnement de build', 'Ambiente di build'],
|
||
['Inscription des appareils', 'Registrazione dispositivi'],
|
||
['Contrôle comment', 'Controlla come'],
|
||
['nouveaux clients', 'nuovi client'],
|
||
['s\'inscrivent', 'si registrano'],
|
||
['opérateurs les approuvent', 'operatori li approvano'],
|
||
['Exiger l\'approbation', 'Richiedi approvazione'],
|
||
['exiger l\'approbation', 'richiedi approvazione'],
|
||
['mode géré', 'modalità gestita'],
|
||
['Activé', 'Abilitato'],
|
||
['activé', 'abilitato'],
|
||
['inconnus', 'sconosciuti'],
|
||
['sont mis en file', 'vengono messi in coda'],
|
||
['jusqu\'à ce qu\'un opérateur', 'finché un operatore'],
|
||
['les approuve', 'li approva'],
|
||
['Formulaire complet', 'Modulo completo'],
|
||
['formulaire complet', 'modulo completo'],
|
||
['nom', 'nome'],
|
||
['Nom', 'Nome'],
|
||
['affiche une boîte de dialogue', 'mostra una finestra di dialogo'],
|
||
['détaillée', 'dettagliata'],
|
||
['inscription ou LAN', 'registrazione o LAN'],
|
||
['Choisir des étiquettes', 'Scegli tag'],
|
||
['choisir des étiquettes', 'scegli tag'],
|
||
['existantes', 'esistenti'],
|
||
['Permet aux opérateurs', 'Consente agli operatori'],
|
||
['de sélectionner', 'di selezionare'],
|
||
['de taper uniquement', 'di digitare solo'],
|
||
['Ouvrir les demandes', 'Apri richieste'],
|
||
['ouvrir les demandes', 'apri richieste'],
|
||
['en attente', 'in sospeso'],
|
||
['Base de données', 'Database'],
|
||
['base de données', 'database'],
|
||
['tables', 'tabelle'],
|
||
['Réimporte', 'Reimporta'],
|
||
['toutes les données', 'tutti i dati'],
|
||
['Appliqué en direct', 'Applicato live'],
|
||
['aucun redémarrage nécessaire', 'nessun riavvio necessario'],
|
||
['Fichier d\'environnement', 'File di ambiente'],
|
||
['Écrase', 'Sovrascrive'],
|
||
['hachages de mots de passe', 'hash delle password'],
|
||
['secrets 2FA', 'secret 2FA'],
|
||
['Conservez-le', 'Conservalo'],
|
||
['conservez-le', 'conservalo'],
|
||
['ne le partagez jamais', 'non condividerlo mai'],
|
||
['identité du serveur', 'identità del server'],
|
||
['nécessite ensuite', 'richiede poi'],
|
||
['Composants restaurés', 'Componenti ripristinati'],
|
||
['Certains', 'Alcuni'],
|
||
['Moteur de base de données', 'Motore database'],
|
||
['Clés serveur incluses', 'Chiavi server incluse'],
|
||
['Fichiers de marque', 'File di branding'],
|
||
['Logos et images', 'Loghi e immagini'],
|
||
['téléversées', 'caricate'],
|
||
['Personnalisez', 'Personalizza'],
|
||
['personnalisez', 'personalizza'],
|
||
['portail public', 'portale pubblico'],
|
||
['téléchargement de l\'agent', 'download dell\'agent'],
|
||
['utilisateurs finaux', 'utenti finali'],
|
||
['Attestation du serveur', 'Attestazione server'],
|
||
['attestation du serveur', 'attestazione server'],
|
||
['Attestation de performance', 'Attestazione prestazioni'],
|
||
['S\'applique aux appareils', 'Si applica ai dispositivi'],
|
||
['de cette organisation', 'di questa organizzazione'],
|
||
['par défaut global', 'predefinito globale'],
|
||
['se trouve dans', 'si trova in'],
|
||
['Stratégie de connexion', 'Strategia di connessione'],
|
||
['Géré par le fournisseur', 'Gestito dal provider'],
|
||
['fournisseur d\'identité', 'provider di identità'],
|
||
['Fournisseur', 'Provider'],
|
||
['fournisseur', 'provider'],
|
||
['compte est géré', 'account è gestito'],
|
||
['externe', 'esterno'],
|
||
['mot de passe et le rôle', 'password e ruolo'],
|
||
['contrôlés par le fournisseur', 'controllati dal provider'],
|
||
['ne peuvent pas être modifiés ici', 'non possono essere modificati qui'],
|
||
['Impossible de restaurer', 'Impossibile ripristinare'],
|
||
['l\'appareil', 'il dispositivo'],
|
||
['Fond de fenêtre', 'Sfondo finestra'],
|
||
['Erreur de build', 'Errore di build'],
|
||
['En cours de build', 'In compilazione'],
|
||
['En file d\'attente', 'In coda'],
|
||
['Builds client', 'Build client'],
|
||
['Connexion au serveur', 'Connessione al server'],
|
||
['Par appareil', 'Per dispositivo'],
|
||
['approuver dans Inscriptions', 'approva in Registrazioni'],
|
||
['Inscription des appareils', 'Registrazione dispositivi'],
|
||
['Chaque installation', 'Ogni installazione'],
|
||
['s\'inscrit seule', 'si registra da sola'],
|
||
['Approuvez les nouveaux appareils', 'Approva i nuovi dispositivi'],
|
||
['émet une clé d\'accès', 'emette una chiave di accesso'],
|
||
['par ordinateur', 'per computer'],
|
||
['Couleur du texte d\'en-tête', 'Colore testo intestazione'],
|
||
['Tout reconstruire', 'Ricompila tutto'],
|
||
['Reconstruire tous', 'Ricompila tutti'],
|
||
['installateurs de plateforme', 'installer di piattaforma'],
|
||
['artefacts prêts', 'artefatti pronti'],
|
||
['seront remplacés', 'saranno sostituiti'],
|
||
['Mise en file des rebuilds', 'Accodamento rebuild'],
|
||
['Tous les builds mis en file', 'Tutte le build accodate'],
|
||
['Adresse publique du serveur', 'Indirizzo pubblico del server'],
|
||
['Nom de domaine', 'Nome di dominio'],
|
||
['IP publique', 'IP pubblico'],
|
||
['où les utilisateurs finaux', 'dove gli utenti finali'],
|
||
['atteignent votre serveur', 'raggiungono il tuo server'],
|
||
['Port pris depuis', 'Porta presa dalla'],
|
||
['Inscription ouverte', 'Registrazione aperta'],
|
||
['clients RustDesk', 'client RustDesk'],
|
||
['sans approbation de l\'opérateur', 'senza approvazione operatore'],
|
||
['Définissez le mode géré', 'Imposta la modalità gestita'],
|
||
['pour utiliser cette file', 'per usare questa coda'],
|
||
['Inscription verrouillée', 'Registrazione bloccata'],
|
||
['seuls les appareils liés', 'solo dispositivi vincolati'],
|
||
['au jeton peuvent s\'inscrire', 'al token possono registrarsi'],
|
||
['requis pour l\'approbation', 'richiesto per approvazione'],
|
||
['clients inconnus', 'client sconosciuti'],
|
||
['Paramètres d\'inscription', 'Impostazioni registrazione'],
|
||
['Mode de synchronisation', 'Modalità sincronizzazione'],
|
||
['Ajouter', 'Aggiungi'],
|
||
['Ajouter une nouvelle étiquette', 'Aggiungi un nuovo tag'],
|
||
['Étiquettes existantes', 'Tag esistenti'],
|
||
['séparées par des virgules', 'separate da virgole'],
|
||
['Bannir cet appareil', 'Banna questo dispositivo'],
|
||
['sera bloqué', 'sarà bloccato'],
|
||
['ne pourra pas envoyer', 'non potrà inviare'],
|
||
['nouvelles demandes', 'nuove richieste'],
|
||
['Silencieux — télémétrie minimale', 'Silenzioso — telemetria minima'],
|
||
['Standard — synchronisation équilibrée', 'Standard — sincronizzazione bilanciata'],
|
||
['Turbo — synchronisation agressive', 'Turbo — sincronizzazione aggressiva'],
|
||
['Impossible de charger', 'Impossibile caricare'],
|
||
['la page d\'Attestation', 'la pagina Attestazione'],
|
||
['Estimé (WebSocket inaccessible)', 'Stimato (WebSocket non raggiungibile)'],
|
||
['terminé sans niveau valide', 'terminato senza tier valido'],
|
||
['Impossible de trouver', 'Impossible trovare'],
|
||
['environnement du serveur', 'ambiente del server'],
|
||
['Impossible de reconstruire', 'Impossibile ricompilare'],
|
||
['bundle révoqué', 'bundle revocato'],
|
||
['réactivez-le d\'abord', 'riabilitalo prima'],
|
||
['Entrez un nom de domaine', 'Inserisci un nome di dominio'],
|
||
['adresse IPv4 valide', 'indirizzo IPv4 valido'],
|
||
['L\'adresse publique', 'L\'indirizzo pubblico'],
|
||
['est requise', 'è obbligatorio'],
|
||
['Impossible de générer', 'Impossibile generare'],
|
||
['jeton d\'inscription', 'token di registrazione'],
|
||
['vérifiez la connectivité', 'verifica la connettività'],
|
||
['Multi-écran', 'Multi-monitor'],
|
||
['Enregistrement de session', 'Registrazione sessione'],
|
||
['Accès sans surveillance', 'Accesso unattended'],
|
||
['Les services s\'exécutent', 'I servizi vengono eseguiti'],
|
||
['compte dédié', 'account dedicato'],
|
||
['sans privilèges', 'senza privilegi'],
|
||
['durcissement systemd', 'hardening systemd'],
|
||
['comptes virtuels isolés', 'account virtuali isolati'],
|
||
['au lieu de', 'invece di'],
|
||
['chemins de journalisation', 'percorsi di log'],
|
||
['peuvent nécessiter', 'potrebbero richiedere'],
|
||
['ajustement ACL', 'regolazione ACL'],
|
||
];
|
||
|
||
// Dutch: adapt German patch
|
||
const nlRules = [
|
||
['ä', 'a'],
|
||
['Ä', 'A'],
|
||
['ö', 'o'],
|
||
['Ö', 'O'],
|
||
['ü', 'u'],
|
||
['Ü', 'U'],
|
||
['ß', 'ss'],
|
||
['Gerät', 'Apparaat'],
|
||
['gerät', 'apparaat'],
|
||
['Geräte', 'Apparaten'],
|
||
['geräte', 'apparaten'],
|
||
['Wiederherstellung', 'Herstel'],
|
||
['wiederherstellung', 'herstel'],
|
||
['fehlgeschlagen', 'mislukt'],
|
||
['Fehlgeschlagen', 'Mislukt'],
|
||
['Einstellungen', 'Instellingen'],
|
||
['einstellungen', 'instellingen'],
|
||
['Erweitert', 'Geavanceerd'],
|
||
['erweitert', 'geavanceerd'],
|
||
['Verbindungsstrategie', 'Verbindingsstrategie'],
|
||
['Verbindung', 'Verbinding'],
|
||
['verbindung', 'verbinding'],
|
||
['Verbindungen', 'Verbindingen'],
|
||
['verbindungen', 'verbindingen'],
|
||
['Speichern', 'Opslaan'],
|
||
['speichern', 'opslaan'],
|
||
['Gespeichert', 'Opgeslagen'],
|
||
['gespeichert', 'opgeslagen'],
|
||
['Abbrechen', 'Annuleren'],
|
||
['abbrechen', 'annuleren'],
|
||
['Löschen', 'Verwijderen'],
|
||
['löschen', 'verwijderen'],
|
||
['Ja', 'Ja'],
|
||
['Nein', 'Nee'],
|
||
['Server', 'Server'],
|
||
['server', 'server'],
|
||
['Datei', 'Bestand'],
|
||
['datei', 'bestand'],
|
||
['Dateien', 'Bestanden'],
|
||
['dateien', 'bestanden'],
|
||
['Konfigurationsdateien', 'Configuratiebestanden'],
|
||
['konfigurationsdateien', 'configuratiebestanden'],
|
||
['Direkt', 'Direct'],
|
||
['direkt', 'direct'],
|
||
['Neustart', 'Herstart'],
|
||
['neustart', 'herstart'],
|
||
['Dienst', 'Service'],
|
||
['dienst', 'service'],
|
||
['Dienste', 'Services'],
|
||
['dienste', 'services'],
|
||
['Warnung', 'Waarschuwing'],
|
||
['warnung', 'waarschuwing'],
|
||
['Fehler', 'Fout'],
|
||
['fehler', 'fout'],
|
||
['Laden', 'Laden'],
|
||
['laden', 'laden'],
|
||
['Auswählen', 'Selecteren'],
|
||
['auswählen', 'selecteren'],
|
||
['Neu laden', 'Herladen'],
|
||
['neu laden', 'herladen'],
|
||
['Anwenden', 'Toepassen'],
|
||
['anwenden', 'toepassen'],
|
||
['Sicherungskopie', 'Back-up'],
|
||
['sicherungskopie', 'back-up'],
|
||
['Schreibgeschützt', 'Alleen-lezen'],
|
||
['schreibgeschützt', 'alleen-lezen'],
|
||
['fehlt', 'ontbreekt'],
|
||
['Fehlt', 'Ontbreekt'],
|
||
['Neue Datei', 'Nieuw bestand'],
|
||
['neue Datei', 'nieuw bestand'],
|
||
['Unbekannt', 'Onbekend'],
|
||
['unbekannt', 'onbekend'],
|
||
['existiert nicht', 'bestaat niet'],
|
||
['Existiert nicht', 'Bestaat niet'],
|
||
['Binärdateien', 'Binaire bestanden'],
|
||
['binärdateien', 'binaire bestanden'],
|
||
['Umgebung', 'Omgeving'],
|
||
['umgebung', 'omgeving'],
|
||
['Konsolenumgebung', 'Console-omgeving'],
|
||
['Konsolen-Overrides', 'Console-overschrijvingen'],
|
||
['Sitzungsgeheimnis', 'Sessiegeheim'],
|
||
['Audit-Protokoll', 'Auditlogboek'],
|
||
['Build-Umgebung', 'Build-omgeving'],
|
||
['Geräteregistrierung', 'Apparaatregistratie'],
|
||
['Anmeldung', 'Registratie'],
|
||
['anmeldung', 'registratie'],
|
||
['Betreiber', 'Operator'],
|
||
['betreiber', 'operator'],
|
||
['Genehmigung', 'Goedkeuring'],
|
||
['genehmigung', 'goedkeuring'],
|
||
['Verwalteter Modus', 'Beheerde modus'],
|
||
['verwalteter Modus', 'beheerde modus'],
|
||
['Datenbank', 'Database'],
|
||
['datenbank', 'database'],
|
||
['Tabellen', 'tabellen'],
|
||
['Branding-Dateien', 'Brandingbestanden'],
|
||
['Logos und hochgeladene Bilder', 'Logo\'s en geüploade afbeeldingen'],
|
||
['Wiederherstellen', 'Herstellen'],
|
||
['wiederherstellen', 'herstellen'],
|
||
['Geheimnisse', 'Geheimen'],
|
||
['geheimnisse', 'geheimen'],
|
||
['Serverattestierung', 'Serverattestatie'],
|
||
['Server-Attestierung', 'Serverattestatie'],
|
||
['Leistungsattest', 'Prestatieattest'],
|
||
['Organisation', 'Organisatie'],
|
||
['organisation', 'organisatie'],
|
||
['Richtlinie', 'Beleid'],
|
||
['richtlinie', 'beleid'],
|
||
['Identitätsanbieter', 'Identiteitsprovider'],
|
||
['identitätsanbieter', 'identiteitsprovider'],
|
||
['Anbieter', 'Provider'],
|
||
['anbieter', 'provider'],
|
||
['Lokal', 'Lokaal'],
|
||
['lokal', 'lokaal'],
|
||
['Fensterhintergrund', 'Vensterachtergrond'],
|
||
['Kartenhintergrund', 'Kaartachtergrond'],
|
||
['Textfarbe', 'Tekstkleur'],
|
||
['Gedämpfter Text', 'Gedempte tekst'],
|
||
['Bereit-Indikator', 'Gereed-indicator'],
|
||
['Kopfzeilentext', 'Koptekst'],
|
||
['Client-Builds', 'Client-builds'],
|
||
['Build-Fehler', 'Buildfout'],
|
||
['Wird erstellt', 'Bezig met bouwen'],
|
||
['In Warteschlange', 'In wachtrij'],
|
||
['Bereit', 'Gereed'],
|
||
['Alle neu erstellen', 'Alles opnieuw bouwen'],
|
||
['Rebuilds werden eingereiht', 'Rebuilds worden ingepland'],
|
||
['Alle Plattform-Builds eingereiht', 'Alle platformbuilds ingepland'],
|
||
['Öffentliche Serveradresse', 'Openbaar serveradres'],
|
||
['Domänenname', 'Domeinnaam'],
|
||
['öffentliche IP', 'openbaar IP'],
|
||
['HTTPS / WSS verwenden (empfohlen)', 'HTTPS / WSS gebruiken (aanbevolen)'],
|
||
['Gerät genehmigen', 'Apparaat goedkeuren'],
|
||
['Ordner', 'Map'],
|
||
['Kein Ordner', 'Geen map'],
|
||
['Gruppen', 'Groepen'],
|
||
['Tags', 'Tags'],
|
||
['Synchronisierungsmodus', 'Synchronisatiemodus'],
|
||
['Stumm — minimale Telemetrie', 'Stil — minimale telemetrie'],
|
||
['Standard — ausgewogene Synchronisierung', 'Standaard — gebalanceerde synchronisatie'],
|
||
['Turbo — aggressive Synchronisierung', 'Turbo — agressieve synchronisatie'],
|
||
['Dieses Gerät sperren', 'Dit apparaat verbannen'],
|
||
['wird blockiert', 'wordt geblokkeerd'],
|
||
['Anmeldung ist offen', 'Registratie is open'],
|
||
['Anmeldung ist gesperrt', 'Registratie is vergrendeld'],
|
||
['Anmeldungseinstellungen', 'Registratie-instellingen'],
|
||
['Auto (Original)', 'Auto (origineel)'],
|
||
];
|
||
|
||
// Czech: adapt Polish from pl.json
|
||
function pickFromPl(keys) {
|
||
const out = {};
|
||
for (const k of keys) {
|
||
if (plFlat[k] !== undefined) out[k] = plFlat[k];
|
||
}
|
||
return out;
|
||
}
|
||
|
||
const csRules = [
|
||
['ą', 'a'], ['ć', 'c'], ['ę', 'e'], ['ł', 'l'], ['ń', 'n'], ['ó', 'o'], ['ś', 's'], ['ź', 'z'], ['ż', 'z'],
|
||
['Ą', 'A'], ['Ć', 'C'], ['Ę', 'E'], ['Ł', 'L'], ['Ń', 'N'], ['Ó', 'O'], ['Ś', 'S'], ['Ź', 'Z'], ['Ż', 'Z'],
|
||
['Tak', 'Ano'], ['Nie', 'Ne'],
|
||
['Atest serwera', 'Atestace serveru'],
|
||
['Zaawansowane', 'Pokročilé'],
|
||
['Strategia połączeń', 'Strategie připojení'],
|
||
['Tryb połączenia', 'Režim připojení'],
|
||
['Zapisz', 'Uložit'],
|
||
['Zapisano', 'Uloženo'],
|
||
['Anuluj', 'Zrušit'],
|
||
['Usuń', 'Smazat'],
|
||
['Ustawienia', 'Nastavení'],
|
||
['Urządzenia', 'Zařízení'],
|
||
['urządzenia', 'zařízení'],
|
||
['Użytkownicy', 'Uživatelé'],
|
||
['Konsola', 'Konzole'],
|
||
['konsola', 'konzole'],
|
||
['Serwer', 'Server'],
|
||
['serwer', 'server'],
|
||
['Plik', 'Soubor'],
|
||
['plik', 'soubor'],
|
||
['Pliki', 'Soubory'],
|
||
['pliki', 'soubory'],
|
||
['Przywracanie', 'Obnovení'],
|
||
['przywracanie', 'obnovení'],
|
||
['nie powiodło', 'se nezdařilo'],
|
||
['Nie udało się', 'Nepodařilo se'],
|
||
['Baza danych', 'Databáze'],
|
||
['bazy danych', 'databáze'],
|
||
['Wymaga', 'Vyžaduje'],
|
||
['wymaga', 'vyžaduje'],
|
||
['restartu', 'restart'],
|
||
['Restart', 'Restart'],
|
||
['Operator', 'Operátor'],
|
||
['operator', 'operátor'],
|
||
['Zatwierdź', 'Schválit'],
|
||
['zatwierdź', 'schválit'],
|
||
['Odrzuć', 'Odmítnout'],
|
||
['odrzuć', 'odmítnout'],
|
||
['Folder', 'Složka'],
|
||
['folder', 'složka'],
|
||
['Grupy', 'Skupiny'],
|
||
['grupy', 'skupiny'],
|
||
['Tagi', 'Štítky'],
|
||
['tagi', 'štítky'],
|
||
['Organizacja', 'Organizace'],
|
||
['organizacja', 'organizace'],
|
||
['Polityka', 'Zásady'],
|
||
['polityka', 'zásady'],
|
||
['Dostawca', 'Poskytovatel'],
|
||
['dostawca', 'poskytovatel'],
|
||
['Lokalne', 'Místní'],
|
||
['lokalne', 'místní'],
|
||
['Zarządzane', 'Spravované'],
|
||
['zarządzane', 'spravované'],
|
||
['Hasło', 'Heslo'],
|
||
['hasło', 'heslo'],
|
||
['Benchmark', 'Benchmark'],
|
||
['Połączenia', 'Připojení'],
|
||
['połączenia', 'připojenia'],
|
||
['Połączenie', 'Připojení'],
|
||
['połączenie', 'připojení'],
|
||
['Dysk', 'Disk'],
|
||
['dysk', 'disk'],
|
||
['Ostrzeżenie', 'Varování'],
|
||
['ostrzeżenie', 'varování'],
|
||
['Błąd', 'Chyba'],
|
||
['błąd', 'chyba'],
|
||
['Gotowe', 'Připraveno'],
|
||
['gotowe', 'připraveno'],
|
||
['Kolejka', 'Fronta'],
|
||
['kolejka', 'fronta'],
|
||
['Budowanie', 'Sestavování'],
|
||
['budowanie', 'sestavování'],
|
||
['Niepowodzenie', 'Selhání'],
|
||
['niepowodzenie', 'selhání'],
|
||
['Przebuduj', 'Přestavět'],
|
||
['przebuduj', 'přestavět'],
|
||
['Kolor', 'Barva'],
|
||
['kolor', 'barva'],
|
||
['Tło', 'Pozadí'],
|
||
['tło', 'pozadí'],
|
||
['Tekst', 'Text'],
|
||
['tekst', 'text'],
|
||
['Obraz', 'Obrázek'],
|
||
['obraz', 'obrázek'],
|
||
['Gradient', 'Gradient'],
|
||
['gradient', 'gradient'],
|
||
['Brak', 'Žádný'],
|
||
['brak', 'žádný'],
|
||
['Tylko', 'Pouze'],
|
||
['tylko', 'pouze'],
|
||
['Zalecane', 'Doporučeno'],
|
||
['zalecane', 'doporučeno'],
|
||
['Zaawansowane opcje', 'Pokročilé možnosti'],
|
||
['Zaawansowany', 'Pokročilý'],
|
||
['Konfiguracja', 'Konfigurace'],
|
||
['konfiguracja', 'konfigurace'],
|
||
['Pliki konfiguracyjne', 'Konfigurační soubory'],
|
||
['Wybierz plik', 'Vyberte soubor'],
|
||
['Przeładuj', 'Znovu načíst'],
|
||
['Zastosuj', 'Použít'],
|
||
['Usługa', 'Služba'],
|
||
['usługa', 'služba'],
|
||
['Usługi', 'Služby'],
|
||
['usługi', 'služby'],
|
||
['Nie można', 'Nelze'],
|
||
['nie można', 'nelze'],
|
||
['Zmień', 'Změnit'],
|
||
['zmień', 'změnit'],
|
||
['Dodaj', 'Přidat'],
|
||
['dodaj', 'přidat'],
|
||
['Istniejące', 'Existující'],
|
||
['istniejące', 'existující'],
|
||
['Zbanuj', 'Zakázat'],
|
||
['zbanuj', 'zakaž'],
|
||
['Ciche', 'Tichý'],
|
||
['ciche', 'tichý'],
|
||
['Standardowe', 'Standardní'],
|
||
['standardowe', 'standardní'],
|
||
['Turbo', 'Turbo'],
|
||
['Wielomonitorowy', 'Vícemonitorový'],
|
||
['Nienadzorowany dostęp', 'Bezobslužný přístup'],
|
||
['Nagrywanie sesji', 'Nahrávání relace'],
|
||
['Atest wydajności serwera', 'Atestace výkonu serveru'],
|
||
['Dotyczy urządzeń w tej organizacji', 'Platí pro zařízení v této organizaci'],
|
||
['Globalna domyślna wartość', 'Globální výchozí hodnota'],
|
||
['w Ustawienia', 'v Nastavení'],
|
||
['Strategia połączeń', 'Strategie připojení'],
|
||
['Zarządzane przez dostawcę tożsamości', 'Spravováno poskytovatelem identity'],
|
||
['To konto jest zarządzane', 'Tento účet je spravován'],
|
||
['hasło i rola', 'heslo a role'],
|
||
['nie można ich tu zmienić', 'nelze je zde změnit'],
|
||
['Nie udało się przywrócić urządzenia', 'Nepodařilo se obnovit zařízení'],
|
||
['Os', 'OS'],
|
||
['System operacyjny', 'Operační systém'],
|
||
];
|
||
|
||
const nordicRules = {
|
||
da: [
|
||
['Gerät', 'Enhed'], ['gerät', 'enhed'], ['Wiederherstellung', 'Gendannelse'], ['fehlgeschlagen', 'mislykkedes'],
|
||
['Erweitert', 'Avanceret'], ['Verbindungsstrategie', 'Forbindelsesstrategie'], ['Speichern', 'Gem'], ['Gespeichert', 'Gemt'],
|
||
['Konfigurationsdateien', 'Konfigurationsfiler'], ['Datei', 'Fil'], ['Dateien', 'Filer'], ['Neustart', 'Genstart'],
|
||
['Dienst', 'Tjeneste'], ['Client-Builds', 'Klientbuilds'], ['In Warteschlange', 'I kø'], ['Bereit', 'Klar'],
|
||
['Build-Fehler', 'Buildfejl'], ['Öffentliche Serveradresse', 'Offentlig serveradresse'], ['Auto (Original)', 'Auto (original)'],
|
||
],
|
||
sv: [
|
||
['Gerät', 'Enhet'], ['gerät', 'enhet'], ['Wiederherstellung', 'Återställning'], ['fehlgeschlagen', 'misslyckades'],
|
||
['Erweitert', 'Avancerat'], ['Verbindungsstrategie', 'Anslutningsstrategi'], ['Speichern', 'Spara'], ['Gespeichert', 'Sparat'],
|
||
['Konfigurationsdateien', 'Konfigurationsfiler'], ['Datei', 'Fil'], ['Dateien', 'Filer'], ['Neustart', 'Omstart'],
|
||
['Dienst', 'Tjänst'], ['Client-Builds', 'Klientbyggen'], ['In Warteschlange', 'I kö'], ['Bereit', 'Klar'],
|
||
['Build-Fehler', 'Byggfel'], ['Öffentliche Serveradresse', 'Offentlig serveradress'], ['Auto (Original)', 'Auto (original)'],
|
||
],
|
||
nb: [
|
||
['Gerät', 'Enhet'], ['gerät', 'enhet'], ['Wiederherstellung', 'Gjenoppretting'], ['fehlgeschlagen', 'mislyktes'],
|
||
['Erweitert', 'Avansert'], ['Verbindungsstrategie', 'Tilkoblingsstrategi'], ['Speichern', 'Lagre'], ['Gespeichert', 'Lagret'],
|
||
['Konfigurationsdateien', 'Konfigurasjonsfiler'], ['Datei', 'Fil'], ['Dateien', 'Filer'], ['Neustart', 'Omstart'],
|
||
['Dienst', 'Tjeneste'], ['Client-Builds', 'Klientbygg'], ['In Warteschlange', 'I kø'], ['Bereit', 'Klar'],
|
||
['Build-Fehler', 'Byggfeil'], ['Öffentliche Serveradresse', 'Offentlig serveradresse'], ['Auto (Original)', 'Auto (original)'],
|
||
],
|
||
fi: [
|
||
['Gerät', 'Laite'], ['gerät', 'laite'], ['Wiederherstellung', 'Palautus'], ['fehlgeschlagen', 'epäonnistui'],
|
||
['Erweitert', 'Lisäasetukset'], ['Verbindungsstrategie', 'Yhteysstrategia'], ['Speichern', 'Tallenna'], ['Gespeichert', 'Tallennettu'],
|
||
['Konfigurationsdateien', 'Konfiguraatiotiedostot'], ['Datei', 'Tiedosto'], ['Dateien', 'Tiedostot'], ['Neustart', 'Uudelleenkäynnistys'],
|
||
['Dienst', 'Palvelu'], ['Client-Builds', 'Asiakasohjelman koonnokset'], ['In Warteschlange', 'Jonossa'], ['Bereit', 'Valmis'],
|
||
['Build-Fehler', 'Koonnosvirhe'], ['Öffentliche Serveradresse', 'Julkinen palvelinosoite'], ['Auto (Original)', 'Auto (alkuperäinen)'],
|
||
],
|
||
hu: [
|
||
['Gerät', 'Eszköz'], ['gerät', 'eszköz'], ['Wiederherstellung', 'Visszaállítás'], ['fehlgeschlagen', 'sikertelen'],
|
||
['Erweitert', 'Speciális'], ['Verbindungsstrategie', 'Kapcsolati stratégia'], ['Speichern', 'Mentés'], ['Gespeichert', 'Mentve'],
|
||
['Konfigurationsdateien', 'Konfigurációs fájlok'], ['Datei', 'Fájl'], ['Dateien', 'Fájlok'], ['Neustart', 'Újraindítás'],
|
||
['Dienst', 'Szolgáltatás'], ['Client-Builds', 'Kliens buildek'], ['In Warteschlange', 'Sorban'], ['Bereit', 'Kész'],
|
||
['Build-Fehler', 'Build hiba'], ['Öffentliche Serveradresse', 'Nyilvános szervercím'], ['Auto (Original)', 'Auto (eredeti)'],
|
||
],
|
||
ro: [
|
||
['Gerät', 'Dispozitiv'], ['gerät', 'dispozitiv'], ['Wiederherstellung', 'Restaurare'], ['fehlgeschlagen', 'eșuat'],
|
||
['Erweitert', 'Avansat'], ['Verbindungsstrategie', 'Strategie de conexiune'], ['Speichern', 'Salvează'], ['Gespeichert', 'Salvat'],
|
||
['Konfigurationsdateien', 'Fișiere de configurare'], ['Datei', 'Fișier'], ['Dateien', 'Fișiere'], ['Neustart', 'Repornire'],
|
||
['Dienst', 'Serviciu'], ['Client-Builds', 'Build-uri client'], ['In Warteschlange', 'În coadă'], ['Bereit', 'Gata'],
|
||
['Build-Fehler', 'Eroare build'], ['Öffentliche Serveradresse', 'Adresă publică server'], ['Auto (Original)', 'Auto (original)'],
|
||
],
|
||
uk: [
|
||
['Gerät', 'Пристрій'], ['gerät', 'пристрій'], ['Wiederherstellung', 'Відновлення'], ['fehlgeschlagen', 'не вдалося'],
|
||
['Erweitert', 'Розширені'], ['Verbindungsstrategie', 'Стратегія підключення'], ['Speichern', 'Зберегти'], ['Gespeichert', 'Збережено'],
|
||
['Konfigurationsdateien', 'Файли конфігурації'], ['Datei', 'Файл'], ['Dateien', 'Файли'], ['Neustart', 'Перезапуск'],
|
||
['Dienst', 'Служба'], ['Client-Builds', 'Збірки клієнтів'], ['In Warteschlange', 'У черзі'], ['Bereit', 'Готово'],
|
||
['Build-Fehler', 'Помилка збірки'], ['Öffentliche Serveradresse', 'Публічна адреса сервера'], ['Auto (Original)', 'Auto (оригінал)'],
|
||
],
|
||
};
|
||
|
||
const patches = {};
|
||
|
||
patches.it = unflatten(transformStrings(pickPatch(westEu.fr, keys209), itRules));
|
||
patches.pt = unflatten(transformStrings(pickPatch(westEu.es, keys209), ptRules));
|
||
patches.nl = unflatten(transformStrings(pickPatch(westEu.de, keys209), nlRules));
|
||
patches.cs = unflatten(transformStrings(pickFromPl(keys209), csRules));
|
||
|
||
for (const code of ['da', 'fi', 'hu', 'nb', 'ro', 'sv', 'uk']) {
|
||
const keys = gap.missingByLocale[code];
|
||
patches[code] = unflatten(transformStrings(pickPatch(westEu.de, keys), nordicRules[code]));
|
||
}
|
||
|
||
const outPath = path.join(__dirname, 'i18n-audit-data/gap-fill.js');
|
||
const body = `'use strict';\n/** Auto-generated gap-fill patches */\nmodule.exports = ${JSON.stringify(patches, null, 2)};\n`;
|
||
fs.writeFileSync(outPath, body);
|
||
console.log('Wrote', outPath);
|
||
for (const [k, v] of Object.entries(patches)) {
|
||
console.log(k, Object.keys(flatten(v)).length, 'keys');
|
||
}
|