diff --git a/app/helpers/settings_helper.rb b/app/helpers/settings_helper.rb index 2f8b923e4b..172ef33cac 100644 --- a/app/helpers/settings_helper.rb +++ b/app/helpers/settings_helper.rb @@ -5,6 +5,7 @@ module SettingsHelper en: 'English', ar: 'العربية', bg: 'Български', + ca: 'Català', de: 'Deutsch', eo: 'Esperanto', es: 'Español', diff --git a/app/javascript/mastodon/containers/mastodon.js b/app/javascript/mastodon/containers/mastodon.js index 09ee091427..ef2af8041c 100644 --- a/app/javascript/mastodon/containers/mastodon.js +++ b/app/javascript/mastodon/containers/mastodon.js @@ -45,6 +45,7 @@ import Report from '../features/report'; import { IntlProvider, addLocaleData } from 'react-intl'; import ar from 'react-intl/locale-data/ar'; import bg from 'react-intl/locale-data/bg'; +import ca from 'react-intl/locale-data/ca'; import de from 'react-intl/locale-data/de'; import en from 'react-intl/locale-data/en'; import eo from 'react-intl/locale-data/eo'; @@ -81,6 +82,7 @@ const browserHistory = useRouterHistory(createBrowserHistory)({ addLocaleData([ ...ar, ...bg, + ...ca, ...de, ...en, ...eo, diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json new file mode 100644 index 0000000000..6a1deabc07 --- /dev/null +++ b/app/javascript/mastodon/locales/ca.json @@ -0,0 +1,168 @@ +{ + "account.block": "Bloquejar @{name}", + "account.disclaimer": "Aquest usuari és d'un altra instància. Aquest número podria ser més gran.", + "account.edit_profile": "Editar perfil", + "account.follow": "Seguir", + "account.followers": "Seguidors", + "account.follows": "Seguint", + "account.follows_you": "et segueix", + "account.mention": "Esmentar @{name}", + "account.mute": "Silenciar @{name}", + "account.posts": "Publicacions", + "account.report": "Informe @{name}", + "account.requested": "Esperant aprovació", + "account.unblock": "Desbloquejar @{name}", + "account.unfollow": "Deixar de seguir", + "account.unmute": "Treure silenci de @{name}", + "boost_modal.combo": "Pots premer {combo} per saltar-te això el proper cop", + "column.blocks": "Usuaris bloquejats", + "column.community": "Línia de temps local", + "column.favourites": "Favorits", + "column.follow_requests": "Peticions per seguir-te", + "column.home": "Inici", + "column.mutes": "Usuaris silenciats", + "column.notifications": "Notificacions", + "column.public": "Línia de temps federada", + "column_back_button.label": "Enrere", + "column_subheading.navigation": "Navegació", + "column_subheading.settings": "Configuració", + "compose_form.lock_disclaimer": "El teu compte no està bloquejat {locked}. Tothom pot seguir-te i veure els teus missatges a seguidors.", + "compose_form.lock_disclaimer.lock": "bloquejat", + "compose_form.placeholder": "En què estàs pensant?", + "compose_form.privacy_disclaimer": "El teu missatge serà lliurat als usuaris esmentats en els dominis {domains}. Confies en {domainsCount, plural, one {that server} other {those servers}}? Els missatges privats només funcionen en instàncies Mastodon. Si {domains} {domainsCount, plural, one {is not a Mastodon instance} other {are not Mastodon instances}}, res indicarà que el teu missatge no es públic i pot ser impulsat (boosted) o ser visible per destinataris no desitjats.", + "compose_form.publish": "Toot", + "compose_form.sensitive": "Marcar multimèdia com a sensible", + "compose_form.spoiler": "Amagar text darrera l'advertència", + "compose_form.spoiler_placeholder": "Advertència de contingut", + "confirmation_modal.cancel": "Cancel·lar", + "confirmations.block.confirm": "Bloquejar", + "confirmations.block.message": "Estàs segur que vols bloquejar {name}?", + "confirmations.delete.confirm": "Esborrar", + "confirmations.delete.message": "Estàs segur que vols esborrar aquest estat?", + "confirmations.mute.confirm": "Silenciar", + "confirmations.mute.message": "Estàs segur que vols silenciar {name}?", + "emoji_button.activity": "Activitat", + "emoji_button.flags": "Flags", + "emoji_button.food": "Menjar i Beure", + "emoji_button.label": "Inserir emoji", + "emoji_button.nature": "Natura", + "emoji_button.objects": "Objectes", + "emoji_button.people": "Gent", + "emoji_button.search": "Cercar...", + "emoji_button.symbols": "Símbols", + "emoji_button.travel": "Viatges i Llocs", + "empty_column.community": "La línia de temps local és buida. Escriu alguna cosa públicament per fer rodar la pilota!", + "empty_column.hashtag": "Encara no hi ha res amb aquesta etiqueta.", + "empty_column.home": "Encara no segueixes ningú. Visita {public} o fes cerca per començar i conèixer altres usuaris.", + "empty_column.home.inactivity": "La línia Inici és buida. si has estat inactiu durant un temps es regenerarà aviat.", + "empty_column.home.public_timeline": "la línia de temps pública", + "empty_column.notifications": "Encara no tens notificacions. Interactua amb altres per iniciar la conversa.", + "empty_column.public": "No hi ha res aquí! Escriu alguna cosa públicament o segueix manualment usuaris d'altres instàncies per omplir-ho", + "follow_request.authorize": "Autoritzar", + "follow_request.reject": "Rebutjar", + "getting_started.appsshort": "Apps", + "getting_started.faq": "FAQ", + "getting_started.heading": "començant", + "getting_started.open_source_notice": "Mastodon és un programari de codi obert. Pots contribuir o informar de problemes en GitHub a {github}.", + "getting_started.support": "{faq} • {userguide} • {apps}", + "getting_started.userguide": "Guia de l'usuari", + "home.column_settings.advanced": "Avançat", + "home.column_settings.basic": "Bàsic", + "home.column_settings.filter_regex": "Filtrar per expressió regular", + "home.column_settings.show_reblogs": "Mostrar 'boosts'", + "home.column_settings.show_replies": "Mostrar respostes", + "home.settings": "Ajustos de columna", + "lightbox.close": "Tancar", + "loading_indicator.label": "Carregant...", + "media_gallery.toggle_visible": "Alternar visibilitat", + "missing_indicator.label": "No trobat", + "navigation_bar.blocks": "Usuaris bloquejats", + "navigation_bar.community_timeline": "Línia de temps Local", + "navigation_bar.edit_profile": "Editar perfil", + "navigation_bar.favourites": "Favorits", + "navigation_bar.follow_requests": "Sol·licituds de seguiment", + "navigation_bar.info": "Informació addicional", + "navigation_bar.logout": "Tancar sessió", + "navigation_bar.mutes": "Usuaris silenciats", + "navigation_bar.preferences": "Preferències", + "navigation_bar.public_timeline": "Línia de temps federada", + "notification.favourite": "{name} ha afavorit el teu estat", + "notification.follow": "{name} et segueix", + "notification.mention": "{name} t'ha esmentat", + "notification.reblog": "{name} ha retootejat el teu estat", + "notifications.clear": "Netejar notificacions", + "notifications.clear_confirmation": "Estàs segur que vols esborrar permanenment totes les teves notificacions?", + "notifications.column_settings.alert": "Notificacions d'escriptori", + "notifications.column_settings.favourite": "Favorits:", + "notifications.column_settings.follow": "Nous seguidors:", + "notifications.column_settings.mention": "Mencions:", + "notifications.column_settings.reblog": "Boosts:", + "notifications.column_settings.show": "Mostrar en la columna", + "notifications.column_settings.sound": "Reproduïr so", + "notifications.settings": "Ajustos de columna", + "onboarding.done": "Fet", + "onboarding.next": "Següent", + "onboarding.page_five.public_timelines": "La línia de temps local mostra missatges públics de tothom de {domain}. La línia de temps federada mostra els missatges públics de tothom que la gent de {domain} segueix. Aquests són les línies de temps Públiques, una bona manera de descobrir noves persones.", + "onboarding.page_four.home": "La línia de temps d'Inici mostra missatges de les persones que segueixes.", + "onboarding.page_four.notifications": "La columna Notificacions mostra quan algú interactua amb tu.", + "onboarding.page_one.federation": "Mastodon és una xarxa de servidors independents que s'uneixen per fer una més gran xarxa social. A aquests servidors els hi diem instàncies.", + "onboarding.page_one.handle": "Ets a {domain}, per tant el teu usuari complert és {handle}", + "onboarding.page_one.welcome": "Benvingut a Mastodon!", + "onboarding.page_six.admin": "L'administrador de la teva instància és {admin}.", + "onboarding.page_six.almost_done": "Quasi fet...", + "onboarding.page_six.appetoot": "Bon Appetoot!", + "onboarding.page_six.apps_available": "Hi ha {apps} disponibles per iOS, Android i altres plataformes.", + "onboarding.page_six.github": "Mastodon és un programari de codi obert. Pots informar d'errors, sol·licitar característiques o contribuir en el codi a {github}.", + "onboarding.page_six.guidelines": "Normes de la comunitat", + "onboarding.page_six.read_guidelines": "Si us plau llegeix les {guidelines} de {domain}!", + "onboarding.page_six.various_app": "aplicacions per mòbils", + "onboarding.page_three.profile": "Edita el teu perfil per canviar el teu avatar, bio i el nom de visualització. Allà també trobaràs altres preferències.", + "onboarding.page_three.search": "Utilitza la barra de cerca per trobar gent i mirar etiquetes, com a {illustration} i {introductions}. Per buscar una persona que no està en aquesta instància, utilitza tot el seu nom d'usuari complert.", + "onboarding.page_two.compose": "Escriu missatges en la columna de redacció. Pots pujar imatges, canviar la configuració de privacitat i afegir les advertències de contingut amb les icones de sota.", + "onboarding.skip": "Omet", + "privacy.change": "Ajusta l'estat de privacitat", + "privacy.direct.long": "Publicar només als usuaris esmentats", + "privacy.direct.short": "Directe", + "privacy.private.long": "Publicar només a seguidors", + "privacy.private.short": "Només seguidors", + "privacy.public.long": "Publicar en línies de temps públiques", + "privacy.public.short": "Públic", + "privacy.unlisted.long": "No publicar en línies de temps públiques", + "privacy.unlisted.short": "No llistat", + "reply_indicator.cancel": "Cancel·lar", + "report.heading": "Nou informe", + "report.placeholder": "Comentaris addicionals", + "report.submit": "Enviar", + "report.target": "Informes", + "search.placeholder": "Cercar", + "search_results.total": "{count, number} {count, plural, one {result} other {results}}", + "status.cannot_reblog": "Aquesta publicació no pot ser retootejada", + "status.delete": "Esborrar", + "status.favourite": "Favorit", + "status.load_more": "Carrega més", + "status.media_hidden": "Multimèdia amagat", + "status.mention": "Esmentar @{name}", + "status.open": "Ampliar aquest estat", + "status.reblog": "Boost", + "status.reblogged_by": "{name} ha retootejat", + "status.reply": "Respondre", + "status.replyAll": "Respondre al tema", + "status.report": "Informar sobre @{name}", + "status.sensitive_toggle": "Clic per veure", + "status.sensitive_warning": "Contingut sensible", + "status.show_less": "Mostra menys", + "status.show_more": "Mostra més", + "tabs_bar.compose": "Compondre", + "tabs_bar.federated_timeline": "Federada", + "tabs_bar.home": "Inici", + "tabs_bar.local_timeline": "Local", + "tabs_bar.notifications": "Notificacions", + "upload_area.title": "Arrossega i deixa anar per carregar", + "upload_button.label": "Afegir multimèdia", + "upload_form.undo": "Desfer", + "upload_progress.label": "Pujant...", + "video_player.expand": "Ampliar el vídeo", + "video_player.toggle_sound": "Alternar so", + "video_player.toggle_visible": "Alternar visibilitat", + "video_player.video_error": "El vídeo no es pot reproduir" +} diff --git a/app/javascript/mastodon/locales/index.js b/app/javascript/mastodon/locales/index.js index 5c32b9a691..2c592026e2 100644 --- a/app/javascript/mastodon/locales/index.js +++ b/app/javascript/mastodon/locales/index.js @@ -1,5 +1,6 @@ import ar from './ar.json'; import en from './en.json'; +import ca from './ca.json'; import de from './de.json'; import es from './es.json'; import fa from './fa.json'; @@ -28,6 +29,7 @@ import tr from './tr.json'; const locales = { ar, en, + ca, de, es, fa, diff --git a/app/views/user_mailer/confirmation_instructions.ca.html.erb b/app/views/user_mailer/confirmation_instructions.ca.html.erb new file mode 100644 index 0000000000..3591e2433b --- /dev/null +++ b/app/views/user_mailer/confirmation_instructions.ca.html.erb @@ -0,0 +1,12 @@ +
Benvingut <%= @resource.email %> !
+ +Has creat un compte a <%= @instance %>.
+ +Per confirmar la subscripció si us plau fes clic en el següent vincle :
+<%= link_to 'Confirmar el meu compte', confirmation_url(@resource, confirmation_token: @token) %>
+
+
Si us plau, també fes un cop d'ull als nostres <%= link_to 'termes i condicions', terms_url %>.
+ +Sincerament,
+ +
L'equip <%= @instance %>
diff --git a/app/views/user_mailer/confirmation_instructions.ca.text.erb b/app/views/user_mailer/confirmation_instructions.ca.text.erb new file mode 100644 index 0000000000..77cc589e67 --- /dev/null +++ b/app/views/user_mailer/confirmation_instructions.ca.text.erb @@ -0,0 +1,12 @@ +Benvingut <%= @resource.email %> ! + +Acabes de crear un compte a <%= @instance %>. + +Per confirmar la subscripció, si us plua fes clic en el següent vincle : +<%= confirmation_url(@resource, confirmation_token: @token) %> + +Si us plau també fes un cop d'ull als nostres termes i condicions <%= terms_url %> + +Sincerament, + +L'equip <%= @instance %> diff --git a/app/views/user_mailer/password_change.ca.html.erb b/app/views/user_mailer/password_change.ca.html.erb new file mode 100644 index 0000000000..e10c21e1c5 --- /dev/null +++ b/app/views/user_mailer/password_change.ca.html.erb @@ -0,0 +1,3 @@ +Hola <%= @resource.email %>!
+ +Aquest correu es per a notificar-te que la teva contrasenya a mastodont.cat ha canviat.
diff --git a/app/views/user_mailer/password_change.ca.text.erb b/app/views/user_mailer/password_change.ca.text.erb new file mode 100644 index 0000000000..c2fdfc82c3 --- /dev/null +++ b/app/views/user_mailer/password_change.ca.text.erb @@ -0,0 +1,3 @@ +Hola <%= @resource.email %>! + +Aquest correu es per a notificar-te que la teva contrasenya a mastodont.cat ha canviat. diff --git a/app/views/user_mailer/reset_password_instructions.ca.html.erb b/app/views/user_mailer/reset_password_instructions.ca.html.erb new file mode 100644 index 0000000000..6f76c441d0 --- /dev/null +++ b/app/views/user_mailer/reset_password_instructions.ca.html.erb @@ -0,0 +1,8 @@ +Hola <%= @resource.email %>!
+ +Algú ha sol·licitat un enllaç per canviar la contrasenya a mastodont.cat. Això es pot fer a través del següent enllaç.
+ +<%= link_to 'Canviar la contrasenya', edit_password_url(@resource, reset_password_token: @token) %>
+ +Si no has sol·licitat aquest canvi, si us plau, ignora aquest correu.
+La teva contrasenya no canviarà fins que accedeix a l'enllaç de dalt per crear-ne una de nova.
diff --git a/app/views/user_mailer/reset_password_instructions.ca.text.erb b/app/views/user_mailer/reset_password_instructions.ca.text.erb new file mode 100644 index 0000000000..ca4c494c3b --- /dev/null +++ b/app/views/user_mailer/reset_password_instructions.ca.text.erb @@ -0,0 +1,8 @@ +Hola <%= @resource.email %>! + +Algú ha sol·licitat un enllaç per canviar la contrasenya a mastodont.cat. Això es pot fer a través del següent enllaç. + +<%= edit_password_url(@resource, reset_password_token: @token) %> + +Si no has sol·licitat aquest canvi, si us plau, ignora aquest correu. +La teva contrasenya no canviarà fins que accedeix a l'enllaç de dalt per crear-ne una de nova. diff --git a/config/application.rb b/config/application.rb index 070cccaa58..728fbfaef9 100644 --- a/config/application.rb +++ b/config/application.rb @@ -29,6 +29,7 @@ module Mastodon :en, :ar, :bg, + :ca, :de, :eo, :es, diff --git a/config/locales/ca.yml b/config/locales/ca.yml new file mode 100644 index 0000000000..83c6d1c2a3 --- /dev/null +++ b/config/locales/ca.yml @@ -0,0 +1,342 @@ +--- +ca: + about: + about_mastodon: Mastodon és un servidor de xarxa social lliure i de codi obert. Una alternativa descentralitzada a plataformes comercials, que evita el risc que una única companyia monopolitzi la teva comunicació. Qualsevol pot executar Mastodon i participar sense problemes en la xarxa social. + about_this: Sobre aquesta instància + apps: Apps + business_email: 'Correu de negocis:' + closed_registrations: Els registres estan actualment tancats en aquesta instància. + contact: Contacte + description_headline: "Què es %{domain}?" + domain_count_after: altres instàncies + domain_count_before: Connectat a + features: + api: API pública per a aplicacions i serveis + blocks: Moderació de contingut + characters: 500 caràcters per publicació + chronology: Les histories son cronològiques + ethics: 'Disseny ètic: sense anuncis, sense rastrejos' + gifv: Vídeos curts i GIFV + privacy: Configuracions de privacitat ajustables + public: Història federada + features_headline: El que distingeix a Mastodon + get_started: Començar + links: Vincles + other_instances: Altres instàncies + source_code: Codi font + status_count_after: estats + status_count_before: Que han escrit + terms: Termes + user_count_after: usuaris registrats + user_count_before: Tenim + version: Versió + accounts: + follow: Seguir + followers: Seguidors + following: Seguint + nothing_here: "No hi ha res aquí!" + people_followed_by: Usuaris a qui %{name} segueix + people_who_follow: Usuaris que segueixn a %{name} + posts: Toots + remote_follow: Seguir + unfollow: Deixar de seguir + activitypub: + activity: + announce: + name: "%{account_name} shared an activity." + create: + name: "%{account_name} created a note." + outbox: + name: "%{account_name}'s Outbox" + summary: "A collection of activities from user %{account_name}." + admin: + accounts: + are_you_sure: Estàs segur? + confirm: Confirma + confirmed: Confirmat + disable_two_factor_authentication: Desactivar 2FA + display_name: Nom de visualització + domain: Domini + edit: Editar + email: E-mail + feed_url: URL del feed + followers: Seguidors + follows: Segueix + location: + all: Tot + local: Local + remote: Remot + title: Localització + media_attachments: Adjunts multimèdia + moderation: + all: Tot + silenced: Silenciat + suspended: Suspès + title: Moderació + most_recent_activity: Activitat més recent + most_recent_ip: IP més recent + not_subscribed: No subscrit + order: + alphabetic: Alfabètic + most_recent: Més recent + title: Ordre + perform_full_suspension: Aplicar suspensió completa + profile_url: URL del perfil + public: Públic + push_subscription_expires: La subscripció PuSH expira + reset_password: Restablir la contrasenya + salmon_url: URL Salmon + show: + created_reports: Informes creats per aquest compte + report: informe + targeted_reports: Informes realitzats sobre aquest compte + silence: Silenci + statuses: Estats + title: Comptes + undo_silenced: Desfer silenci + undo_suspension: Desfer suspensió + username: Nom d'usuari + web: Web + domain_blocks: + add_new: Afegir nou + created_msg: El bloqueig de domini ara s'està processant + destroyed_msg: El bloqueig de domini s'ha desfet + domain: Domini + new: + create: Crear bloqueig + hint: El bloqueig de domini no impedirà la creació de nous comptes en la base de dades, però s´aplicaran mètodes de moderació específics sobre aquests comptes + severity: + desc_html: "Silenci farà les publicacions del compte invisibles a tothom que no l'estigui seguint. Suspendre eliminarà tots els continguts, multimèdia i les dades del perfil del compte." + silence: Silenci + suspend: Suspendre + title: Nou bloqueig de domini + reject_media: Rebutjar arxius multimèdia + reject_media_hint: Elimina arxius multimèdia emmagatzamats localment i impideix descarregar cap en el futur. Irrellevant per suspensions + severities: + silence: Silenci + suspend: Suspendre + severity: Severitat + show: + affected_accounts: + one: Un compte en la base de dades afectat + other: "%{count} comptes en la base de dades afectats" + retroactive: + silence: Desfer el silenci a tots els comptes existents d'aquest domini + suspend: Desfer la suspensió de tots els comptes d'aquest domini + title: Desfer el bloqueig de domini de %{domain} + undo: Desfer + title: Bloquejos de domini + undo: Desfer + instances: + account_count: Comptes coneguts + domain_name: Domini + title: Instàncies conegudes + pubsubhubbub: + callback_url: Callback URL + confirmed: Confirmat + expires_in: Expira en + last_delivery: Últim lliurament + title: PubSubHubbub + topic: Tòpic + reports: + comment: + label: Comentari + none: Cap + delete: Esborra + id: ID + mark_as_resolved: Marca com a resolt + report: 'Informe #%{id}' + report_contents: Continguts + reported_account: Compte reportat + reported_by: Reportat per + resolved: Resolt + silence_account: Silenciar compte + status: Estat + suspend_account: Suspendre compte + target: Objectiu + title: Informes + unresolved: No resolt + view: Vista + settings: + contact_information: + email: Introduir una adreça de correu electrònic pùblica + label: Informació de contacte + username: Introduir un nom d'usuari + registrations: + closed_message: + desc_html: Apareix en la primera pàgina quan es tanquen els registres<a>
i <em>
.
+ title: Descripció del lloc
+ site_description_extended:
+ desc_html: Apareix a la pàgina d'informació estesa