diff --git a/frontend/app_flowy/assets/translations/ca-ES.json b/frontend/app_flowy/assets/translations/ca-ES.json new file mode 100644 index 0000000000..d08639f5cf --- /dev/null +++ b/frontend/app_flowy/assets/translations/ca-ES.json @@ -0,0 +1,145 @@ +{ + "appName": "AppFlowy", + "defaultUsername": "Jo", + "welcomeText": "Benvingut a @:appName", + "githubStarText": "Preferit a Github", + "subscribeNewsletterText": "Subscriu-me al butlletí", + "letsGoButtonText": "Endavant", + "title": "Títol", + "signUp": { + "buttonText": "Registra't", + "title": "Registra't a @:appName", + "getStartedText": "Comencem", + "emptyPasswordError": "La contrasenya no pot ser buida", + "repeatPasswordEmptyError": "La contrasenya repetida no pot ser buida", + "unmatchedPasswordError": "Les contrasenyes no concorden", + "alreadyHaveAnAccount": "Ja tens un compte?", + "emailHint": "Correu electrònic", + "passwordHint": "Contrasenya", + "repeatPasswordHint": "Repeteix la contrasenya" + }, + "signIn": { + "loginTitle": "Inicia sessió a @:appName", + "loginButtonText": "Inicia sessió", + "buttonText": "Inicia sessió", + "forgotPassword": "Has oblidat la contrasenya?", + "emailHint": "Correu electrònic", + "passwordHint": "Contrasenya", + "dontHaveAnAccount": "No tens un compte?", + "repeatPasswordEmptyError": "La contrasenya repetida no pot ser buida", + "unmatchedPasswordError": "Les contrasenyes no concorden" + }, + "workspace": { + "create": "Crear un espai de treball", + "hint": "espai de treball", + "notFoundError": "No s'ha trobat l'espai de treball" + }, + "shareAction": { + "buttonText": "Compartir", + "workInProgress": "Pròximament", + "markdown": "Markdown", + "copyLink": "Copiar l'enllaç" + }, + "disclosureAction": { + "rename": "Canviar el nom", + "delete": "Eliminar", + "duplicate": "Duplicar" + }, + "blankPageTitle": "Pàgina en blanc", + "newPageText": "Nova pàgina", + "trash": { + "text": "Paperera", + "restoreAll": "Recuperar-ho tot", + "deleteAll": "Eliminar-ho tot", + "pageHeader": { + "fileName": "Nom del fitxer", + "lastModified": "Última modificació", + "created": "Creat" + } + }, + "deletePagePrompt": { + "text": "Aquest pàgina es troba a la paperera", + "restore": "Recuperar-la", + "deletePermanent": "Elimina-la" + }, + "dialogCreatePageNameHint": "Nom de la pàgina", + "questionBubble": { + "whatsNew": "Què hi ha de nou?", + "help": "Ajuda i Suport", + "debug": { + "name": "Informació de depuració", + "success": "S'ha copiat la informació de depuració!", + "fail": "No es pot copiar la informació de depuració" + } + }, + "menuAppHeader": { + "addPageTooltip": "Afegeix ràpidament una pàgina dins", + "defaultNewPageName": "Sense títol", + "renameDialog": "Canviar el nom" + }, + "toolbar": { + "undo": "Desfer", + "redo": "Refer", + "bold": "Negreta", + "italic": "Cursiva", + "underline": "Text subratllar", + "strike": "Ratllat", + "numList": "Llista numerada", + "bulletList": "Llista de punts", + "checkList": "Llista de comprovació", + "inlineCode": "Inserir codi", + "quote": "Bloc citat", + "header": "Capçalera", + "highlight": "Subratllar" + }, + "tooltip": { + "lightMode": "Canviar a mode clar", + "darkMode": "Canviar a mode fosc" + }, + "contactsPage": { + "title": "Contactes", + "whatsHappening": "Que passa aquesta setmana?", + "addContact": "Afegir un contacte", + "editContact": "Editar un contacte" + }, + "button": { + "OK": "OK", + "Cancel": "Cancel·lar", + "signIn": "Iniciar sessió", + "signOut": "Tancar sessió", + "complete": "Completar", + "save": "Guardar" + }, + "label": { + "welcome": "Benvingut!", + "firstName": "Nom", + "middleName": "Segon Nom", + "lastName": "Cognom", + "stepX": "Pas {X}" + }, + "oAuth": { + "err": { + "failedTitle": "No s'ha pogut connectar al teu compte.", + "failedMsg": "Assegureu-vos que heu completat el procés d'inici de sessió al vostre navegador." + }, + "google": { + "title": "Iniciar sessió amb Google", + "instruction1": "Per importar els vostres contactes de Google, haureu d'autoritzar aquesta aplicació mitjançant el vostre navegador web.", + "instruction2": "Copia aquest codi clicant la icona o seleccionant el text:", + "instruction3": "Navega al següent enllaç amb el teu navegador i insereix el codi anterior:", + "instruction4": "Pressiona el botó d'avall una vegada hagis completat el registre:" + } + }, + "settings": { + "title": "Configuració", + "menu": { + "appearance": "Aparença", + "language": "Idioma", + "open": "Obrir la configuració" + }, + "appearance": { + "lightLabel": "Mode Clar", + "darkLabel": "Mode Fosc" + } + } +} diff --git a/frontend/app_flowy/lib/startup/tasks/app_widget.dart b/frontend/app_flowy/lib/startup/tasks/app_widget.dart index 142c4cc30f..6c0c1a6d99 100644 --- a/frontend/app_flowy/lib/startup/tasks/app_widget.dart +++ b/frontend/app_flowy/lib/startup/tasks/app_widget.dart @@ -29,6 +29,7 @@ class InitAppWidgetTask extends LaunchTask { EasyLocalization( supportedLocales: const [ // In alphabetical order + Locale('ca', 'ES'), Locale('de', 'DE'), Locale('en'), Locale('es', 'VE'), diff --git a/frontend/app_flowy/packages/flowy_infra/lib/language.dart b/frontend/app_flowy/packages/flowy_infra/lib/language.dart index 2e0122366a..026568eb4e 100644 --- a/frontend/app_flowy/packages/flowy_infra/lib/language.dart +++ b/frontend/app_flowy/packages/flowy_infra/lib/language.dart @@ -9,6 +9,8 @@ String languageFromLocale(Locale locale) { return "简体中文"; // Then in alphabetical order + case "ca": + return "Català"; case "de": return "Deutsch"; case "es":