about summary refs log tree commit diff
diff options
context:
space:
mode:
authorKoala Yeung <koalay@gmail.com>2017-04-18 21:21:16 +0800
committerEugen <eugen@zeonfederated.com>2017-04-18 15:21:16 +0200
commit0a1b0246003e19e80241d8711276db790a88235d (patch)
tree5d1bb2b05bb819cef50bc35f6aa98ae5f1a869fb
parent50ed72767d77f3c7cb78111d6ca6c08b37810607 (diff)
Add Occitan (oc) translation (#2077)
* Added oc.yml

* Added `config/locales/oc.yml`.
  Translated in General Occitan (Quent-in).

* Added oc.jsx (Occitan translation)

* Written in General Occitan (lengadocian)
* Added `app/assets/javascripts/components/locales/oc.js`

* Added doorkeeper.oc.yml

* Added `config/locales/doorkeeper.oc.yml` (Quent-in)

* Added simple_form.oc.yml

* Added `config/locales/simple_form.oc.yml` (Quent-in).

* Merge en.yml changes into oc.yml

Added new strings for translations

* Fix typo in oc.yml

* Update javascript locale support (oc)

* Update ruby locale list (oc)

* Fix oc.yml

* Remove obsoleted translations
* Moved old translation of `reports` to `admin.reports`
-rw-r--r--app/assets/javascripts/components/locales/index.jsx1
-rw-r--r--app/assets/javascripts/components/locales/oc.jsx128
-rw-r--r--app/helpers/settings_helper.rb1
-rw-r--r--config/application.rb1
-rw-r--r--config/locales/doorkeeper.oc.yml113
-rw-r--r--config/locales/oc.yml337
-rw-r--r--config/locales/simple_form.oc.yml46
7 files changed, 627 insertions, 0 deletions
diff --git a/app/assets/javascripts/components/locales/index.jsx b/app/assets/javascripts/components/locales/index.jsx
index 7abb315da..b8b68e362 100644
--- a/app/assets/javascripts/components/locales/index.jsx
+++ b/app/assets/javascripts/components/locales/index.jsx
@@ -6,6 +6,7 @@ import hu from './hu';
 import fr from './fr';
 import nl from './nl';
 import no from './no';
+import oc from './oc';
 import pt from './pt';
 import pt_br from './pt-br';
 import uk from './uk';
diff --git a/app/assets/javascripts/components/locales/oc.jsx b/app/assets/javascripts/components/locales/oc.jsx
new file mode 100644
index 000000000..ca21a8c43
--- /dev/null
+++ b/app/assets/javascripts/components/locales/oc.jsx
@@ -0,0 +1,128 @@
+const oc = {
+  "column_back_button.label": "Tornar",
+  "lightbox.close": "Tampar",
+  "loading_indicator.label": "Cargament…",
+  "status.mention": "Mencionar",
+  "status.delete": "Escafar",
+  "status.reply": "Respondre",
+  "status.reblog": "Partejar",
+  "status.favourite": "Apondre als favorits",
+  "status.reblogged_by": "{name} a partejat :",
+  "status.sensitive_warning": "Contengut embarrassant",
+  "status.sensitive_toggle": "Clicar per mostrar",
+  "status.show_more": "Desplegar",
+  "status.show_less": "Tornar plegar",
+  "status.open": "Desplegar aqueste estatut",
+  "status.report": "Senhalar @{name}",
+  "status.load_more": "Cargar mai",
+  "status.media_hidden": "Mèdia rescondut",
+  "video_player.toggle_sound": "Activar/Desactivar lo son",
+  "video_player.toggle_visible": "Mostrar/Rescondre la vidèo",
+  "account.mention": "Mencionar",
+  "account.edit_profile": "Modificar lo perfil",
+  "account.unblock": "Desblocar",
+  "account.unfollow": "Quitar de sègre",
+  "account.block": "Blocar",
+  "account.mute": "Rescondre",
+  "account.unmute": "Quitar de rescondre",
+  "account.follow": "Sègre",
+  "account.posts": "Estatuts",
+  "account.follows": "Abonaments",
+  "account.followers": "Abonats",
+  "account.follows_you": "Vos sèc",
+  "account.requested": "Invitacion mandada",
+  "account.report": "Senhalar",
+  "account.disclaimer": "Aqueste compte es sus una autra instància. Los nombres pòdon èsser mai grandes.",
+  "getting_started.heading": "Per començar",
+  "getting_started.about_addressing": "Podètz sègre los estatuts de qualqu'un en picant son identificant e lo domeni de l'instància separat amb un @ coma una adreàa de corrièl dins lo camp de recèrca.",
+  "getting_started.about_shortcuts": "Se aquesta persona emplega la meteissa instància que vos l'identifican basta. Atal foncionan tanben las mencions dins vòstres estatuts.",
+  "getting_started.about_developer": "Per sègre lo desvolopaire d'aqueste projècte : Gargron@mastodon.social",
+  "getting_started.open_source_notice": "Mastodon es un logicial liure. Podètz contribuir e mandar vòstres comentaris e rapòrt de bug via{github} sus GitHub.",
+  "column.home": "Acuèlh",
+  "column.community": "Fil public local",
+  "column.public": "Fil public global",
+  "column.notifications": "Notificacions",
+  "column.blocks": "Utilizaires blocats",
+  "column.favourites": "Favorits",
+  "column.follow_requests": "Demandas d'abonament",
+  "empty_column.notifications": "Avètz pas encara de notificacions. Respondètz a qualqu'un per començar una conversacion.",
+  "empty_column.public": "I a pas res aquí ! Escribètz quicòm de public, o seguètz d'utilizaires d'autras instàncias per garnir lo fil public.",
+  "empty_column.home": "Pel moment segètz pas segun. Visitatz {public} o utilizatz la recèrca per vos connectar a d'autres personas.",
+  "empty_column.home.public_timeline": "lo fil public",
+  "empty_column.community": "Lo fil public local es void. Escribètz quicòm per lo garnir !",
+  "empty_column.hashtag": "I a pas encara de contengut ligat a aqueste hashtag",
+  "tabs_bar.compose": "Compausar",
+  "tabs_bar.home": "Acuèlh",
+  "tabs_bar.mentions": "Mencions",
+  "tabs_bar.public": "Fil public global",
+  "tabs_bar.notifications": "Notifications",
+  "tabs_bar.local_timeline": "Fil public local",
+  "tabs_bar.federated_timeline": "Fil public global",
+  "compose_form.placeholder": "Qué pensatz ?",
+  "compose_form.publish": "Tut",
+  "compose_form.sensitive": "Marcar lo mèdia coma embarrassant",
+  "compose_form.spoiler": "Rescondre lo tèxte darrièr un avertiment",
+  "compose_form.spoiler_placeholder": "Avertiment",
+  "compose_form.private": "Far venir privat",
+  "compose_form.privacy_disclaimer": "Vòstre estatut privat serà enviat a las personas mencionadas sus {domains}. Vos fisatz d'aqueste{domainsCount, plural, one { servidor} other {s servidors}} per divulgar pas vòstre estatut ? Los estatuts privats foncionan pas que sus las instàncias a Mastodons. Se {domains} {domainsCount, plural, one {es pas una instància a Mastodon} other {son pas d'instàncias a Mastodon}}, i aurà pas d'indicacion disent que vòstre estatut es privat e poirà èsser partejat o èsser visible a de mond pas prevists",
+  "compose_form.unlisted": "Mostrar pas dins los fils publics",
+  "emoji_button.label": "Inserir un emoji",
+  "navigation_bar.edit_profile": "Modificar lo perfil",
+  "navigation_bar.preferences": "Preferéncias",
+  "navigation_bar.community_timeline": "Fil public local",
+  "navigation_bar.public_timeline": "Fil public global",
+  "navigation_bar.blocks": "Utilizaires blocats",
+  "navigation_bar.favourites": "Favorits",
+  "navigation_bar.info": "Mai informacions",
+  "navigation_bar.logout": "Desconnexion",
+  "navigation_bar.follow_requests": "Demandas d'abonament",
+  "reply_indicator.cancel": "Anullar",
+  "search.placeholder": "Recercar",
+  "search.account": "Compte",
+  "search.hashtag": "Mot-clau",
+  "search_results.total": "{count} {count, plural, one {resultat} other {resultats}}",
+  "search.status_by": "Estatuts de {name}",
+  "upload_button.label": "Apondre un mèdia",
+  "upload_form.undo": "Anullar",
+  "upload_progress.label": "Mandadís…",
+  "upload_area.title": "Lisatz e depausatz per mandar",
+  "notification.follow": "{name} vos sèc.",
+  "notification.favourite": "{name} a apondut a sos favorits :",
+  "notification.reblog": "{name} a partejat vòstre estatut :",
+  "notification.mention": "{name} vos a mencionat :",
+  "notifications.column_settings.alert": "Notificacions localas",
+  "notifications.column_settings.show": "Mostrar dins la colomna",
+  "notifications.column_settings.sound": "Emetre un son",
+  "notifications.column_settings.follow": "Nòus abonats :",
+  "notifications.column_settings.favourite": "Favorits :",
+  "notifications.column_settings.mention": "Mencions :",
+  "notifications.column_settings.reblog": "Partatges :",
+  "notifications.clear": "Levar",
+  "notifications.clear_confirmation": "Volètz vertadièrament levar totas vòstras las notificacions ?",
+  "notifications.settings": "Paramètres de la colomna",
+  "privacy.public.short": "Public",
+  "privacy.public.long": "Mostrar dins los fils publics",
+  "privacy.unlisted.short": "Pas-listat",
+  "privacy.unlisted.long": "Mostrar pas dins los fils publics",
+  "privacy.private.short": "Privat",
+  "privacy.private.long": "Mostrar pas qu'a vòstres abonats",
+  "privacy.direct.short": "Dirècte",
+  "privacy.direct.long": "Mostrar pas qu'a las personas mencionadas",
+  "privacy.change": "Ajustar la confidencialitat del messatge",
+  "media_gallery.toggle_visible": "Modificar la visibilitat",
+  "missing_indicator.label": "Pas trobat",
+  "follow_request.authorize": "Autorizar",
+  "follow_request.reject": "Regetar",
+  "home.settings": "Paramètres de la colomna",
+  "home.column_settings.basic": "Basic",
+  "home.column_settings.show_reblogs": "Mostrar los partatges",
+  "home.column_settings.show_replies": "Mostrar las responsas",
+  "home.column_settings.advanced": "Avançat",
+  "home.column_settings.filter_regex": "Filtrar amb una expression racionala",
+  "report.heading": "Nòu senhalament",
+  "report.placeholder": "Comentaris addicionals",
+  "report.submit": "Mandat",
+  "report.target": "Senhalament"
+};
+
+export default oc;
diff --git a/app/helpers/settings_helper.rb b/app/helpers/settings_helper.rb
index 01900b87f..a4ca72c97 100644
--- a/app/helpers/settings_helper.rb
+++ b/app/helpers/settings_helper.rb
@@ -12,6 +12,7 @@ module SettingsHelper
     it: 'Italiano',
     nl: 'Nederlands',
     no: 'Norsk',
+    oc: 'Occitan',
     pt: 'Português',
     'pt-BR': 'Português do Brasil',
     fi: 'Suomi',
diff --git a/config/application.rb b/config/application.rb
index 396ac33f1..5b86cddb4 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -38,6 +38,7 @@ module Mastodon
       :ja,
       :nl,
       :no,
+      :oc,
       :pt,
       :'pt-BR',
       :ru,
diff --git a/config/locales/doorkeeper.oc.yml b/config/locales/doorkeeper.oc.yml
new file mode 100644
index 000000000..b60c28404
--- /dev/null
+++ b/config/locales/doorkeeper.oc.yml
@@ -0,0 +1,113 @@
+---
+oc:
+  activerecord:
+    attributes:
+      doorkeeper/application:
+        name: Nom
+        redirect_uri: URL de redireccion
+    errors:
+      models:
+        doorkeeper/application:
+          attributes:
+            redirect_uri:
+              fragment_present: pòt pas conténer un tròç.
+              invalid_uri: deu èstre un URI valid.
+              relative_uri: deu èstre un URI absolut.
+              secured_uri: deu èstre un HTTPS/SSL URI.
+  doorkeeper:
+    applications:
+      buttons:
+        authorize: Autorizar
+        cancel: Anullar
+        destroy: Suprimir
+        edit: Modificar
+        submit: Mandar
+      confirmations:
+        destroy: Sètz segur ?
+      edit:
+        title: Modificar l'aplicacion
+      form:
+        error: Ops ! Verificatz vòstre formulari
+      help:
+        native_redirect_uri: Emplegatz %{native_redirect_uri} per d'ensages locales
+        redirect_uri: Utilizatz una linha per URI
+        scopes: Separatz los encastres amb d’espacis. Daissatz void per utilizar l’encastre per defaut.
+      index:
+        callback_url: URL de rapèl
+        name: Nom
+        new: Nòva aplicacion
+        title: Vòstra aplicacions
+      new:
+        title: Nòva aplicacion
+      show:
+        actions: Accions
+        application_id: Id de l’aplicacion
+        callback_urls: urls de rapèls
+        scopes: Encastres
+        secret: Secret
+        title: 'Aplicacion: %{name}'
+    authorizations:
+      buttons:
+        authorize: Autorizar
+        deny: Refusar
+      error:
+        title: I a agut un error
+      new:
+        able_to: Aquesta aplicacion poirà
+        prompt: L’aplicacion %{client_name} demanda l’accès al vòstre compte.
+        title: Cal l’autorizacion
+      show:
+        title: Còdi d’autorizacion
+    authorized_applications:
+      buttons:
+        revoke: Revocar
+      confirmations:
+        revoke: Ne sètz segur?
+      index:
+        application: Aplicacion
+        created_at: Creada lo
+        date_format: "%d-%m-%Y %Ho%M %S"
+        scopes: Encastres
+        title: Las vòstras aplicacions autorizadas
+    errors:
+      messages:
+        access_denied: Lo proprietari de la ressorça o lo servider d’autorizacion refusèt la demanda.
+        credential_flow_not_configured: Lo flux de qualificacion del senhal del proprietari de la ressorça capitèt pas pr’amor que Doorkeeper.configure.resource_owner_from_credentials es pas configurat.
+        invalid_client: L’autorizacion del client capitèt pas pr’amor que lo client es desconegut, l’autorizacion del client es pas enclús, o lo metòde d’autorizacion es pas suportat.
+        invalid_grant: L’acòrdi d’autorizacion donadat es pas valid, expirat, revocat, una redireccion URI utilizat en la demanda d’autorizacion no correspond, o a estat desliurat a un altre client.
+        invalid_redirect_uri: L'URL de redireccion es pas valida.
+        invalid_request: La demanda a un paramètre que li manca, a una valor qu’es pas suportada, o quicòm mal format.
+        invalid_resource_owner: La qualificacion del proprietari de la ressorça donada es pas valid, o lo proprietari de la ressorça se pòt pas trobar.
+        invalid_scope: L’encastre demandat es pas valid, o mal format.
+        invalid_token:
+          expired: Lo geton d’accès a expirat
+          revoked: Lo geton d’accès a estat revocat
+          unknown: Lo geton d’accès es pas valid
+        resource_owner_authenticator_not_configured: La recèrca del proprietari de la ressorça a pas capitat pr’amor que Doorkeeper.configure.resource_owner_authenticator es pas configurat.
+        server_error: Lo servider d’autorizacion trobèt una condicion que l’empachèt d’acomplir la demanda.
+        temporarily_unavailable: Lo servider d’autorizacion pòt actualament pas menar la demanda pr’amor que es temporalament subrecargat o es en mantenença.
+        unauthorized_client: Lo client es pas autorizat a far aquesta demanda en utlizant aqueste metòde.
+        unsupported_grant_type: Lo tipe de qualificacion de l’autorizacion es pas suportat pel servider d’autorizacion.
+        unsupported_response_type: Lo servider d’autorizacion supòrta pas aqueste tipe de responsa.
+    flash:
+      applications:
+        create:
+          notice: Aplicacion creada.
+        destroy:
+          notice: Aplicacion escafada.
+        update:
+          notice: Aplicacion mesa a jorn.
+      authorized_applications:
+        destroy:
+          notice: Aplicacion revocada.
+    layouts:
+      admin:
+        nav:
+          applications: Aplicacions
+          oauth2_provider: Provesidor OAuth
+      application:
+        title: Cal una autorizacion OAuth
+    scopes:
+      follow: sègre, blocar, quitar de blocar e quitar de sègre de comptes
+      read: legissètz las donadas de vòstre compte
+      write: publicatz per vos
diff --git a/config/locales/oc.yml b/config/locales/oc.yml
new file mode 100644
index 000000000..46e32d8d3
--- /dev/null
+++ b/config/locales/oc.yml
@@ -0,0 +1,337 @@
+---
+oc:
+  about:
+    about_mastodon: Mastodon es un malhum social <em>liure e open-source</em>. Una
+      alternativa <em>decentralizada</em> a las platformas comercialas, aquò evita
+      qu’una sola companiá monopolize vòstra comunicacion. Causissètz une servidor
+      que vos fisatz, quina que siague vòstra causida, podètz interagir amb tot lo
+      mond. Qual que siague pòt aver son instància Mastodon e participar al <em>malhum
+      social</em> sens cap de problèmas.
+    about_this: A prepaus d’aquesta instància
+    apps: Aplicacions
+    business_email: 'Corrièl professional :'
+    closed_registrations: Las inscripcions son clavadas pel moment sus aquesta instància.
+    contact: Contacte
+    description_headline: Qué es %{domain} ?
+    domain_count_after: autras instàncias
+    domain_count_before: Connectat a
+    features:
+      api: API dobèrta per las aplicacions e servicis
+      blocks: Aisinas complètas per blocar e rescondre
+      characters: 500 caractèrs per publicacion
+      chronology: Flux d’actualitat cronologic
+      ethics: 'Ethical design: pas cap de reclama o traçadors'
+      gifv: Partatge de GIFs e vidèos cortas
+      privacy: Nivèl de confidencialitat configurable per cada publicacion
+      public: Fluxes d’actualitat publicsPublic timelines
+    features_headline: Çò que fa que Mastodon es diferent
+    get_started: Venètz al malhum
+    links: Ligams
+    other_instances: Autras instàncias
+    source_code: Còdi font
+    status_count_after: publicacions
+    status_count_before: a escrich
+    terms: Tèrmes
+    user_count_after: utilizaires
+    user_count_before: Ostal de
+  accounts:
+    follow: Sègre
+    followers: Abonats
+    following: Abonaments
+    nothing_here: I a pas res aquí !
+    people_followed_by: Lo mond que %{name} sèc
+    people_who_follow: Lo mond que ségon %{name}
+    posts: Estatuts
+    remote_follow: Sègre a distància
+    unfollow: Quitar de sègre
+  admin:
+    accounts:
+      are_you_sure: Are you sure?
+      display_name: Display name
+      domain: Domain
+      edit: Edit
+      email: E-mail
+      feed_url: Feed URL
+      followers: Followers
+      follows: Follows
+      location:
+        all: All
+        local: Local
+        remote: Remote
+        title: Location
+      media_attachments: Media attachments
+      moderation:
+        all: All
+        silenced: Silenced
+        suspended: Suspended
+        title: Moderation
+      most_recent_activity: Most recent activity
+      most_recent_ip: Most recent IP
+      not_subscribed: Not subscribed
+      order:
+        alphabetic: Alphabetic
+        most_recent: Most recent
+        title: Order
+      perform_full_suspension: Perform full suspension
+      profile_url: Profile URL
+      public: Public
+      push_subscription_expires: PuSH subscription expires
+      reset_password: Reset password
+      salmon_url: Salmon URL
+      silence: Silence
+      statuses: Statuses
+      title: Accounts
+      undo_silenced: Undo silence
+      undo_suspension: Undo suspension
+      username: Username
+      web: Web
+    domain_blocks:
+      add_new: Add new
+      created_msg: Domain block is now being processed
+      destroyed_msg: Domain block has been undone
+      domain: Domain
+      new:
+        create: Create block
+        hint: The domain block will not prevent creation of account entries in the
+          database, but will retroactively and automatically apply specific moderation
+          methods on those accounts.
+        severity:
+          desc_html: "<strong>Silence</strong> will make the account's posts invisible
+            to anyone who isn't following them. <strong>Suspend</strong> will remove
+            all of the account's content, media, and profile data."
+          silence: Silence
+          suspend: Suspend
+        title: New domain block
+      reject_media: Reject media files
+      reject_media_hint: Removes locally stored media files and refuses to download
+        any in the future. Irrelevant for suspensions
+      severities:
+        silence: Silence
+        suspend: Suspend
+      severity: Severity
+      show:
+        affected_accounts:
+          one: One account in the database affected
+          other: "%{count} accounts in the database affected"
+        retroactive:
+          silence: Unsilence all existing accounts from this domain
+          suspend: Unsuspend all existing accounts from this domain
+        title: Undo domain block for %{domain}
+        undo: Undo
+      title: Domain Blocks
+      undo: Undo
+    pubsubhubbub:
+      callback_url: Callback URL
+      confirmed: Confirmed
+      expires_in: Expires in
+      last_delivery: Last delivery
+      title: PubSubHubbub
+      topic: Topic
+    reports:
+      comment:
+        label: Comentari
+        none: Pas cap
+      delete: Suprimir
+      id: ID
+      mark_as_resolved: Marcat coma resolgut
+      report: 'enhalament #%{id}'
+      reported_account: Compte senhalat
+      reported_by: Senhalat per
+      resolved: Resolgut
+      silence_account: Metre lo compte en silenci
+      status: Estatut
+      suspend_account: Suspendre lo compte
+      target: Cibla
+      title: Senhalament
+      unresolved: Pas resolguts
+      view: Veire
+    settings:
+      click_to_edit: Clicatz per modificar
+      contact_information:
+        email: Picatz una adreça de corrièl
+        label: Informacions de contacte
+        username: Picatz un nom d'utilizaire
+      registrations:
+        closed_message:
+          desc_html: Affiché sur la page d'accueil lorsque les inscriptions sont fermées<br>Vous
+            pouvez utiliser des balises HTML
+          title: Message de fermeture des inscriptions
+        open:
+          disabled: Desactivadas
+          enabled: Activadas
+          title: Inscripcions
+      setting: Paramètre
+      site_description:
+        desc_html: Affichée sous la forme d'un paragraphe sur la page d'accueil et
+          utilisée comme balise meta.<br>Vous pouvez utiliser des balises HTML, en
+          particulier <code>&lt;a&gt;</code> et <code>&lt;em&gt;</code>.
+        title: Descripcion del site
+      site_description_extended:
+        desc_html: Affichée sur la page d'informations complémentaires du site<br>Vous
+          pouvez utiliser des balises HTML
+        title: Description étendue du site
+      site_title: Títol del site
+      title: Paramètres del site
+    title: Administration
+  application_mailer:
+    settings: 'Cambiar las preferéncias de corrièl : %{link}'
+    signature: Notificacion de Mastodon de %{instance}
+    view: 'Veire :'
+  applications:
+    invalid_url: L’URL donada es invalida
+  auth:
+    change_password: Cambiar lo senhal
+    didnt_get_confirmation: Avètz pas recebut las instruccions de confirmacion ?
+    forgot_password: Senhal oblidat ?
+    login: Se connectar
+    logout: Se desconnectar
+    register: Se marcar
+    resend_confirmation: Tornar mandar las instruccions de confirmacion
+    reset_password: Reïnicializar lo senhal
+    set_new_password: Picar un nòu senhal
+  authorize_follow:
+    error: O planhèm, i a agut una error al moment de cercar lo compte
+    follow: Sègre
+    prompt_html: 'Avètz (<strong>%{self}</strong>) demandat de sègre :'
+    title: Sègre %{acct}
+  datetime:
+    distance_in_words:
+      about_x_hours: "%{count}oras"
+      about_x_months: "%{count}meses"
+      about_x_years:
+        one: un an
+        other: "%{count} ans"
+      almost_x_years:
+        one: un an
+        other: "%{count} ans"
+      half_a_minute: Ara
+      less_than_x_minutes: "%{count}minutas"
+      less_than_x_seconds: Ara
+      over_x_years:
+        one: un an
+        other: "%{count} ans"
+      x_days: "%{count}jorns"
+      x_minutes: "%{count}minutes"
+      x_months: "%{count}meses"
+      x_seconds: "%{count}segondas"
+  errors:
+    '404': La pagina que recercatz existís pas.
+    '410': La pagina que cercatz existís pas mai.
+    '422':
+      content: Verificacion de seguretat fracassada. Blocatz los cookies ?
+      title: Verificacion de seguretat fracassada
+  exports:
+    blocks: Blocatz
+    csv: CSV
+    follows: Seguètz
+    mutes: You mute
+    storage: Mèdias gardats
+  generic:
+    changes_saved_msg: Cambiaments ben realizats !
+    powered_by: propulsat per %{link}
+    save_changes: Salvagardar los cambiaments
+    validation_errors:
+      one: I a quicòm que truca ! Mercés de corregir l’error çai-jos
+      other: I a quicòm que truca ! Mercés de corregir las %{count} errors çai-jos
+  imports:
+    preface: Podètz importar qualques donadas coma lo mond que seguètz o blocatz a-n
+      aquesta instància d’un fichièr creat d’una autra instància.
+    success: Vòstras donadas son ben estadas mandadas e seràn tractadas tre que possible
+    types:
+      blocking: Lista de blocatge
+      following: Lista de mond que seguètz
+      muting: Muting list
+    upload: Importar
+  landing_strip_html: <strong>%{name}</strong> es un utilizaire de <strong>%{domain}</strong>.
+    Podètz lo sègre o interagir amb eles s’avètz un compte ont que siasgue sul fediverse.
+    Autrament podètz <a href="%{sign_up_path}">vos marcar aquí</a>.
+  media_attachments:
+    validations:
+      images_and_video: Cannot attach a video to a status that already contains images
+      too_many: Cannot attach more than 4 files
+  notification_mailer:
+    digest:
+      body: 'Trobatz aquí un resumit de çò qu’avètz mancat dempuèi vòstra darrièra
+        visita lo %{since}:'
+      mention: "%{name} vos amencionat dins :"
+      new_followers_summary:
+        one: Avètz un nòu abonat ! Ouà !
+        other: Avètz %{count} nòus abonats ! Qué crane !
+      subject:
+        one: "Una nòva notificacion dempuèi vòstra darrièra visita \U0001F418"
+        other: "%{count} nòvas notificacions dempuèi vòstra darrièra visita \U0001F418"
+    favourite:
+      body: "%{name} a mes vòstre estatut en favorit :"
+      subject: "%{name} a mes vòstre estatut en favorit"
+    follow:
+      body: "%{name} vos sèc ara !"
+      subject: "%{name} es a vos sègre ara"
+    follow_request:
+      body: "%{name} a demandar a vos sègre"
+      subject: 'Demanda d’abonament : %{name}'
+    mention:
+      body: 'Sètz estat mencionat per %{name} dins :'
+      subject: Sètz estat mencionat per %{name}
+    reblog:
+      body: "%{name} a tornat partejar vòstre estatut :"
+      subject: "%{name} a tornat partejar vòstre estatut"
+  pagination:
+    next: Seguent
+    prev: Precedent
+    truncate: "&hellip;"
+  remote_follow:
+    acct: Picatz vòstre utilizaire@instància per utilizar per sègre aqueste utilizaire
+    missing_resource: URL de redireccion pas trobada
+    proceed: Contunhatz per sègre
+    prompt: 'Sètz per sègre :'
+  settings:
+    authorized_apps: Aplicacions autorizadas
+    back: Tornar a Mastodon
+    edit_profile: Modificar lo perfil
+    export: Export donadas
+    import: Import
+    preferences: Preferéncias
+    settings: Paramètres
+    two_factor_auth: Autentificacion en dos temps
+  statuses:
+    open_in_web: Dobrir sul web
+    over_character_limit: limit de %{max} caractèrs passat
+    show_more: Ne veire mai
+    visibilities:
+      private: Mostrar pas qu’als abonats
+      public: Public
+      unlisted: Public, mai pas afichat sul flux d’actualitat public
+  stream_entries:
+    click_to_show: Clic per afichar
+    reblogged: partejat
+    sensitive_content: Contengut sensible
+  time:
+    formats:
+      default: "%b %d %Y a %H o %M"
+  two_factor_auth:
+    code_hint: Enter the code generated by your authenticator app to confirm
+    description_html: S’activatz <strong> l’autentificacion two-factor</strong>, vos
+      caldrà vòstre mobil per vos connectar perque generarà un geton per vos daissar
+      dintrar.
+    disable: Desactivar
+    enable: Activar
+    enabled_success: Two-factor authentication successfully enabled
+    generate_recovery_codes: Generate Recovery Codes
+    instructions_html: "<strong>Escanatz aqueste còdi QR amb Google Authenticator
+      o una aplicacion similària sus vòstre mobil</strong>. A partir d’ara, aquesta
+      aplicacion generarà un geton que vos caldrà picar per vos connectar."
+    lost_recovery_codes: Recovery codes allow you to regain access to your account
+      if you lose your phone. If you've lost your recovery codes, you can regenerate
+      them here. Your old recovery codes will be invalidated.
+    manual_instructions: 'If you can''t scan the QR code and need to enter it manually,
+      here is the plain-text secret:'
+    recovery_codes_regenerated: Recovery codes successfully regenerated
+    recovery_instructions: If you ever lose access to your phone, you can use one
+      of the recovery codes below to regain access to your account. Keep the recovery
+      codes safe, for example by printing them and storing them with other important
+      documents.
+    setup: Set up
+    wrong_code: The entered code was invalid! Are server time and device time correct?
+  users:
+    invalid_email: L’adreça de corrièl es invalida
+    invalid_otp_token: Còdi d’autentificacion en dos temps invalid
diff --git a/config/locales/simple_form.oc.yml b/config/locales/simple_form.oc.yml
new file mode 100644
index 000000000..fb2bec1b4
--- /dev/null
+++ b/config/locales/simple_form.oc.yml
@@ -0,0 +1,46 @@
+---
+oc:
+  simple_form:
+    hints:
+      defaults:
+        avatar: PNG, GIF o JPG. Maximum 2 Mo. Serà retalhat en 120x120px
+        display_name: Maximum 30 caractèrs
+        header: PNG, GIF o JPG. Maximum 2 Mo. Serà retalhat en 700x335px
+        locked: Demanda qu’accepetatz manualament lo mond que vos sègon e botarà la visibilitat de vòstras publicacions coma accessiblas a vòstres abonats solament
+        note: Maximum 160 caractèrs
+      imports:
+        data: Fichièr CSV exportat d’una autra instància Mastodon
+    labels:
+      defaults:
+        avatar: Avatar
+        confirm_new_password: Confirmacion del nòu senhal
+        confirm_password: Confirmatz lo nòu senhal
+        current_password: Senhal actual
+        data: Data
+        display_name: Escais
+        email: Corrièl
+        header: Bandièra
+        locale: Lenga
+        locked: Far venir lo compte privat
+        new_password: Nòu senhal
+        note: Bio
+        otp_attempt: Còdi Two-factor
+        password: Senhal
+        setting_default_privacy: Confidencialitat de las publicacions
+        type: Tip d’impòrt
+        username: Nom d’utilizaire
+      interactions:
+        must_be_follower: Blocar las notificacions del mond que vos sègon pas
+        must_be_following: Blocar las notificacions del mond que seguètz pas
+      notification_emails:
+        digest: Enviar un corrièl recapitulatiu
+        favourite: Enviar un corrièl quand qualqu’un plaça vòstre estatut en favorit
+        follow: Enviar un corrièl quand qualqu’un vos sèc
+        follow_request: Enviar un corrièl quand qualqu’un demanda de vos sègre
+        mention: Enviar un corrièl quand qualqu’un vos menciona
+        reblog: Enviar un corrièl quand qualqu’un tòrna partejar vòstre estatut
+    'no': 'Non'
+    required:
+      mark: "*"
+      text: requesit
+    'yes': 'Òc'