diff --git a/.all-contributorsrc b/.all-contributorsrc index 47e8fa01..c6ffca67 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -239,6 +239,15 @@ "contributions": [ "platform" ] + }, + { + "login": "markusand", + "name": "Marc Vilella", + "avatar_url": "https://avatars.githubusercontent.com/u/12972543?v=4", + "profile": "https://github.com/markusand", + "contributions": [ + "translation" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index 8fb92015..6c433303 100644 --- a/README.md +++ b/README.md @@ -153,6 +153,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Anton Mikhalev
Anton Mikhalev

🌍 René
René

💻 🌍 Woodenman
Woodenman

📦 + Marc Vilella
Marc Vilella

🌍 diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 879735bc..12a54435 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -79,7 +79,7 @@ parts: - libdb5.3 - libdbus-1-3 - libexpat1 - - libffi7 + - libffi8 - libgcc-s1 - libgcrypt20 - libglib2.0-0 @@ -87,9 +87,9 @@ parts: - libgnutls30 - libgpg-error0 - libgssapi-krb5-2 - - libhogweed5 + - libhogweed6 - libidn2-0 - - libjson-c4 + - libjson-c5 - libk5crypto3 - libkeyutils1 - libkrb5-3 @@ -97,12 +97,12 @@ parts: - liblz4-1 - liblzma5 - libmount1 - - libnettle7 + - libnettle8 - libp11-kit0 - libpcre2-8-0 - libselinux1 - libsqlite3-0 - - libssl1.1 + - libssl3 - libstdc++6 - libsystemd0 - libtasn1-6 diff --git a/src/renderer/i18n/ca-ES.ts b/src/renderer/i18n/ca-ES.ts new file mode 100644 index 00000000..02a07288 --- /dev/null +++ b/src/renderer/i18n/ca-ES.ts @@ -0,0 +1,528 @@ +export const caES = { + word: { + edit: 'Editar', + save: 'Desar', + close: 'Tancar', + delete: 'Esborrar', + confirm: 'Confirmar', + cancel: 'Cancel·lar', + send: 'Enviar', + connectionName: 'Nom de la connexió', + client: 'Client', + hostName: 'Nom de l\'amfitrió', + port: 'Port', + user: 'Usuari', + password: 'Contrasenya', + credentials: 'Credencials', + connect: 'Connectar', + connected: 'Connectat', + disconnect: 'Desconnectar', + disconnected: 'Desconnectat', + refresh: 'Actualitzar', + settings: 'Configuració', + general: 'General', + themes: 'Temes', + update: 'Actualitzar', + about: 'Sobre', + language: 'Idioma', + version: 'Versió', + donate: 'Donar', + run: 'Executar', + schema: 'Esquema', + results: 'Resultats', + size: 'Mida', + seconds: 'Segons', + type: 'Tipus', + mimeType: 'Tipus MIME', + download: 'Descarregar', + add: 'Afegir', + data: 'Dades', + properties: 'Propietats', + insert: 'Inserir', + connecting: 'Connectant', + name: 'Nom', + collation: 'Ordenació', + clear: 'Netejar', + options: 'Opcions', + autoRefresh: 'Actualització automàtica', + indexes: 'Índexs', + foreignKeys: 'Claus foranes', + length: 'Longitud', + unsigned: 'Sense signe', + default: 'Per defecte', + comment: 'Comentari', + key: 'Clau | Claus', + order: 'Ordre', + expression: 'Expressió', + autoIncrement: 'Autoincrement', + engine: 'Motor', + field: 'Camp | Camps', + approximately: 'Aproximadament', + total: 'Total', + table: 'Taula', + discard: 'Descartar', + stay: 'Quedar-se', + author: 'Autor', + light: 'Clar', + dark: 'Fosc', + autoCompletion: 'Autocompletat', + application: 'Aplicació', + editor: 'Editor', + view: 'Vista', + definer: 'Definidor', + algorithm: 'Algorisme', + trigger: 'Desencadenador | Desencadenadors', + storedRoutine: 'Rutina emmagatzemada | Rutines emmagatzemades', + scheduler: 'Planificador | Planificadors', + event: 'Esdeveniment', + parameters: 'Paràmetres', + function: 'Funció | Funcions', + deterministic: 'Determinista', + context: 'Context', + export: 'Exportar', + import: 'Importar', + returns: 'Retorna', + timing: 'Temporització', + state: 'Estat', + execution: 'Execució', + starts: 'Comença', + ends: 'Acaba', + ssl: 'SSL', + privateKey: 'Clau privada', + certificate: 'Certificat', + caCertificate: 'Certificat CA', + ciphers: 'Xifrats', + upload: 'Pujar', + browse: 'Navegar', + faker: 'Falsificador', + content: 'Contingut', + cut: 'Tallar', + copy: 'Copiar', + paste: 'Enganxar', + tools: 'Eines', + variables: 'Variables', + processes: 'Processos', + database: 'Base de dades', + scratchpad: 'Bloc de notes', + array: 'Matriu', + changelog: 'Registre de canvis', + format: 'Format', + sshTunnel: 'Túnel SSH', + structure: 'Estructura', + small: 'Petit', + medium: 'Mitjà', + large: 'Gran', + row: 'Fila | Files', + cell: 'Cel·la | Cel·les', + triggerFunction: 'Funció de desencadenador | Funcions de desencadenador', + all: 'Tot', + duplicate: 'Duplicar', + routine: 'Rutina', + new: 'Nou', + history: 'Històric', + select: 'Seleccionar', + passphrase: 'Frase de contrasenya', + filter: 'Filtre', + change: 'Canviar', + views: 'Vistes', + triggers: 'Desencadenadors', + routines: 'Rutines', + functions: 'Funcions', + schedulers: 'Planificadors', + includes: 'Inclou', + drop: 'Descartar', + completed: 'Completat', + aborted: 'Avortat', + disabled: 'Deshabilitat', + enable: 'Habilitar', + disable: 'Deshabilitar', + commit: 'Validar', + rollback: 'Desfer', + connectionString: 'Cadena de connexió', + contributors: 'Contribuïdors', + pin: 'Fixar', + unpin: 'Desfixar', + console: 'Consola', + shortcuts: 'Dreceres', + folder: 'Carpeta | Carpetes', + appearance: 'Aparença', + color: 'Color', + label: 'Etiqueta', + icon: 'Icona', + resultsTable: 'Taula de resultats', + ddl: 'DDL', + none: 'Cap', + singleQuote: 'Cometa simple', + doubleQuote: 'Cometa doble' + }, + message: { + appWelcome: 'Benvingut a Antares SQL Client!', + appFirstStep: 'El teu primer pas: crea una nova connexió a la base de dades.', + addConnection: 'Afegeix connexió', + createConnection: 'Crea connexió', + createNewConnection: 'Crea una nova connexió', + askCredentials: 'Demana credencials', + testConnection: 'Prova la connexió', + editConnection: 'Edita la connexió', + deleteConnection: 'Esborra la connexió', + deleteConfirm: 'Confirmes la cancel·lació de', + connectionSuccessfullyMade: 'Connexió realitzada amb èxit!', + madeWithJS: 'Fet amb 💛 i JavaScript!', + checkForUpdates: 'Comprova actualitzacions', + noUpdatesAvailable: 'No hi ha actualitzacions disponibles', + checkingForUpdate: 'Comprovant actualitzacions', + checkFailure: 'La comprovació ha fallat, si us plau, torna-ho a intentar més tard', + updateAvailable: 'Actualització disponible', + downloadingUpdate: 'Descarregant actualització', + updateDownloaded: 'Actualització descarregada', + restartToInstall: 'Reinicia Antares per instal·lar', + unableEditFieldWithoutPrimary: 'No es pot editar un camp sense una clau primària en el conjunt de resultats', + editCell: 'Edita la cel·la', + deleteRows: 'Esborra fila | Esborra {count} files', + confirmToDeleteRows: 'Confirmes esborrar una fila? | Confirmes esborrar {count} files?', + notificationsTimeout: 'Temps d\'espera de notificacions', + uploadFile: 'Puja fitxer', + addNewRow: 'Afegeix una nova fila', + numberOfInserts: 'Nombre d\'insercions', + openNewTab: 'Obre una nova pestanya', + affectedRows: 'Files afectades', + createNewDatabase: 'Crea una nova base de dades', + databaseName: 'Nom de la base de dades', + serverDefault: 'Per defecte del servidor', + deleteDatabase: 'Esborra la base de dades', + editDatabase: 'Edita la base de dades', + clearChanges: 'Neteja els canvis', + addNewField: 'Afegeix un nou camp', + manageIndexes: 'Gestiona els índexs', + manageForeignKeys: 'Gestiona les claus foranes', + allowNull: 'Permet NULL', + zeroFill: 'Omplir amb zeros', + customValue: 'Valor personalitzat', + onUpdate: 'A l\'actualitzar', + deleteField: 'Esborra camp', + createNewIndex: 'Crea un nou índex', + addToIndex: 'Afegeix a l\'índex', + createNewTable: 'Crea una nova taula', + emptyTable: 'Taula buida', + deleteTable: 'Esborra la taula', + emptyConfirm: 'Confirmes buidar', + unsavedChanges: 'Canvis no desats', + discardUnsavedChanges: 'Tens alguns canvis no desats. Tancant aquesta pestanya aquests canvis es descartaran.', + thereAreNoIndexes: 'No hi ha índexs', + thereAreNoForeign: 'No hi ha claus foranes', + createNewForeign: 'Crea una nova clau forana', + referenceTable: 'Taula de referència', + referenceField: 'Camp de referència', + foreignFields: 'Camps foranis', + invalidDefault: 'Valor per defecte no vàlid', + onDelete: 'Al esborrar', + applicationTheme: 'Tema de l\'aplicació', + editorTheme: 'Tema de l\'editor', + wrapLongLines: 'Ajusta línies llargues', + selectStatement: 'Sentència SELECT', + triggerStatement: 'Sentència TRIGGER', + sqlSecurity: 'Seguretat SQL', + updateOption: 'Opció d\'actualització', + deleteView: 'Esborra vista', + createNewView: 'Crea una nova vista', + deleteTrigger: 'Esborra disparador', + createNewTrigger: 'Crea un nou disparador', + currentUser: 'Usuari actual', + routineBody: 'Cos de la rutina', + dataAccess: 'Accés a dades', + thereAreNoParameters: 'No hi ha paràmetres', + createNewParameter: 'Crea un nou paràmetre', + createNewRoutine: 'Crea una nova rutina emmagatzemada', + deleteRoutine: 'Esborra rutina emmagatzemada', + functionBody: 'Cos de la funció', + createNewFunction: 'Crea una nova funció', + deleteFunction: 'Esborra funció', + schedulerBody: 'Cos del planificador', + createNewScheduler: 'Crea un nou planificador', + deleteScheduler: 'Esborra planificador', + preserveOnCompletion: 'Conserva en finalitzar', + enableSsl: 'Activa SSL', + manualValue: 'Valor manual', + tableFiller: 'Ompletaula', + fakeDataLanguage: 'Idioma de dades fictícies', + searchForElements: 'Cerca elements', + selectAll: 'Selecciona tot', + queryDuration: 'Durada de la consulta', + includeBetaUpdates: 'Inclou actualitzacions beta', + setNull: 'Estableix NULL', + processesList: 'Llista de processos', + processInfo: 'Informació del procés', + manageUsers: 'Gestiona usuaris', + createNewSchema: 'Crea un nou esquema', + schemaName: 'Nom de l\'esquema', + editSchema: 'Edita l\'esquema', + deleteSchema: 'Esborra l\'esquema', + markdownSupported: 'Suporta markdown', + plantATree: 'Planta un arbre', + dataTabPageSize: 'Mida de pàgina de la pestanya DATA', + enableSsh: 'Activa SSH', + pageNumber: 'Número de pàgina', + duplicateTable: 'Duplica taula', + noOpenTabs: 'No hi ha pestanyes obertes, navega per la barra de l\'esquerra o:', + noSchema: 'No hi ha esquema', + restorePreviousSession: 'Restaura la sessió anterior', + runQuery: 'Executa consulta', + thereAreNoTableFields: 'No hi ha camps a la taula', + newTable: 'Nova taula', + newView: 'Nova vista', + newTrigger: 'Nou disparador', + newRoutine: 'Nova rutina', + newFunction: 'Nova funció', + newScheduler: 'Nou planificador', + newTriggerFunction: 'Nova funció de disparador', + thereIsNoQueriesYet: 'Encara no hi ha consultes', + searchForQueries: 'Cerca consultes', + killProcess: 'Mata procés', + closeTab: 'Tanca pestanya', + exportSchema: 'Exporta esquema', + importSchema: 'Importa esquema', + directoryPath: 'Ruta del directori', + newInsertStmtEvery: 'Nova sentència INSERT cada', + processingTableExport: 'Processant {table}', + fetchingTableExport: 'Obtenint dades de {table}', + writingTableExport: 'Escrivint dades de {table}', + checkAllTables: 'Marca totes les taules', + uncheckAllTables: 'Desmarca totes les taules', + goToDownloadPage: 'Ves a la pàgina de descàrrega', + readOnlyMode: 'Mode de lectura', + killQuery: 'Mata consulta', + insertRow: 'Insereix fila | Insereix files', + commitMode: 'Mode de validació', + autoCommit: 'Validació automàtica', + manualCommit: 'Validació manual', + actionSuccessful: '{action} realitzat amb èxit', + importQueryErrors: 'Avís: ha ocorregut {n} error | Avís: han ocorregut {n} errors', + executedQueries: '{n} consulta executada | {n} consultes executades', + outputFormat: 'Format de sortida', + singleFile: 'Arxiu {ext} únic', + zipCompressedFile: 'Arxiu {ext} comprimit en ZIP', + disableBlur: 'Desactiva el desenfoc', + untrustedConnection: 'Connexió no confiable', + missingOrIncompleteTranslation: 'Traducció absent o incompleta?', + findOutHowToContribute: 'Descobreix com contribuir', + disableFKChecks: 'Desactiva les comprovacions de claus foranes', + allConnections: 'Totes les connexions', + searchForConnections: 'Cerca connexions', + disableScratchpad: 'Desactiva el bloc de notes', + reportABug: 'Informa d\'un error', + nextTab: 'Pestanya següent', + previousTab: 'Pestanya anterior', + selectTabNumber: 'Selecciona el número de pestanya {param}', + toggleConsole: 'Commuta la consola', + addShortcut: 'Afegeix drecera', + editShortcut: 'Edita drecera', + deleteShortcut: 'Esborra drecera', + restoreDefaults: 'Restaura els valors per defecte', + restoreDefaultsQuestion: 'Confirmes restaurar els valors per defecte?', + registerAShortcut: 'Registra una drecera', + invalidShortcutMessage: 'Combinació no vàlida, continua escrivint', + shortcutAlreadyExists: 'La drecera ja existeix', + saveContent: 'Desa el contingut', + openAllConnections: 'Obre totes les connexions', + openSettings: 'Obre configuració', + openScratchpad: 'Obre el bloc de notes', + runOrReload: 'Executa o recarrega', + formatQuery: 'Formata consulta', + queryHistory: 'Històric de consultes', + clearQuery: 'Neteja consulta', + openFilter: 'Obre filtre', + nextResultsPage: 'Pàgina de resultats següent', + previousResultsPage: 'Pàgina de resultats anterior', + fillCell: 'Omplir cel·la', + editFolder: 'Edita carpeta', + folderName: 'Nom de la carpeta', + deleteFolder: 'Esborra carpeta', + editConnectionAppearance: 'Edita l\'aparença de la connexió', + executeSelectedQuery: 'Executa la consulta seleccionada', + defaultCopyType: 'Tipus de còpia per defecte', + showTableSize: 'Mostra la mida de la taula a la barra lateral', + showTableSizeDescription: 'Només MySQL/MariaDB. Activar aquesta opció pot afectar el rendiment en esquemes amb moltes taules.', + searchForSchemas: 'Cerca esquemes', + switchSearchMethod: 'Canvia el mètode de cerca', + noResultsPresent: 'No hi ha resultats', + sqlExportOptions: 'Opcions d\'exportació SQL', + targetTable: 'Taula objectiu', + phpArray: 'Matriu PHP', + closeAllTabs: 'Tanca totes les pestanyes', + closeOtherTabs: 'Tanca altres pestanyes', + closeTabsToLeft: 'Tanca pestanyes a l\'esquerra', + closeTabsToRight: 'Tanca pestanyes a la dreta', + switchDatabase: 'Canvia la base de dades', + csvExportOptions: 'Opcions d\'exportació CSV', + csvFieldDelimiter: 'Delimitador de camp', + csvLinesTerminator: 'Terminador de línia', + csvStringDelimiter: 'Delimitador de cadena', + csvIncludeHeader: 'Inclou capçalera', + scratchPadDefaultValue: '# COM SUPORTAR ANTARES\n\n- [ ] Deixa una estrella a Antares [repositori GitHub](https://github.com/antares-sql/antares)\n- [ ] Envia comentaris i consells\n- [ ] Informa d\'errors\n- [ ] Si t\'agrada, comparteix Antares amb amics\n\n# SOBRE EL BLOC DE NOTES\n\nAquest és un bloc de notes on pots guardar les teves **notes personals**. Suporta format `markdown`, però pots usar text pla.\nAquest contingut és simplement un espai reservat, pots esborrar-lo per fer lloc per les teves notes.\n' + }, + faker: { + address: 'Adreça', + commerce: 'Comerç', + company: 'Empresa', + database: 'Base de dades', + date: 'Data', + finance: 'Finances', + git: 'Git', + hacker: 'Hacker', + internet: 'Internet', + lorem: 'Lorem', + name: 'Nom', + music: 'Música', + phone: 'Telèfon', + random: 'Aleatori', + system: 'Sistema', + time: 'Hora', + vehicle: 'Vehicle', + zipCode: 'Codi postal', + zipCodeByState: 'Codi postal per estat', + city: 'Ciutat', + cityPrefix: 'Prefix de ciutat', + citySuffix: 'Sufix de ciutat', + streetName: 'Nom del carrer', + streetAddress: 'Adreça del carrer', + streetSuffix: 'Sufix del carrer', + streetPrefix: 'Prefix del carrer', + secondaryAddress: 'Adreça secundària', + county: 'Comtat', + country: 'País', + countryCode: 'Codi de país', + state: 'Estat', + stateAbbr: 'Abreviatura de l\'estat', + latitude: 'Latitud', + longitude: 'Longitud', + direction: 'Direcció', + cardinalDirection: 'Direcció cardinal', + ordinalDirection: 'Direcció ordinal', + nearbyGPSCoordinate: 'Coordenada GPS propera', + timeZone: 'Zona horària', + color: 'Color', + department: 'Departament', + productName: 'Nom del producte', + price: 'Preu', + productAdjective: 'Adjectiu del producte', + productMaterial: 'Material del producte', + product: 'Producte', + productDescription: 'Descripció del producte', + suffixes: 'Sufixos', + companyName: 'Nom de l\'empresa', + companySuffix: 'Sufix de l\'empresa', + catchPhrase: 'Frase feta', + bs: 'BS', + catchPhraseAdjective: 'Adjectiu de la frase feta', + catchPhraseDescriptor: 'Descriptor de la frase feta', + catchPhraseNoun: 'Substantiu de la frase feta', + bsAdjective: 'Adjectiu BS', + bsBuzz: 'Buzz BS', + bsNoun: 'Substantiu BS', + column: 'Columna', + type: 'Tipus', + collation: 'Ordenació', + engine: 'Motor', + past: 'Passat', + now: 'Ara', + future: 'Futur', + between: 'Entre', + recent: 'Recent', + soon: 'Aviat', + month: 'Mes', + weekday: 'Dia de la setmana', + account: 'Compte', + accountName: 'Nom del compte', + routingNumber: 'Número de ruta', + mask: 'Màscara', + amount: 'Quantitat', + transactionType: 'Tipus de transacció', + currencyCode: 'Codi de moneda', + currencyName: 'Nom de la moneda', + currencySymbol: 'Símbol de moneda', + bitcoinAddress: 'Adreça Bitcoin', + litecoinAddress: 'Adreça Litecoin', + creditCardNumber: 'Número de targeta de crèdit', + creditCardCVV: 'CVV de la targeta de crèdit', + ethereumAddress: 'Adreça Ethereum', + iban: 'Iban', + bic: 'Bic', + transactionDescription: 'Descripció de la transacció', + branch: 'Branca', + commitEntry: 'Entrada de commit', + commitMessage: 'Missatge de commit', + commitSha: 'SHA de commit', + shortSha: 'SHA curt', + abbreviation: 'Abreviació', + adjective: 'Adjectiu', + noun: 'Substantiu', + verb: 'Verb', + ingverb: 'Gerundi', + phrase: 'Frase', + avatar: 'Avatar', + email: 'Correu electrònic', + exampleEmail: 'Correu electrònic d\'exemple', + userName: 'Nom d\'usuari', + protocol: 'Protocol', + url: 'Url', + domainName: 'Nom de domini', + domainSuffix: 'Sufix de domini', + domainWord: 'Paraula de domini', + ip: 'Ip', + ipv6: 'Ipv6', + userAgent: 'Agent d\'usuari', + mac: 'Mac', + password: 'Contrasenya', + word: 'Paraula', + words: 'Paraules', + sentence: 'Frase', + slug: 'Slug', + sentences: 'Frases', + paragraph: 'Paràgraf', + paragraphs: 'Paràgrafs', + text: 'Text', + lines: 'Línies', + genre: 'Gènere', + firstName: 'Nom', + lastName: 'Cognom', + middleName: 'Segon nom', + findName: 'Nom complet', + jobTitle: 'Títol del treball', + gender: 'Gènere', + prefix: 'Prefix', + suffix: 'Sufix', + title: 'Títol', + jobDescriptor: 'Descriptor de treball', + jobArea: 'Àrea de treball', + jobType: 'Tipus de treball', + phoneNumber: 'Número de telèfon', + phoneNumberFormat: 'Format de número de telèfon', + phoneFormats: 'Formats de telèfon', + number: 'Número', + float: 'Decimal', + arrayElement: 'Element de matriu', + arrayElements: 'Elements de matriu', + objectElement: 'Element d\'objecte', + uuid: 'Uuid', + boolean: 'Booleà', + image: 'Imatge', + locale: 'Localització', + alpha: 'Alfa', + alphaNumeric: 'Alfanumèric', + hexaDecimal: 'Hexadecimal', + fileName: 'Nom del fitxer', + commonFileName: 'Nom de fitxer comú', + mimeType: 'Tipus de mime', + commonFileType: 'Tipus de fitxer comú', + commonFileExt: 'Extensió de fitxer comú', + fileType: 'Tipus de fitxer', + fileExt: 'Extensió de fitxer', + directoryPath: 'Ruta del directori', + filePath: 'Ruta del fitxer', + semver: 'Semver', + manufacturer: 'Fabricant', + model: 'Model', + fuel: 'Combustible', + vin: 'Vin' + } +}; \ No newline at end of file diff --git a/src/renderer/i18n/index.ts b/src/renderer/i18n/index.ts index 5b1cb667..35c294c5 100644 --- a/src/renderer/i18n/index.ts +++ b/src/renderer/i18n/index.ts @@ -13,6 +13,7 @@ import { ruRU } from './ru-RU'; import { idID } from './id-ID'; import { koKR } from './ko-KR'; import { nlNL } from './nl-NL'; +import { caES } from './ca-ES'; const messages = { 'en-US': enUS, 'it-IT': itIT, @@ -27,7 +28,8 @@ const messages = { 'ru-RU': ruRU, 'id-ID': idID, 'ko-KR': koKR, - 'nl-NL': nlNL + 'nl-NL': nlNL, + 'ca-ES': caES }; type NestedPartial = { diff --git a/src/renderer/i18n/supported-locales.ts b/src/renderer/i18n/supported-locales.ts index 1c9b0a7e..b1b28ab0 100644 --- a/src/renderer/i18n/supported-locales.ts +++ b/src/renderer/i18n/supported-locales.ts @@ -12,5 +12,6 @@ export const localesNames: {[key: string]: string} = { 'ru-RU': 'Русский', 'id-ID': 'Bahasa Indonesia', 'ko-KR': '한국어', - 'nl-NL': 'Nederlands' + 'nl-NL': 'Nederlands', + 'ca-ES': 'Català' };