diff options
author | David Yip <yipdw@member.fsf.org> | 2017-09-09 14:27:47 -0500 |
---|---|---|
committer | David Yip <yipdw@member.fsf.org> | 2017-09-09 14:27:47 -0500 |
commit | b9f7bc149b2a6abfbdaee83e6992b617b8bdb18e (patch) | |
tree | 355225f4424a6ea1b40c66c5540ccab42096e3bf /config | |
parent | e18ed4bbc7ab4e258d05a3e2a5db0790f67a8f37 (diff) | |
parent | 5d170587e3b6c1a3b3ebe0910b62a4c526e2900d (diff) |
Merge branch 'origin/master' into sync/upstream
Conflicts: app/javascript/mastodon/components/status_list.js app/javascript/mastodon/features/notifications/index.js app/javascript/mastodon/features/ui/components/modal_root.js app/javascript/mastodon/features/ui/components/onboarding_modal.js app/javascript/mastodon/features/ui/index.js app/javascript/styles/about.scss app/javascript/styles/accounts.scss app/javascript/styles/components.scss app/presenters/instance_presenter.rb app/services/post_status_service.rb app/services/reblog_service.rb app/views/about/more.html.haml app/views/about/show.html.haml app/views/accounts/_header.html.haml config/webpack/loaders/babel.js spec/controllers/api/v1/accounts/credentials_controller_spec.rb
Diffstat (limited to 'config')
33 files changed, 537 insertions, 252 deletions
diff --git a/config/brakeman.ignore b/config/brakeman.ignore index f9bc77069..dbb59dd07 100644 --- a/config/brakeman.ignore +++ b/config/brakeman.ignore @@ -3,14 +3,33 @@ { "warning_type": "Dynamic Render Path", "warning_code": 15, + "fingerprint": "44d3f14e05d8fbb5b23e13ac02f15aa38b2a2f0f03b9ba76bab7f98e155a4a4e", + "check_name": "Render", + "message": "Render path contains parameter value", + "file": "app/views/stream_entries/embed.html.haml", + "line": 3, + "link": "http://brakemanscanner.org/docs/warning_types/dynamic_render_path/", + "code": "render(action => \"stream_entries/#{Account.find_local!(params[:account_username]).statuses.find(params[:id]).stream_entry.activity_type.downcase}\", { Account.find_local!(params[:account_username]).statuses.find(params[:id]).stream_entry.activity_type.downcase.to_sym => Account.find_local!(params[:account_username]).statuses.find(params[:id]).stream_entry.activity, :centered => true })", + "render_path": [{"type":"controller","class":"StatusesController","method":"embed","line":35,"file":"app/controllers/statuses_controller.rb"}], + "location": { + "type": "template", + "template": "stream_entries/embed" + }, + "user_input": "params[:id]", + "confidence": "Weak", + "note": "" + }, + { + "warning_type": "Dynamic Render Path", + "warning_code": 15, "fingerprint": "9f31d941f3910dba2e9bfcd81aef4513249bd24c02d0f98e13ad44fdeeccd0e8", "check_name": "Render", "message": "Render path contains parameter value", "file": "app/views/admin/accounts/index.html.haml", - "line": 32, + "line": 63, "link": "http://brakemanscanner.org/docs/warning_types/dynamic_render_path/", "code": "render(action => filtered_accounts.page(params[:page]), {})", - "render_path": [{"type":"controller","class":"Admin::AccountsController","method":"index","line":7,"file":"app/controllers/admin/accounts_controller.rb"}], + "render_path": [{"type":"controller","class":"Admin::AccountsController","method":"index","line":10,"file":"app/controllers/admin/accounts_controller.rb"}], "location": { "type": "template", "template": "admin/accounts/index" @@ -42,25 +61,6 @@ { "warning_type": "Dynamic Render Path", "warning_code": 15, - "fingerprint": "c417f9d44ab05dd9cf3d5ec9df2324a5036774c151181787b32c4c940623191b", - "check_name": "Render", - "message": "Render path contains parameter value", - "file": "app/views/stream_entries/embed.html.haml", - "line": 2, - "link": "http://brakemanscanner.org/docs/warning_types/dynamic_render_path/", - "code": "render(action => Account.find_local!(params[:account_username]).stream_entries.where(:activity_type => \"Status\").find(params[:id]).activity_type.downcase, { Account.find_local!(params[:account_username]).stream_entries.where(:activity_type => \"Status\").find(params[:id]).activity_type.downcase.to_sym => Account.find_local!(params[:account_username]).stream_entries.where(:activity_type => \"Status\").find(params[:id]).activity, :centered => true })", - "render_path": [{"type":"controller","class":"StreamEntriesController","method":"embed","line":32,"file":"app/controllers/stream_entries_controller.rb"}], - "location": { - "type": "template", - "template": "stream_entries/embed" - }, - "user_input": "params[:id]", - "confidence": "Weak", - "note": "" - }, - { - "warning_type": "Dynamic Render Path", - "warning_code": 15, "fingerprint": "c5d6945d63264af106d49367228d206aa2f176699ecdce2b98fac101bc6a96cf", "check_name": "Render", "message": "Render path contains parameter value", @@ -84,10 +84,10 @@ "check_name": "Render", "message": "Render path contains parameter value", "file": "app/views/stream_entries/show.html.haml", - "line": 19, + "line": 23, "link": "http://brakemanscanner.org/docs/warning_types/dynamic_render_path/", "code": "render(partial => \"stream_entries/#{Account.find_local!(params[:account_username]).statuses.find(params[:id]).stream_entry.activity_type.downcase}\", { :locals => ({ Account.find_local!(params[:account_username]).statuses.find(params[:id]).stream_entry.activity_type.downcase.to_sym => Account.find_local!(params[:account_username]).statuses.find(params[:id]).stream_entry.activity, :include_threads => true }) })", - "render_path": [{"type":"controller","class":"StatusesController","method":"show","line":15,"file":"app/controllers/statuses_controller.rb"}], + "render_path": [{"type":"controller","class":"StatusesController","method":"show","line":20,"file":"app/controllers/statuses_controller.rb"}], "location": { "type": "template", "template": "stream_entries/show" @@ -97,6 +97,6 @@ "note": "" } ], - "updated": "2017-05-07 08:26:06 +0900", - "brakeman_version": "3.6.1" + "updated": "2017-08-30 05:14:04 +0200", + "brakeman_version": "3.7.2" } diff --git a/config/environment.rb b/config/environment.rb index 426333bb4..caae5f1a0 100644 --- a/config/environment.rb +++ b/config/environment.rb @@ -3,3 +3,5 @@ require_relative 'application' # Initialize the Rails application. Rails.application.initialize! + +ActiveRecord::SchemaDumper.ignore_tables = ['deprecated_preview_cards'] diff --git a/config/environments/development.rb b/config/environments/development.rb index 4c60965c8..59bc2c3e2 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -16,9 +16,10 @@ Rails.application.configure do if Rails.root.join('tmp/caching-dev.txt').exist? config.action_controller.perform_caching = true - config.cache_store = :memory_store + config.cache_store = :redis_store, ENV['REDIS_URL'], REDIS_CACHE_PARAMS + config.public_file_server.headers = { - 'Cache-Control' => "public, max-age=#{2.days.seconds.to_i}" + 'Cache-Control' => "public, max-age=#{2.days.seconds.to_i}", } else config.action_controller.perform_caching = false diff --git a/config/i18n-tasks.yml b/config/i18n-tasks.yml index 849e8116a..b51cf46df 100644 --- a/config/i18n-tasks.yml +++ b/config/i18n-tasks.yml @@ -36,7 +36,7 @@ ignore_missing: - 'activerecord.attributes.*' - 'activerecord.errors.*' - '{devise,pagination,doorkeeper}.*' - - '{date,datetime,time}.*' + - '{date,datetime,time,number}.*' - 'simple_form.{yes,no}' - 'simple_form.{placeholders,hints,labels}.*' - 'simple_form.{error_notification,required}.:' @@ -50,7 +50,7 @@ ignore_unused: - 'activerecord.attributes.*' - 'activerecord.errors.*' - '{devise,pagination,doorkeeper}.*' - - '{date,datetime,time}.*' + - '{date,datetime,time,number}.*' - 'simple_form.{yes,no}' - 'simple_form.{placeholders,hints,labels}.*' - 'simple_form.{error_notification,required}.:' diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb index e6b0e90cb..64c4e12ff 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -154,7 +154,7 @@ Devise.setup do |config| # their account can't be confirmed with the token any more. # Default is nil, meaning there is no restriction on how long a user can take # before confirming their account. - # config.confirm_within = 3.days + config.confirm_within = 2.days # If true, requires any email changes to be confirmed (exactly the same way as # initial account confirmation) to be applied. Requires additional unconfirmed_email @@ -167,7 +167,7 @@ Devise.setup do |config| # ==> Configuration for :rememberable # The time the user will be remembered without asking for credentials again. - # config.remember_for = 2.weeks + config.remember_for = 1.year # Invalidates all the remember me tokens when the user signs out. config.expire_all_remember_me_on_sign_out = true @@ -177,7 +177,7 @@ Devise.setup do |config| # Options to be passed to the created cookie. For instance, you can set # secure: true in order to force SSL only cookies. - # config.rememberable_options = {} + config.rememberable_options = { secure: true } # ==> Configuration for :validatable # Range for password length. diff --git a/config/initializers/doorkeeper.rb b/config/initializers/doorkeeper.rb index 056a3651a..689e2ac4a 100644 --- a/config/initializers/doorkeeper.rb +++ b/config/initializers/doorkeeper.rb @@ -50,7 +50,7 @@ Doorkeeper.configure do # Optional parameter :confirmation => true (default false) if you want to enforce ownership of # a registered application # Note: you must also run the rails g doorkeeper:application_owner generator to provide the necessary support - # enable_application_owner :confirmation => true + enable_application_owner # Define access token scopes for your provider # For more information go to diff --git a/config/initializers/inflections.rb b/config/initializers/inflections.rb index 44e54c9f3..bf0cb52a3 100644 --- a/config/initializers/inflections.rb +++ b/config/initializers/inflections.rb @@ -17,4 +17,5 @@ ActiveSupport::Inflector.inflections(:en) do |inflect| inflect.acronym 'ActivityPub' inflect.acronym 'PubSubHubbub' inflect.acronym 'ActivityStreams' + inflect.acronym 'JsonLd' end diff --git a/config/initializers/json_ld.rb b/config/initializers/json_ld.rb new file mode 100644 index 000000000..2ddc7352d --- /dev/null +++ b/config/initializers/json_ld.rb @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +require_relative '../../lib/json_ld/identity' +require_relative '../../lib/json_ld/security' +require_relative '../../lib/json_ld/activitystreams' diff --git a/config/initializers/mime_types.rb b/config/initializers/mime_types.rb index 30e91ad63..58a6c0063 100644 --- a/config/initializers/mime_types.rb +++ b/config/initializers/mime_types.rb @@ -1,4 +1,4 @@ # Be sure to restart your server when you modify this file. -Mime::Type.register 'application/json', :json, %w(text/x-json application/jsonrequest application/jrd+json application/activity+json) +Mime::Type.register 'application/json', :json, %w(text/x-json application/jsonrequest application/jrd+json application/activity+json application/ld+json) Mime::Type.register 'text/xml', :xml, %w(application/xml application/atom+xml application/xrd+xml) diff --git a/config/initializers/ostatus.rb b/config/initializers/ostatus.rb index 342996dcd..a885545f8 100644 --- a/config/initializers/ostatus.rb +++ b/config/initializers/ostatus.rb @@ -5,7 +5,7 @@ host = ENV.fetch('LOCAL_DOMAIN') { "localhost:#{port}" } web_host = ENV.fetch('WEB_DOMAIN') { host } https = ENV['LOCAL_HTTPS'] == 'true' -alternate_domains = ENV.fetch('ALTERNATE_DOMAINS') { "" } +alternate_domains = ENV.fetch('ALTERNATE_DOMAINS') { '' } Rails.application.configure do config.x.local_domain = host @@ -17,6 +17,7 @@ Rails.application.configure do config.action_mailer.default_url_options = { host: web_host, protocol: https ? 'https://' : 'http://', trailing_slash: false } config.x.streaming_api_base_url = 'ws://localhost:4000' + config.x.use_ostatus_privacy = true if Rails.env.production? config.x.streaming_api_base_url = ENV.fetch('STREAMING_API_BASE_URL') { "ws#{https ? 's' : ''}://#{web_host}" } diff --git a/config/initializers/rack_attack.rb b/config/initializers/rack_attack.rb index d5cd77b34..53cb106ca 100644 --- a/config/initializers/rack_attack.rb +++ b/config/initializers/rack_attack.rb @@ -33,6 +33,7 @@ class Rack::Attack match_data = env['rack.attack.match_data'] headers = { + 'Content-Type' => 'application/json', 'X-RateLimit-Limit' => match_data[:limit].to_s, 'X-RateLimit-Remaining' => '0', 'X-RateLimit-Reset' => (now + (match_data[:period] - now.to_i % match_data[:period])).iso8601(6), diff --git a/config/locales/ca.yml b/config/locales/ca.yml index a9f9e4c93..b6bff8288 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -5,15 +5,34 @@ ca: about_this: Sobre aquesta instància closed_registrations: Els registres estan actualment tancats en aquesta instància. contact: Contacte + contact_missing: No configurat + contact_unavailable: N/A description_headline: Què es %{domain}? domain_count_after: altres instàncies domain_count_before: Connectat a + extended_description_html: | + <h3>Un bon lloc per les regles</h3> + <p>Encara no s'ha configurat la descripció ampliada.</p> + features: + humane_approach_body: Aprenent dels errors d'altres xarxes, Mastodon té com a objectiu fer ètiques eleccions de disseny per combatre el mal ús de les xarxes socials. + humane_approach_title: Un enfocament més humà + not_a_product_body: Mastodon no és una xarxa comercial. Sense publicitat, sense mineria de dades, sense jardins amurallats. No hi ha autoritat central. + not_a_product_title: Ets una persona, no un producte + real_conversation_body: Amb 500 caràcters a la teva disposició i suport per a continguts granulars i avisos multimèdia, pots expressar-te de la manera que vulguis. + real_conversation_title: Construït per a converses reals + within_reach_body: Diverses aplicacions per a iOS, Android i altres plataformes gràcies a un ecosistema API amable amb el desenvolupador, et permet mantenir-te al dia amb els teus amics en qualsevol lloc.. + within_reach_title: Sempre a l'abast + find_another_instance: Troba altres instàncies + generic_description: "%{domain} és un servidor a la xarxa" + hosted_on: Mastodon allotjat a %{domain} + learn_more: Aprèn més other_instances: Altres instàncies source_code: Codi font status_count_after: estats status_count_before: Que han escrit user_count_after: usuaris registrats user_count_before: Tenim + what_is_mastodon: Què és Mastodon? accounts: follow: Seguir followers: Seguidors @@ -90,12 +109,14 @@ ca: 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: "<strong>Silenci</strong> 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." + noop: Cap 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: + noop: Cap silence: Silenci suspend: Suspendre severity: Severitat @@ -146,16 +167,41 @@ ca: closed_message: desc_html: Apareix en la primera pàgina quan es tanquen els registres<br>Pot utilitzar etiquetes HTML title: Missatge de registre tancat + deletion: + desc_html: Permet a qualsevol esborrar el seu compte + title: Obrir la supressió del compte open: + desc_html: Permet que qualsevol pugui crear un compte title: Registre obert site_description: desc_html: Es mostra com un paràgraf a la pàgina principal i s'utilitza com una etiqueta meta.<br>Pots utilitzar etiquetes HTML, en particular <code><a></code> i <code><em></code>. title: Descripció del lloc site_description_extended: - desc_html: Apareix a la pàgina d'informació estesa<br>Pot utilitzar etiquetes HTML + desc_html: Un bon lloc per al vostre codi de conducta, regles, directrius i altres coses que distingeixen la vostra instància. Podeu utilitzar etiquetes HTML title: Descripció estesa del lloc + site_terms: + desc_html: Pots escriure la teva pròpia política de privadesa, els termes del servei o d'altres normes legals. Pots utilitzar etiquetes HTML + title: Termes del servei personalitzats site_title: Títol del lloc + timeline_preview: + desc_html: Mostra la línia de temps pública a la pàgina inicial + title: Vista prèvia de la línia de temps title: Configuració del lloc + statuses: + back_to_account: Torna a la pàgina del compte + batch: + delete: Esborra + nsfw_off: NSFW OFF + nsfw_on: NSFW ON + execute: Executa + failed_to_execute: No s'ha pogut executar + media: + hide: Amaga multimèdia + show: Mostra multimèdia + title: Multimèdia + no_media: Sense multimèdia + title: Estats del compte + with_media: Amb multimèdia subscriptions: callback_url: Callback URL confirmed: Confirmat @@ -164,18 +210,25 @@ ca: title: WebSub topic: Tòpic title: Administració + admin_mailer: + new_report: + body: "%{reporter} ha informat de %{target}" + subject: Nou informe per a %{instance} (#%{id}) application_mailer: + salutation: "%{name}," settings: 'Canviar preferències de correu: %{link}' signature: Notificacions de Mastodon desde %{instance} view: 'Vista:' applications: invalid_url: La URL proporcionada es incorrecte auth: + agreement_html: En inscriure't, acceptes <a href="%{rules_path}">les nostres termes del servei</a> i <a href="%{terms_path}">la nostra política de privadesa</a>. change_password: Canviar contrasenya delete_account: Esborrar el compte delete_account_html: Si vols esborrar el teu compte pots <a href="%{path}">fer-ho aquí</a>. S'et demanarà confirmació. didnt_get_confirmation: No vas rebre el correu de confirmació? forgot_password: Has oblidat la contrasenya? + invalid_reset_password_token: L'enllaç de restabliment de la contrasenya no és vàlid o caducat. Siusplau torna-ho a provar.. login: Iniciar sessió logout: Tancar sessió register: Enregistrarse @@ -185,6 +238,12 @@ ca: authorize_follow: error: Malauradament, ha ocorregut un error buscant el compte remot follow: Seguir + follow_request: 'Heu enviat una sol·licitud de seguiment a:' + following: 'Èxit! Ara segueixes:' + post_follow: + close: O bé, pots tancar aquesta finestra. + return: Torna al perfil de l'usuari + web: Anar a la web title: Seguir %{acct} datetime: distance_in_words: @@ -216,7 +275,7 @@ ca: content: La verificació de seguretat ha fallat. Bloquejes les galetes? title: La verificació de seguretat ha fallat '429': Estrangulat - noscript: Per utilitzar Mastodon si us plau activa JavaScript. + noscript_html: Per utilitzar Mastodon si us plau activa JavaScript. exports: blocks: Persones que has bloquejat csv: CSV @@ -254,7 +313,7 @@ ca: landing_strip_signup_html: Si no en tens, pots <a href="%{sign_up_path}">registrar-te aquí</a>. media_attachments: validations: - images_and_video: No es pot adjuntar un vídeo a un estat que ja contingui imatges + images_and_video: No es pot adjuntar un vídeo a una publicació que ja contingui imatges too_many: No es poden adjuntar més de 4 arxius notification_mailer: digest: @@ -285,11 +344,64 @@ ca: next: Pròxim prev: Anterior truncate: "…" + push_notifications: + favourite: + title: "%{name} favourited your status" + follow: + title: "%{name} is now following you" + group: + title: "%{count} notifications" + mention: + action_boost: Boost + action_expand: Mostra més + action_favourite: Favorit + title: "%{name} t'ha mencionat" + reblog: + title: "%{name} t'ha retootejat" remote_follow: acct: Escriu el usuari@domini de la persona que vols seguir missing_resource: No s'ha pogut trobar la URL de redirecció necessaria per el compte. proceed: Procedir a seguir prompt: 'Seguiràs a:' + sessions: + activity: Última activitat + browser: Navegador + browsers: + alipay: Alipay + blackberry: Blackberry + chrome: Chrome + edge: Microsoft Edge + firefox: Firefox + generic: Navegador desconegut + ie: Internet Explorer + micro_messenger: MicroMessenger + nokia: Nokia S40 Ovi Browser + opera: Opera + phantom_js: PhantomJS + qq: QQ Browser + safari: Safari + uc_browser: UCBrowser + weibo: Weibo + current_session: Sessió actual + description: "%{browser} de %{platform}" + explanation: Aquests són els navegadors web que actualment han iniciat la sessió al teu compte de Mastodon. + ip: IP + platforms: + adobe_air: Adobe Air + android: Android + blackberry: Blackberry + chrome_os: ChromeOS + firefox_os: Firefox OS + ios: iOS + linux: Linux + mac: Mac + other: plataforma desconeguda + windows: Windows + windows_mobile: Windows Mobile + windows_phone: Windows Phone + revoke: Revoca + revoke_success: S'ha revocat la sessió amb èxit + title: Sessions settings: authorized_apps: Aplicacions autoritzades back: Tornar al inici @@ -316,19 +428,24 @@ ca: click_to_show: Clic per mostrar reblogged: retooteado sensitive_content: Contingut sensible + terms: + body_html: "<h2>Política de privacitat</h2>\n\n<h3 id=\"collect\">Quina informació recollim?</h3>\n\n<p>Recopilem informació teva quan et registres en aquesta instància i recopilem dades quan participes en el fòrum llegint, escrivint i avaluant el contingut aquí compartit.</p>\n\n<p>En registrar-te en aquesta instància, se't pot demanar que introduexisu el teu nom i l'adreça de correu electrònic. També pots visitar el nostre lloc sense registrar-te. La teva adreça de correu electrònic es verificarà mitjançant un correu electrònic que conté un enllaç únic. Si es visita aquest enllaç, sabem que controles l'adreça de correu electrònic.</p>\n\n<p>Quan es registra i publica, registrem l'adreça IP de la qual es va originar la publicació. També podrem conservar els registres del servidor que inclouen l'adreça IP de cada sol·licitud al nostre servidor.</p>\n\n<h3 id=\"use\">Per a què utilitzem la teva informació?</h3>\n\n<p>Qualsevol de la informació que recopilem de tu pot utilitzar-se d'una de les maneres següents:</p>\n\n<ul>\n <li>Per a personalitzar la teva experiència — la teva informació ens ajuda a respondre millor a les teves necessitats individuals.</li>\n <li>Per millorar el nostre lloc — ens esforcem contínuament per millorar les nostres ofertes de llocs basats en la informació i els comentaris que rebem de tu.</li>\n <li>Per millorar el servei al client — la teva informació ens ajuda a respondre més eficaçment a les teves sol·licituds de servei al client i a les necessitats de suport.</li>\n <li>Per enviar correus electrònics periòdics — l'adreça electrònica que proporcionis es pot utilitzar per enviar-te informació, notificacions que sol·licitis sobre canvis en temes o en resposta al teu nom d'usuari, respondre a les consultes i/o altres sol·licituds o preguntes.</li>\n</ul>\n\n<h3 id=\"protect\">Com protegim la teva informació?</h3>\n\n<p>Implementem diverses mesures de seguretat per mantenir la seguretat de la teva informació personal quan introdueixes, envies o accedeixes a la teva informació personal.</p>\n\n<h3 id=\"data-retention\">Quina és la nostre política de retenció de dades?</h3>\n\n<p>Farem un esforç de bona fe per a:</p>\n\n<ul>\n <li>Conserva els registres de servidor que continguin l'adreça IP de totes les sol·licituds a aquest servidor no més de 90 dies.</li>\n <li>Conserva les adreces IP associades als usuaris registrats i les seves publicacions no més de 5 anys.</li>\n</ul>\n\n<h3 id=\"cookies\">Utilitzem galetes?</h3>\n\n<p>Sí. Les cookies són fitxers petits que un lloc o el proveïdor de serveis transfereix al disc dur del vostre ordinador a través del navegador web (si ho permet). Aquestes galetes permeten al lloc reconèixer el vostre navegador i, si teniu un compte registrat, associar-lo al vostre compte registrat.</p>\n\n<p>Utilitzem cookies per comprendre i desar les vostres preferències per a futures visites i compilar dades agregades sobre el trànsit del lloc i la interacció del lloc, de manera que podrem oferir millors experiències i eines del lloc en el futur. Podem contractar amb proveïdors de serveis de tercers per ajudar-nos a comprendre millor els visitants del nostre lloc. Aquests proveïdors de serveis no estan autoritzats a utilitzar la informació recollida en nom nostre, excepte per ajudar-nos a dur a terme i millorar el nostre negoci.</p>\n\n<h3 id=\"disclose\">Publiquem informació al exterior?</h3>\n\n<p>No venem, comercialitzem ni transmetem a tercers la vostra informació d'identificació personal. Això no inclou tercers de confiança que ens ajudin a operar el nostre lloc, a dur a terme el nostre negoci o a fer-ho, sempre que aquestes parts acceptin mantenir confidencial aquesta informació. També podem publicar la vostra informació quan creiem que l'alliberament és apropiat per complir amb la llei, fer complir les polítiques del nostre lloc o protegir els nostres drets o altres drets, propietat o seguretat. No obstant això, la informació de visitant que no sigui personalment identificable es pot proporcionar a altres parts per a la comercialització, la publicitat o altres usos.</p> \n\n<h3 id=\"third-party\">Vincles de tercers</h3>\n\n<p>De tant en tant, segons el nostre criteri, podem incloure o oferir productes o serveis de tercers al nostre lloc. Aquests llocs de tercers tenen polítiques de privadesa separades i independents. Per tant, no tenim responsabilitat ni responsabilitat civil pel contingut i les activitats d'aquests llocs enllaçats. No obstant això, busquem protegir la integritat del nostre lloc i donem la benvinguda a qualsevol comentari sobre aquests llocs.</p>\n\n<h3 id=\"coppa\">Compliment de la Llei de protecció de la privacitat en línia dels nens</h3>\n\n<p>El nostre lloc, productes i serveis estan dirigits a persones que tenen almenys 13 anys. Si aquest servidor es troba als EUA, i teniu menys de 13 anys, segons els requisits de COPPA (<a href=\"https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act\">Children's Online Privacy Protection Act</a>) no feu servir aquest lloc.</p>\n\n<h3 id=\"online\">Només la política de privacitat en línia</h3>\n\n<p>Aquesta política de privacitat en línia només s'aplica a la informació recopilada a través del nostre lloc i no a la informació recopilada fora de línia.</p>\n\n<h3 id=\"consent\">El vostre consentiment</h3>\n\n<p>En utilitzar el nostre lloc, accepta la política de privadesa del nostre lloc web.</p>\n\n<h3 id=\"changes\">Canvis a la nostra política de privacitat</h3>\n\n<p>Si decidim canviar la nostra política de privadesa, publicarem aquests canvis en aquesta pàgina.</p>\n\n<p>Aquest document és CC-BY-SA. Es va actualitzar per última vegada el 31 de maig de 2013.</p>\n\n<p>Originalment adaptat a la <a href=\"https://github.com/discourse/discourse\">política de privadesa del Discurs</a>.</p>\n" + title: "%{instance} Condicions del servei i política de privadesa" time: formats: default: "%b %d, %Y, %H:%M" two_factor_authentication: code_hint: Introdueix el codi generat per l'aplicació autenticadora per a confirmar description_html: Si habilites la <strong>autenticació de dos factors</strong>, et caldrà tenir el teu telèfon, que generarà tokens per a que puguis iniciar sessió. - disable: Deshabilitar + disable: Deshabilitarr enable: Habilitar + enabled: Two-factor authentication is enabled enabled_success: Autenticació de dos factors activada amb èxit generate_recovery_codes: Generar codis de recuperació instructions_html: "<strong>Escaneja aquest codi QR desde Google Authenticator o una aplicació similar del teu telèfon</strong>. Desde ara, aquesta aplicació generarà tokens que tens que ingresar quan volguis iniciar sessió." lost_recovery_codes: Els codis de recuperació et permeten recuperar l'accés al teu compte si perds el telèfon. Si has perdut els teus codis de recuperació els pots regenerar aquí. Els codis de recuperació anteriors seran anul·lats. manual_instructions: 'Si no pots escanejar el codi QR code i necessites introduir-lo manualment, aquí tens el secret en text plà:' + recovery_codes: Backup recovery codes recovery_codes_regenerated: Codis de recuperació regenerats amb èxit recovery_instructions_html: Si alguna vegada perds l'accéss al telèfon pots utilitzar un dels codis de recuperació a continuació per recuperar l'accés al teu compte. Cal mantenir els codis de recuperació en lloc segur, per exemple imprimint-los i guardar-los amb altres documents importants. setup: Establir @@ -336,3 +453,4 @@ ca: users: invalid_email: La direcció de correu es incorrecte invalid_otp_token: Codi de dos factors incorrecte + signed_in_as: 'Sessió iniciada com a:' diff --git a/config/locales/devise.oc.yml b/config/locales/devise.oc.yml index 77740f230..99e62a10e 100644 --- a/config/locales/devise.oc.yml +++ b/config/locales/devise.oc.yml @@ -19,11 +19,11 @@ oc: confirmation_instructions: subject: "Mercés de confirmar vòstra inscripcion sus %{instance}" password_change: - subject: 'Mastodon : senhal cambiat' + subject: 'Mastodon : senhal cambiat' reset_password_instructions: - subject: 'Mastodon : instruccions per reïnicializar lo senhal' + subject: 'Mastodon : instruccions per reïnicializar lo senhal' unlock_instructions: - subject: 'Mastodon : instuccions de desblocatge' + subject: 'Mastodon : instuccions de desblocatge' omniauth_callbacks: failure: Fracàs al moment de vos autentificar de %{kind} perque "%{reason}". success: Sètz ben autentificat dempuèi lo compte %{kind}. @@ -34,8 +34,8 @@ oc: updated: Vòstre senhal es ben estat cambiat. Sètz ara connectat. updated_not_active: Vòstre senhal es ben estat cambiat. registrations: - destroyed: Adiu ! Vòstra inscripcion es estada anullada amb succès. Esperem vos tornar veire lèu. - signed_up: La benvenguda ! Sètz ben marcat al malhum. + destroyed: Adiu ! Vòstra inscripcion es estada anullada amb succès. Esperem vos tornar veire lèu. + signed_up: La benvenguda ! Sètz ben marcat al malhum. signed_up_but_inactive: Sètz ben marcat. Pasmens, avèm pas pogut vos connectar perque vòstre compte es pas encara validat. signed_up_but_locked: Sètz ben marcat. Pasmens, avèm pas pogut vos connectar perque vòstre compte es pas encara blocat. signed_up_but_unconfirmed: Un messatge amb un ligam de confirmacion es estat enviat a vòstra adreça de corrièl. Clicatz sul ligam per activar vòstre compte. Mercés de verificar tanben vòstre dorsièr de corrièls indesirables. @@ -57,5 +57,5 @@ oc: not_found: pas trobat not_locked: èra pas blocat not_saved: - one: '1 error defend aquesta %{resource} d’èsser salvagardada :' - other: "%{count} errors defendon aquesta %{resource} d’èsser salvagardadas :" + one: '1 error defend aquesta %{resource} d’èsser salvagardada :' + other: "%{count} errors defendon aquesta %{resource} d’èsser salvagardadas :" diff --git a/config/locales/doorkeeper.en.yml b/config/locales/doorkeeper.en.yml index 6412b8b48..efbd81d43 100644 --- a/config/locales/doorkeeper.en.yml +++ b/config/locales/doorkeeper.en.yml @@ -3,8 +3,10 @@ en: activerecord: attributes: doorkeeper/application: - name: Name + name: Application name redirect_uri: Redirect URI + scopes: Scopes + website: Application website errors: models: doorkeeper/application: @@ -33,18 +35,22 @@ en: redirect_uri: Use one line per URI scopes: Separate scopes with spaces. Leave blank to use the default scopes. index: + application: Application callback_url: Callback URL + delete: Delete name: Name - new: New Application + new: New application + scopes: Scopes + show: Show title: Your applications new: - title: New Application + title: New application show: actions: Actions - application_id: Application Id - callback_urls: Callback urls + application_id: Client key + callback_urls: Callback URLs scopes: Scopes - secret: Secret + secret: Client secret title: 'Application: %{name}' authorizations: buttons: diff --git a/config/locales/doorkeeper.fr.yml b/config/locales/doorkeeper.fr.yml index 0e74532c1..487018209 100644 --- a/config/locales/doorkeeper.fr.yml +++ b/config/locales/doorkeeper.fr.yml @@ -1,28 +1,14 @@ --- fr: - activemodel: - errors: - models: - remote_follow: - attributes: - acct: - blank: Le nom d’utilisateur ne doit pas être vide activerecord: attributes: doorkeeper/application: name: Nom redirect_uri: L’URL de redirection + scope: Portée + website: Site Web de l'application errors: - messages: - record_invalid: Données invalides models: - account: - attributes: - note: - too_long: Description trop longue - username: - blank: Identifiant vide - taken: Identifiant déjà pris doorkeeper/application: attributes: redirect_uri: @@ -30,17 +16,6 @@ fr: invalid_uri: doit être une URL valide. relative_uri: doit être une URL absolue. secured_uri: doit être une URL HTTP/SSL. - user: - attributes: - email: - blank: Courriel vide - invalid: Courriel invalide - taken: Courriel pris - password: - blank: Mot de passe vide - too_short: Mot de passe trop court - password_confirmation: - confirmation: Le mot de passe ne correspond pas doorkeeper: applications: buttons: diff --git a/config/locales/doorkeeper.ja.yml b/config/locales/doorkeeper.ja.yml index d3ea93789..9e3b72761 100644 --- a/config/locales/doorkeeper.ja.yml +++ b/config/locales/doorkeeper.ja.yml @@ -3,8 +3,10 @@ ja: activerecord: attributes: doorkeeper/application: - name: 名前 + name: アプリの名前 redirect_uri: リダイレクトURI + scopes: アクセス権 + website: アプリのウェブサイト errors: models: doorkeeper/application: @@ -33,18 +35,22 @@ ja: redirect_uri: 一行に一つのURLを入力してください scopes: アクセス権は半角スペースで区切ることができます。 空白のままにするとデフォルトを使用します。 index: + application: アプリ callback_url: コールバックURL + delete: 削除 name: 名前 new: 新規アプリ + scopes: アクセス権 + show: 見る title: アプリ new: title: 新規アプリ show: actions: アクション - application_id: アクションId - callback_urls: コールバックurl + application_id: クライアントキー + callback_urls: コールバックURL scopes: アクセス権 - secret: 非公開 + secret: クライアントシークレット title: 'アプリ: %{name}' authorizations: buttons: diff --git a/config/locales/doorkeeper.oc.yml b/config/locales/doorkeeper.oc.yml index 9f5d3fe55..3d12c9588 100644 --- a/config/locales/doorkeeper.oc.yml +++ b/config/locales/doorkeeper.oc.yml @@ -23,11 +23,11 @@ oc: edit: Modificar submit: Mandar confirmations: - destroy: Sètz segur ? + destroy: Sètz segur ? edit: title: Modificar l’aplicacion form: - error: Ops ! Verificatz vòstre formulari + 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 @@ -45,7 +45,7 @@ oc: callback_urls: urls de rapèls scopes: Encastres secret: Secret - title: 'Aplicacion : %{name}' + title: 'Aplicacion : %{name}' authorizations: buttons: authorize: Autorizar @@ -62,7 +62,7 @@ oc: buttons: revoke: Revocar confirmations: - revoke: Ne sètz segur ? + revoke: Ne sètz segur ? index: application: Aplicacion created_at: Creada lo diff --git a/config/locales/doorkeeper.pl.yml b/config/locales/doorkeeper.pl.yml index 72b967e35..ee3f4cad8 100644 --- a/config/locales/doorkeeper.pl.yml +++ b/config/locales/doorkeeper.pl.yml @@ -3,8 +3,10 @@ pl: activerecord: attributes: doorkeeper/application: - name: Nazwa + name: Nazwa aplikacji redirect_uri: URI przekierowania + scopes: Zakres + website: Strona aplikacji errors: models: doorkeeper/application: @@ -33,9 +35,13 @@ pl: redirect_uri: Jeden adres na linię tekstu scopes: Rozdziel zakresy (scopes) spacjami. Zostaw puste, aby użyć domyślnych zakresów. index: + application: Aplikacja callback_url: URL wywołania zwrotnego (callback) + delete: Usuń name: Nazwa new: Nowa aplikacja + scopes: Zakres + show: Pokaż title: Twoje aplikacje new: title: Nowa aplikacja @@ -72,7 +78,7 @@ pl: errors: messages: access_denied: Właściciel zasobu lub serwer autoryzujący odrzuciły żądanie. - credential_flow_not_configured: Ścieżka "Resource Owner Password Credentials" zakończyła się błędem, ponieważ Doorkeeper.configure.resource_owner_from_credentials nie jest skonfigurowany. + credential_flow_not_configured: Ścieżka "Resource Owner Password Credentials" zakończyła się błędem, ponieważ Doorkeeper.configure.resource_owner_from_credentials nie został skonfigurowany. invalid_client: Autoryzacja klienta nie powiodła się z powodu nieznanego klienta, braku uwierzytelnienia klienta, lub niewspieranej metody uwierzytelniania. invalid_grant: Grant uwierzytelnienia jest niepoprawny, przeterminowany, unieważniony, nie pasuje do URI przekierowwania użytego w żądaniu uwierzytelnienia, lub został wystawiony przez innego klienta. invalid_redirect_uri: URI przekierowania jest nieprawidłowy. @@ -83,8 +89,8 @@ pl: expired: Token dostępowy wygasł revoked: Token dostępowy został unieważniony unknown: Token dostępowy jest błędny - resource_owner_authenticator_not_configured: Wyszukiwanie właściciela zasobu nie powiodło się, ponieważ Doorkeeper.configure.resource_owner_authenticator jest nieskonfigurowany. - server_error: Serwer uwierzytelniający napotkał niespodziewane warunki, które uniemożliwiły obsłużenie żądania. + resource_owner_authenticator_not_configured: Wyszukiwanie właściciela zasobu nie powiodło się, ponieważ Doorkeeper.configure.resource_owner_authenticator nie został skonfigurowany. + server_error: Serwer uwierzytelniający napotkał nieoczekiwand warunki, które uniemożliwiły obsłużenie żądania. temporarily_unavailable: Serwer uwierzytelniający nie jest obecnie w stanie obsłużyć żądania z powodu tymczasowego przeciążenia lub prac konserwacyjnych. unauthorized_client: Klient nie jest uprawniony do wykonania tego żądania przy pomocy tej metody. unsupported_grant_type: Ten typ grantu uwierzytelniającego nie jest wspierany przez serwer uwierzytelniający. @@ -92,14 +98,14 @@ pl: flash: applications: create: - notice: Aplikacja utworzona. + notice: Utworzono aplikację. destroy: - notice: Aplikacja usunięta. + notice: Usunięto aplikację. update: - notice: Aplikacja zaktualizowana. + notice: Zaktualizowano aplikację. authorized_applications: destroy: - notice: Aplikacja unieważniona. + notice: Unieważniono aplikację. layouts: admin: nav: @@ -110,4 +116,4 @@ pl: scopes: follow: śledzenie, blokowanie, usuwanie blokady, anulowanie śledzenia kont read: dostęp do odczytu danych konta - write: publikowanie postów w Twoim imieniu + write: publikowanie wpisów w Twoim imieniu diff --git a/config/locales/en.yml b/config/locales/en.yml index 1fa0de90b..4160745f8 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -37,12 +37,16 @@ en: follow: Follow followers: Followers following: Following + media: Media nothing_here: There is nothing here! people_followed_by: People whom %{name} follows people_who_follow: People who follow %{name} - posts: Posts + posts: Toots + posts_with_replies: Toots with replies remote_follow: Remote follow reserved_username: The username is reserved + roles: + admin: Admin unfollow: Unfollow admin: accounts: @@ -57,6 +61,7 @@ en: feed_url: Feed URL followers: Followers follows: Follows + inbox_url: Inbox URL ip: IP location: all: All @@ -76,8 +81,10 @@ en: alphabetic: Alphabetic most_recent: Most recent title: Order + outbox_url: Outbox URL perform_full_suspension: Perform full suspension profile_url: Profile URL + protocol: Protocol public: Public push_subscription_expires: PuSH subscription expires redownload: Refresh avatar @@ -220,7 +227,13 @@ en: signature: Mastodon notifications from %{instance} view: 'View:' applications: + created: Application successfully created + destroyed: Application successfully deleted invalid_url: The provided URL is invalid + regenerate_token: Regenerate access token + token_regenerated: Access token successfully regenerated + warning: Be very careful with this data. Never share it with anyone! + your_token: Your access token auth: agreement_html: By signing up you agree to <a href="%{rules_path}">our terms of service</a> and <a href="%{terms_path}">privacy policy</a>. change_password: Security @@ -275,7 +288,7 @@ en: content: Security verification failed. Are you blocking cookies? title: Security verification failed '429': Throttled - noscript: To use the Mastodon web application, please enable JavaScript. Alternatively, find a native app for Mastodon for your platform. + noscript_html: To use the Mastodon web application, please enable JavaScript. Alternatively, try one of the <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">native apps</a> for Mastodon for your platform. exports: blocks: You block csv: CSV @@ -340,6 +353,17 @@ en: reblog: body: 'Your status was boosted by %{name}:' subject: "%{name} boosted your status" + number: + human: + decimal_units: + format: "%n%u" + units: + billion: B + million: M + quadrillion: Q + thousand: K + trillion: T + unit: '' pagination: next: Next prev: Prev @@ -358,9 +382,6 @@ en: title: "%{name} mentioned you" reblog: title: "%{name} boosted your status" - subscribed: - body: You can now receive push notifications. - title: Subscription registered! remote_follow: acct: Enter your username@domain you want to follow from missing_resource: Could not find the required redirect URL for your account @@ -409,6 +430,7 @@ en: authorized_apps: Authorized apps back: Back to Mastodon delete: Account deletion + development: Development edit_profile: Edit profile export: Data export followers: Authorized followers @@ -416,9 +438,14 @@ en: preferences: Preferences settings: Settings two_factor_authentication: Two-factor Authentication + your_apps: Your applications statuses: open_in_web: Open in web over_character_limit: character limit of %{max} exceeded + pin_errors: + ownership: Someone else's toot cannot be pinned + private: Non-public toot cannot be pinned + reblog: A boost cannot be pinned show_more: Show more visibilities: private: Followers-only @@ -429,6 +456,7 @@ en: unlisted_long: Everyone can see, but not listed on public timelines stream_entries: click_to_show: Click to show + pinned: Pinned toot reblogged: boosted sensitive_content: Sensitive content terms: diff --git a/config/locales/fa.yml b/config/locales/fa.yml index 0c575e23e..08ffb4484 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -274,7 +274,7 @@ fa: content: تأیید امنیتی انجام نشد. آیا مرورگر شما کوکیها را مسدود میکند؟ title: تأیید امنیتی شکست خورد '429': درخواستهای بیش از حد - noscript: برای استفاده از نسخهٔ تحت وب ماستدون، لطفاً جاوااسکریپت را فعال کنید. یا به جایش میتوانید یک اپ ماستدون را بهکار ببرید. + noscript_html: برای استفاده از نسخهٔ تحت وب ماستدون، لطفاً جاوااسکریپت را فعال کنید. یا به جایش میتوانید یک اپ ماستدون را بهکار ببرید. exports: blocks: حسابهای مسدودشده csv: CSV @@ -357,9 +357,6 @@ fa: title: "%{name} از شما نام برد" reblog: title: "%{name} نوشتهٔ شما را بازبوقید" - subscribed: - body: از این به بعد سرور میتواندبه شما اعلانهای تازه بفرستد . - title: عضویت ثبت شد! remote_follow: acct: نشانی حساب username@domain خود را اینجا بنویسید missing_resource: نشانی اینترنتی برای رسیدن به حساب شما پیدا نشد diff --git a/config/locales/fr.yml b/config/locales/fr.yml index d7aa41497..8029d8bd5 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -5,9 +5,14 @@ fr: about_this: À propos closed_registrations: Les inscriptions sont actuellement fermées sur cette instance. Cependant, vous pouvez trouver une autre instance sur laquelle vous créer un compte et à partir de laquelle vous pourrez accéder au même réseau. contact: Contact + contact_missing: Manquant + contact_unavailable: Non disponible description_headline: Qu’est-ce que %{domain} ? domain_count_after: autres instances domain_count_before: Connectés à + extended_description_html: | + <h3>Un bon endroit pour les règles</h3> + <p>La description étendue n'a pas été remplie.</p> features: humane_approach_body: Ayant appris des échecs d’autres réseaux, Mastodon à l’ambition de combattre l’abus des médias sociaux en effectuant des choix de conception éthiques. humane_approach_title: Une approche plus humaine @@ -23,7 +28,7 @@ fr: learn_more: En savoir plus other_instances: Liste des instances source_code: Code source - status_count_after: posts + status_count_after: statuts status_count_before: Ayant publié user_count_after: utilisateur⋅ice⋅s user_count_before: Abrite @@ -32,12 +37,16 @@ fr: follow: Suivre followers: Abonné⋅es following: Abonnements + media: Médias nothing_here: Rien à voir ici ! people_followed_by: Personnes suivies par %{name} people_who_follow: Personnes qui suivent %{name} posts: Statuts + posts_with_replies: Statuts & réponses remote_follow: Suivre à distance reserved_username: Ce nom d’utilisateur⋅ice est réservé + roles: + admin: Admin unfollow: Ne plus suivre admin: accounts: @@ -52,6 +61,7 @@ fr: feed_url: URL du flux followers: Abonné⋅es follows: Abonnements + inbox_url: URL d'entrée ip: Adresse IP location: all: Tous @@ -71,8 +81,10 @@ fr: alphabetic: Alphabétique most_recent: Plus récent title: Tri + outbox_url: URL de sortie perform_full_suspension: Effectuer une suspension complète profile_url: URL du profil + protocol: Protocole public: Public push_subscription_expires: Expiration de l’abonnement PuSH redownload: Rafraîchir les avatars @@ -104,12 +116,14 @@ fr: hint: Le blocage de domaine n’empêchera pas la création de comptes dans la base de données, mais il appliquera automatiquement et rétrospectivement des méthodes de modération spécifiques sur ces comptes. severity: desc_html: "<strong>Silence</strong> rendra les messages des comptes concernés invisibles à ceux qui ne les suivent pas. <strong>Suspend</strong> supprimera tout le contenu des comptes concernés, les médias, et les données du profil." + noop: Aucune silence: Masqué suspend: Suspendre title: Nouveau blocage de domaine reject_media: Fichiers média rejetés reject_media_hint: Supprime localement les fichiers média stockés et refuse d’en télécharger ultérieurement. Ne concerne pas les suspensions. severities: + noop: Aucune silence: Masquer suspend: Suspendre severity: Séverité @@ -187,7 +201,7 @@ fr: nsfw_off: NSFW OFF nsfw_on: NSFW ON execute: Exécuter - failed_to_execute: Erreur d'exécution + failed_to_execute: Erreur d’exécution media: hide: Masquer les médias show: Montrer les médias @@ -212,12 +226,18 @@ fr: signature: Notifications de Mastodon depuis %{instance} view: 'Voir :' applications: + created: Application créée avec succès + destroyed: Application supprimée avec succès invalid_url: L’URL fournie est invalide + regenerate_token: Regénérer le jeton d'accès + token_regenerated: Jeton d'accès regénéré avec succès + warning: Soyez prudent⋅e avec ces données. Ne les partagez pas ! + your_token: Votre jeton d'accès auth: agreement_html: En vous inscrivant, vous souscrivez à <a href="%{rules_path}">nos conditions d’utilisation</a> ainsi qu’à <a href="%{terms_path}">notre politique de confidentialité</a>. change_password: Sécurité delete_account: Supprimer le compte - delete_account_html: Si vous désirez supprimer votre compte, vous pouvez cliquer ici. Il vous sera demandé de confirmer cette action. + delete_account_html: Si vous désirez supprimer votre compte, vous pouvez <a href="%{path}">cliquer ici</a>. Il vous sera demandé de confirmer cette action. didnt_get_confirmation: Vous n’avez pas reçu les consignes de confirmation ? forgot_password: Mot de passe oublié ? invalid_reset_password_token: Le lien de réinitialisation du mot de passe est invalide ou a expiré. Merci de réessayer. @@ -231,11 +251,11 @@ fr: error: Malheureusement, il y a eu une erreur en cherchant les détails du compte distant follow: Suivre follow_request: 'Vous avez demandé à suivre:' - following: 'Youpi! Vous suivez :' + following: 'Youpi ! Vous suivez :' post_follow: close: Ou bien, vous pouvez fermer cette fenêtre. - return: Retour au profil de l'utilisateur⋅trice - web: Retour à l'interface web + return: Retour au profil de l’utilisateur⋅trice + web: Retour à l’interface web title: Suivre %{acct} datetime: distance_in_words: @@ -273,7 +293,7 @@ fr: content: Vérification de sécurité échouée. Bloquez-vous les cookies ? title: Vérification de sécurité échouée '429': Trop de requêtes émises dans un délai donné. - noscript: Pour utiliser Mastodon, veuillez activer JavaScript + noscript_html: Pour utiliser Mastodon, veuillez activer JavaScript exports: blocks: Vous bloquez csv: CSV @@ -282,7 +302,7 @@ fr: storage: Médias stockés followers: domain: Domaine - explanation_html: Si vous voulez être sûr⋅e que vos status restent privés, vous devez savoir qui vous suit. <strong>Vos status privés seront diffusés à toutes les instances des utilisateur⋅ice⋅s qui vous suivent</strong>. Vous voudrez peut-être les passer en revue et les supprimer si vous n’êtes pas sûr⋅e que votre vie privée sera respectée par l’administration ou le logiciel de ces instances. + explanation_html: Si vous voulez être sûr⋅e que vos statuts restent privés, vous devez savoir qui vous suit. <strong>Vos statuts privés seront diffusés à toutes les instances des utilisateur⋅ice⋅s qui vous suivent</strong>. Vous voudrez peut-être les passer en revue et les supprimer si vous n’êtes pas sûr⋅e que votre vie privée sera respectée par l’administration ou le logiciel de ces instances. followers_count: Nombre d’abonné⋅es lock_link: Rendez votre compte privé purge: Retirer de la liste d’abonné⋅es @@ -290,7 +310,7 @@ fr: one: Suppression des abonné⋅es venant d’un domaine en cours… other: Suppression des abonné⋅es venant de %{count} domaines en cours… true_privacy_html: Soyez conscient⋅es <strong>qu’une vraie confidentialité ne peut être atteinte que par un chiffrement de bout-en-bout</strong>. - unlocked_warning_html: N’importe qui peut vous suivre et voir vos status privés. %{lock_link} afin de pouvoir vérifier et rejeter des abonné⋅es. + unlocked_warning_html: N’importe qui peut vous suivre et voir vos statuts privés. %{lock_link} afin de pouvoir vérifier et rejeter des abonné⋅es. unlocked_warning_title: Votre compte n’est pas privé generic: changes_saved_msg: Les modifications ont été enregistrées avec succès ! @@ -311,7 +331,7 @@ fr: landing_strip_signup_html: Si ce n’est pas le cas, vous pouvez <a href="%{sign_up_path}">en créer un ici</a>. media_attachments: validations: - images_and_video: Impossible de joindre une vidéo à un status contenant déjà des images + images_and_video: Impossible de joindre une vidéo à un statut contenant déjà des images too_many: Impossible de joindre plus de 4 fichiers notification_mailer: digest: @@ -334,30 +354,29 @@ fr: subject: 'Abonné⋅es en attente : %{name}' mention: body: "%{name} vous a mentionné⋅e dans :" - subject: "%{name} vous a mentionné" + subject: "%{name} vous a mentionné·e" reblog: - body: "%{name} a partagé votre status :" - subject: "%{name} a partagé votre status" + body: "%{name} a partagé votre statut :" + subject: "%{name} a partagé votre statut" pagination: next: Suivant prev: Précédent push_notifications: favourite: - title: "%{name} à mis votre status en favori" + title: "%{name} à mis votre statut en favori" follow: title: "%{name} vous suit" + group: + title: "%{count} notifications" mention: action_boost: Partager action_expand: Montrer plus action_favourite: Ajouter aux favoris - title: "%{name} vous a mentionné" + title: "%{name} vous a mentionné·e" reblog: - title: "%{name} a partagé⋅e votre status" - subscribed: - body: Vous pouvez désormais recevoir des notifications push. - title: Abonnements aux notifications push + title: "%{name} a partagé⋅e votre statut" remote_follow: - acct: Entrez votre pseudo@instance depuis lequel vous voulez suivre ce⋅tte utilisateur⋅trice + acct: Entrez votre pseudo@instance depuis lequel vous voulez suivre ce⋅tte utilisateur⋅rice missing_resource: L’URL de redirection n’a pas pu être trouvée proceed: Continuez pour suivre prompt: 'Vous allez suivre :' @@ -404,6 +423,7 @@ fr: authorized_apps: Applications autorisées back: Retour vers Mastodon delete: Suppression de compte + development: Développement edit_profile: Modifier le profil export: Export de données followers: Abonné⋅es autorisé⋅es @@ -411,24 +431,30 @@ fr: preferences: Préférences settings: Réglages two_factor_authentication: Identification à deux facteurs + your_apps: Vos applications statuses: open_in_web: Ouvrir sur le web over_character_limit: limite de caractères dépassée de %{max} caractères + pin_errors: + ownership: Vous ne pouvez pas épingler un statut ne vous appartenant pas + private: Les statuts non-publics ne peuvent pas être épinglés + reblog: Un partage ne peut pas être épinglé show_more: Afficher plus visibilities: private: Abonné⋅es uniquement - private_long: Seul⋅es vos abonné⋅es verront vos status + private_long: Seul⋅es vos abonné⋅es verront vos statuts public: Public - public_long: Tout le monde peut voir vos status + public_long: Tout le monde peut voir vos statuts unlisted: Public sans être affiché sur le fil public - unlisted_long: Tout le monde peut voir vos status mais ils ne seront pas sur listés sur les fils publics + unlisted_long: Tout le monde peut voir vos statuts mais ils ne seront pas sur listés sur les fils publics stream_entries: click_to_show: Cliquer pour afficher + pinned: Statut épinglé reblogged: partagé sensitive_content: Contenu sensible terms: - body_html: "<h2>Politique de confidentialité</h2>\n\n<h3 id=\"collect\">Quelles données collectons-nous?</h3>\n\n<p>Nous collectons des données lorsque vous vous enregistrez sur notre site et les récoltons lorsque vous participez dans le forum en lisant, écrivant, et évaluant le contenu partagé ici.</p>\n\n<p>Lors de l'enregistrement sur notre site, il peut vous être demandé de renseigner votre nom et adresse e-mail. Vous pouvez, cependant, visiter notre site sans inscription. Votre adresse e-mail devra être vérifiée grâce à un e-mail contenant un lien unique. Si ce lien est visité, nous savons que vous contrôlez cette adresse e-mail.</p>\n\n<p>Lors de l'inscription et de la publication de statuts, nous enregistrons l'adresse IP de laquelle le(s) status viennent. Nous pouvons également conserver des historiques serveurs qui contiendront l'adresse IP de chaque requête adressée à notre serveur.</p>\n\n<h3 id=\"use\">Que faisons-nous avec vos données?</h3>\n\n<p>Toute information que nous collectons pourra être utilisée d'une des manières suivantes :</p>\n\n<ul>\n <li>Pour personnaliser votre expérience — vos données nous aident à mieux répondre à vos besoins individuels.</li>\n <li>Pour améliorer notre site — nous faisons tout notre possible pour améliorer notre site en fonction des données, retours et suggestions que nous recevons.</li>\n <li>Afin d'améliorer le support client — vos données nous aident à mieux répondre à vos requêtes et demandes de support.</li>\n <li>Afin d'envoyer des e-mails à intervalles réguliers — l'adresse e-mail que vous renseignez peut être utilisée pour vous envoyer des données et notifications concernant des changements ou en réponse à votre nom d'utilisateur⋅trice, en réponse à vos demandes et/ou autres requêtes ou questions</li>\n</ul>\n\n<h3 id=\"protect\">Comment protégeons-nous vos données?</h3>\n \n<p>Nous appliquons une multitude de mesures afin de maintenir la sécurité de vos données personnelles lorsque vous entrez, soumettez, ou accédez à ces dernières.</p>\n\n<h3 id=\"data-retention\">Quelle est notre politique de conservation des données?</h3>\n\n<p>Nous nous efforçons de:</p>\n\n<ul>\n <li>Ne pas garder les historiques serveurs contenant l'adresse IP de chaque requête adressée à ce serveur plus de 90 jours.</li>\n <li>Ne pas conserver les adresses IP associées aux utilisateur⋅trices et leur contenu plus de 5 ans.</li>\n</ul>\n\n<h3 id=\"cookies\">Utilisons nous des \"cookies\"?</h3>\n\n<p>Oui. Les cookies sont de petits fichiers qu'un site ou prestataires de services transfèrent sur le disque dur de votre ordinateur par le biais de votre navigateur Web (si ce dernier le permet). Ces cookies permettent au site de reconnaître votre navigateur et, si vous disposez d'un compte, l'associer à votre compte.</p>\n\n<p>Nous utilisons les cookies pour enregistrer vos préférences pour de futures visites, compiler des données agrégées à propos du trafic et des interactions effectuées sur le site afin de proposer une meilleure expérience dans le futur. Nous pouvons contracter les services d'acteurs tiers afin de nous aider à mieux comprendre les visiteurs de notre site. Ces acteurs ont l'autorisation d'utiliser ces données seulement à des fins d'améliorations.</p>\n\n<h3 id=\"disclose\">Divulguons-nous des données à des acteurs tiers ?</h3>\n\n<p>Nous n'échangeons pas, ne vendons pas ni effectuons de quelconques transferts avec des acteurs tiers d'informations permettant de vous identifier personnellement. Cela n'inclut pas les acteurs de confiance qui nous aident à gérer notre entreprise et à vous servir tant que ces acteurs s'accordent à garder lesdites informations confidentielles. Nous pouvons être amenés à délivrer vos informations lorsque jugé adéquat afin de respecter la loi, d'appliquer la politique de notre site, ou afin de protéger nos droits, ceux des autres, notre propriété ou sécurité. Cependant, aucune information permettant l'identification de nos visiteurs ne sera divulguée à des fins publicitaires, commerciales ou tout autre usage.</p>\n\n<h3 id=\"third-party\">Liens vers des acteurs tiers</h3>\n\n<p>Nous pouvons être amenés à inclure ou offrir les services ou produits d'acteurs tiers sur notre site. Ces acteurs tiers possèdent leur propre politique de confidentialité. Nous ne sommes donc pas responsables du contenu ou activités desdits acteurs. Néanmoins, nous cherchons à protéger l'intégrité de notre site et sommes ouverts à toute remarque concernant ces acteurs.</p>\n\n<h3 id=\"coppa\">Children's Online Privacy Protection Act</h3>\n\n<p>Notre site, nos produits et services sont tous dirigés à l'usage de personnes étant âgés de 13 ans ou plus. Si ce serveur est hébergé aux États-Unis et que vous êtes âgé⋅e de moins de 13 ans, au vu du COPPA (<a href=\"https://fr.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act\">Children's Online Privacy Protection Act</a>) n'utilisez pas ce site.</p>\n\n<h3 id=\"consent\">Votre consentement</h3>\n\n<p>En utilisant notre site, vous consentez à la politique de confiedentialité de notre site Web.</p>\n\n<h3 id=\"changes\">Changements de notre politique de confidentialité</h3>\n\n<p>Si nous décidons d'apporter des changements à notre politique de confidentialité, nous les mettrons à disposition sur cette page.</p>\n\n<p>Ce document est distribué sous licence CC-BY-SA. Il a été mis à jour pour la dernière fois le 31 Mai 2013. Il a été traduit en français en Juillet 2017.</p>\n\n<p>Originellement adapté à partir de la politique de confidentialité de <a href=\"https://github.com/discourse/discourse\">Discourse</a></p>.\n" - title: "%{instance} Conditions d'utilisations et Politique de confidentialité" + body_html: "<h2>Politique de confidentialité</h2>\n\n<h3 id=\"collect\">Quelles données collectons-nous ?</h3>\n\n<p>Nous collectons des données lorsque vous vous enregistrez sur notre site et les récoltons lorsque vous participez dans le forum en lisant, écrivant, et évaluant le contenu partagé ici.</p>\n\n<p>Lors de l’enregistrement sur notre site, il peut vous être demandé de renseigner votre nom et adresse électronique. Vous pouvez, cependant, visiter notre site sans inscription. Votre adresse électronique devra être vérifiée grâce à un courriel contenant un lien unique. Si ce lien est visité, nous savons que vous contrôlez cette adresse.</p>\n\n<p>Lors de l’inscription et de la publication de statuts, nous enregistrons l’adresse IP de laquelle les statuts proviennent. Nous pouvons également conserver des historiques serveurs qui contiendront l’adresse IP de chaque requête adressée à notre serveur.</p>\n\n<h3 id=\"use\">Que faisons-nous avec vos données ?</h3>\n\n<p>Toute information que nous collectons pourra être utilisée d’une des manières suivantes :</p>\n\n<ul>\n <li>Pour personnaliser votre expérience — vos données nous aident à mieux répondre à vos besoins individuels.</li>\n <li>Pour améliorer notre site — nous faisons tout notre possible pour améliorer notre site en fonction des données, retours et suggestions que nous recevons.</li>\n <li>Afin d’améliorer le support client — vos données nous aident à mieux répondre à vos requêtes et demandes de support.</li>\n <li>Afin d’envoyer des courriels à intervalles réguliers — l’adresse électronique que vous renseignez peut être utilisée pour vous envoyer des données et notifications concernant des changements ou en réponse à votre nom d’utilisateur⋅trice, en réponse à vos demandes et/ou autres requêtes ou questions</li>\n</ul>\n\n<h3 id=\"protect\">Comment protégeons-nous vos données ?</h3>\n \n<p>Nous appliquons une multitude de mesures afin de maintenir la sécurité de vos données personnelles lorsque vous entrez, soumettez, ou accédez à ces dernières.</p>\n\n<h3 id=\"data-retention\">Quelle est notre politique de conservation des données ?</h3>\n\n<p>Nous nous efforçons de :</p>\n\n<ul>\n <li>ne pas garder les historiques serveurs contenant l’adresse IP de chaque requête adressée à ce serveur plus de 90 jours ;</li>\n <li>ne pas conserver les adresses IP associées aux utilisateur⋅trices et leur contenu plus de 5 ans.</li>\n</ul>\n\n<h3 id=\"cookies\">Utilisons nous des « cookies » ?</h3>\n\n<p>Oui. Les cookies sont de petits fichiers qu’un site ou prestataires de services transfèrent sur le disque dur de votre ordinateur par le biais de votre navigateur Web (si ce dernier le permet). Ces cookies permettent au site de reconnaître votre navigateur et, si vous disposez d’un compte, de l’associer à celui-ci.</p>\n\n<p>Nous utilisons les cookies pour enregistrer vos préférences pour de futures visites, compiler des données agrégées à propos du trafic et des interactions effectuées sur le site afin de proposer une meilleure expérience dans le futur. Nous pouvons contracter les services d’acteurs tiers afin de nous aider à mieux comprendre les visiteurs de notre site. Ces acteurs ont l’autorisation d’utiliser ces données seulement à des fins d’améliorations.</p>\n\n<h3 id=\"disclose\">Divulguons-nous des données à des acteurs tiers ?</h3>\n\n<p>Nous n’échangeons pas, ne vendons pas ni effectuons de quelconques transferts avec des acteurs tiers d’informations permettant de vous identifier personnellement. Cela n’inclut pas les acteurs de confiance qui nous aident à gérer notre entreprise et à vous servir tant que ces acteurs s’accordent à garder lesdites informations confidentielles. Nous pouvons être amenés à délivrer vos informations lorsque jugé adéquat afin de respecter la loi, d’appliquer la politique de notre site, ou afin de protéger nos droits, ceux des autres, notre propriété ou sécurité. Cependant, aucune information permettant l’identification de nos visiteurs ne sera divulguée à des fins publicitaires, commerciales ou tout autre usage.</p>\n\n<h3 id=\"third-party\">Liens vers des acteurs tiers</h3>\n\n<p>Nous pouvons être amenés à inclure ou offrir les services ou produits d’acteurs tiers sur notre site. Ces acteurs tiers possèdent leur propre politique de confidentialité. Nous ne sommes donc pas responsables du contenu ou activités desdits acteurs. Néanmoins, nous cherchons à protéger l’intégrité de notre site et sommes ouverts à toute remarque concernant ces acteurs.</p>\n\n<h3 id=\"coppa\" lang=\"en\">Children's Online Privacy Protection Act</h3>\n\n<p>Notre site, nos produits et services sont tous destinés à l’usage de personnes âgées de 13 ans ou plus. Si ce serveur est hébergé aux États-Unis et que vous êtes âgé⋅e de moins de 13 ans, au vu du COPPA (<a href=\"https://fr.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act\"><i lang=\"en\">Children's Online Privacy Protection Act</i></a>) n’utilisez pas ce site.</p>\n\n<h3 id=\"consent\">Votre consentement</h3>\n\n<p>En utilisant notre site, vous consentez à la présente politique de confidentialité.</p>\n\n<h3 id=\"changes\">Changements de notre politique de confidentialité</h3>\n\n<p>Si nous décidons d’apporter des changements à notre politique de confidentialité, nous les publierons sur cette page.</p>\n\n<p>Ce document est distribué sous licence CC-BY-SA. Il a été mis à jour pour la dernière fois le 31 mai 2013. Il a été traduit en français en juillet 2017.</p>\n\n<p>Originellement adapté à partir de la politique de confidentialité de <a href=\"https://github.com/discourse/discourse\">Discourse</a>.</p>\n" + title: "%{instance} Conditions d’utilisations et politique de confidentialité" time: formats: default: "%d %b %Y, %H:%M" @@ -451,4 +477,4 @@ fr: users: invalid_email: L’adresse courriel est invalide invalid_otp_token: Le code d’authentification à deux facteurs est invalide - signed_in_as: 'Connecté·e en tant que :' + signed_in_as: 'Connecté·e en tant que :' diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 05c712234..fa9e1d112 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -37,12 +37,16 @@ ja: follow: フォロー followers: フォロワー following: フォロー中 + media: メディア nothing_here: 何もありません people_followed_by: "%{name} さんがフォロー中のアカウント" people_who_follow: "%{name} さんをフォロー中のアカウント" - posts: 投稿 + posts: トゥート + posts_with_replies: トゥートと返信 remote_follow: リモートフォロー reserved_username: このユーザー名は予約されています。 + roles: + admin: Admin unfollow: フォロー解除 admin: accounts: @@ -57,6 +61,7 @@ ja: feed_url: フィードURL followers: フォロワー数 follows: フォロー数 + inbox_url: Inbox URL ip: IP location: all: すべて @@ -76,10 +81,12 @@ ja: alphabetic: アルファベット順 most_recent: 直近の活動順 title: 順序 + outbox_url: Outbox URL perform_full_suspension: 完全に活動停止させる profile_url: プロフィールURL + protocol: プロトコル public: パブリック - push_subscription_expires: PuSH購読期限切れ + push_subscription_expires: PuSH購読期限 redownload: アバターの更新 reset: リセット reset_password: パスワード再設定 @@ -219,7 +226,13 @@ ja: signature: Mastodon %{instance} インスタンスからの通知 view: 'View:' applications: + created: アプリが作成されました + destroyed: アプリが削除されました invalid_url: URLが無効です + regenerate_token: アクセストークンの再生成 + token_regenerated: アクセストークンが再生成されました + warning: このデータは気をつけて取り扱ってください。不特定多数の人と共有しないでください! + your_token: アクセストークン auth: agreement_html: 登録すると <a href="%{rules_path}">利用規約</a> と <a href="%{terms_path}">プライバシーポリシー</a> に同意したことになります。 change_password: セキュリティ @@ -227,6 +240,7 @@ ja: delete_account_html: アカウントを削除したい場合、<a href="%{path}">こちら</a> から手続きが行えます。削除する前に、確認画面があります。 didnt_get_confirmation: 確認メールを受信できませんか? forgot_password: パスワードをお忘れですか? + invalid_reset_password_token: パスワードリセットトークンが正しくないか期限切れです。もう一度リクエストしてください。 login: ログイン logout: ログアウト register: 登録する @@ -273,7 +287,7 @@ ja: content: セキュリティ認証に失敗しました。Cookieをブロックしていませんか? title: セキュリティ認証に失敗 '429': リクエストの制限に達しました。 - noscript: Mastodonのウェブアプリケーションを利用する場合はJavaScriptを有効にしてください。またはあなたのプラットフォーム向けのMastodonネイティブアプリを探すことができます。 + noscript_html: Mastodonのウェブアプリケーションを利用する場合はJavaScriptを有効にしてください。またはあなたのプラットフォーム向けの<a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">Mastodonネイティブアプリ</a>を探すことができます。 exports: blocks: ブロック csv: CSV @@ -338,6 +352,17 @@ ja: reblog: body: 'あなたのトゥートが %{name} さんにブーストされました:' subject: あなたのトゥートが %{name} さんにブーストされました + number: + human: + decimal_units: + format: "%n%u" + units: + billion: B + million: M + quadrillion: Q + thousand: K + trillion: T + unit: '' pagination: next: 次 prev: 前 @@ -356,9 +381,6 @@ ja: title: "%{name} さんから返信がありました" reblog: title: あなたのトゥートが %{name} さんにブーストされました - subscribed: - body: あなたはプッシュ通知を受け取ることが出来ます - title: Subscription が登録されました remote_follow: acct: あなたの ユーザー名@ドメイン を入力してください missing_resource: リダイレクト先が見つかりませんでした @@ -407,6 +429,7 @@ ja: authorized_apps: 認証済みアプリ back: Mastodon に戻る delete: アカウントの削除 + development: 開発 edit_profile: プロフィールを編集 export: データのエクスポート followers: 信頼済みのインスタンス @@ -414,9 +437,14 @@ ja: preferences: ユーザー設定 settings: 設定 two_factor_authentication: 二段階認証 + your_apps: アプリ statuses: open_in_web: Webで開く over_character_limit: 上限は %{max}文字までです + pin_errors: + ownership: 他人のトゥートを固定することはできません + private: 非公開のトゥートを固定することはできません + reblog: ブーストされたトゥートを固定することはできません show_more: もっと見る visibilities: private: 非公開 @@ -427,6 +455,7 @@ ja: unlisted_long: 誰でも見ることができますが、公開タイムラインには表示されません stream_entries: click_to_show: クリックして表示 + pinned: 固定されたトゥート reblogged: さんにブーストされました sensitive_content: 閲覧注意 terms: diff --git a/config/locales/ko.yml b/config/locales/ko.yml index f3bde5bbb..f98059526 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -220,7 +220,7 @@ ko: content: 보안 인증에 실패했습니다. Cookie를 차단하고 있진 않습니까? title: 보안 인증 실패 '429': 요청 횟수 제한에 도달했습니다. - noscript: Mastodon을 사용하기 위해서는 JavaScript를 켜 주십시오. + noscript_html: Mastodon을 사용하기 위해서는 JavaScript를 켜 주십시오. exports: blocks: 차단 csv: CSV diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 6562767a9..50ae5508b 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -272,7 +272,7 @@ nl: content: Veiligheidsverificatie mislukt. Blokkeer je toevallig cookies? title: Veiligheidsverificatie mislukt '429': Te veel verbindingsaanvragen. - noscript: Schakel JavaScript in om de webapplicatie van Mastodon te gebruiken. Als alternatief kan je een Mastodon-app zoeken voor jouw platform. + noscript_html: Schakel JavaScript in om de webapplicatie van Mastodon te gebruiken. Als alternatief kan je een <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">Mastodon-app</a> zoeken voor jouw platform. exports: blocks: Jij blokkeert csv: CSV @@ -353,9 +353,6 @@ nl: title: "%{name} vermeldde jou" reblog: title: "%{name} boostte jouw toot" - subscribed: - body: Je kan nu pushmeldingen ontvangen. - title: Aanmelding bevestigd! remote_follow: acct: Geef jouw account@domein.tld op waarvandaan je wilt volgen missing_resource: Kon vereiste doorverwijzings-URL voor jouw account niet vinden diff --git a/config/locales/oc.yml b/config/locales/oc.yml index 6c3f95823..019d3b196 100644 --- a/config/locales/oc.yml +++ b/config/locales/oc.yml @@ -7,7 +7,7 @@ oc: contact: Contacte contact_missing: Pas parametrat contact_unavailable: Pas disponible - description_headline: Qué es %{domain} ? + description_headline: Qué es %{domain} ? domain_count_after: autras instàncias domain_count_before: Connectat a extended_description_html: | @@ -32,21 +32,25 @@ oc: status_count_before: qu’an escrich user_count_after: personas user_count_before: Ostal de - what_is_mastodon: Qu’es Mastodon ? + what_is_mastodon: Qu’es Mastodon ? accounts: follow: Sègre followers: Seguidors following: Abonaments - nothing_here: I a pas res aquí ! + media: Mèdias + 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 + posts: Tuts + posts_with_replies: Tuts amb responsas remote_follow: Sègre a distància reserved_username: Aqueste nom d’utilizaire es reservat + roles: + admin: Admin unfollow: Quitar de sègre admin: accounts: - are_you_sure: Sètz segur ? + are_you_sure: Sètz segur ? confirm: Confirmar confirmed: Confirmat disable_two_factor_authentication: Desactivar 2FA @@ -57,6 +61,7 @@ oc: feed_url: Flux URL followers: Seguidors follows: Abonaments + inbox_url: URL de recepcion ip: IP location: all: Tot @@ -76,8 +81,10 @@ oc: alphabetic: Alfabetic most_recent: Mai recent title: Ordre + outbox_url: URL Outbox perform_full_suspension: Botar en tren la suspension complèta profile_url: URL del perfil + protocol: Protocòl public: Public push_subscription_expires: Fin de l’abonament PuSH redownload: Actualizar los avatars @@ -135,8 +142,8 @@ oc: domain_name: Domeni title: Instàncias conegudas reports: - action_taken_by: Accion menada per - are_you_sure: Es segur ? + action_taken_by: Mesura menada per + are_you_sure: Es segur ? comment: label: Comentari none: Pas cap @@ -214,31 +221,37 @@ oc: body: "%{reporter} a senhalat %{target}" subject: Novèl senhalament per %{instance} (#%{id}) application_mailer: - salutation: '%{name},' - settings: 'Cambiar las preferéncias de corrièl : %{link}' + salutation: "%{name}," + settings: 'Cambiar las preferéncias de corrièl : %{link}' signature: Notificacion de Mastodon sus %{instance} - view: 'Veire :' + view: 'Veire :' applications: + created: Aplicacion ben creada + destroyed: Aplication ben suprimida invalid_url: L’URL donada es invalida + regenerate_token: Tornar generar lo geton d’accès + token_regenerated: Geton d’accès ben regenerat + warning: Mèfi ! Agachatz de partejar aquela donada amb degun ! + your_token: Vòstre geton d’accès auth: agreement_html: En vos marcar acceptatz <a href="%{rules_path}">nòstres tèrmes de servici</a> e <a href="%{terms_path}">politica de confidencialitat</a>. change_password: Seguretat delete_account: Suprimir lo compte delete_account_html: Se volètz suprimir vòstre compte, podètz <a href="%{path}">o far aquí</a>. Vos demandarem que confirmetz. - didnt_get_confirmation: Avètz pas recebut las instruccions de confirmacion ? - forgot_password: Senhal oblidat ? + didnt_get_confirmation: Avètz pas recebut las instruccions de confirmacion ? + forgot_password: Senhal oblidat ? + invalid_reset_password_token: Lo geton de reïnicializacion es invalid o acabat. Tornatz demandar un geton se vos plai. 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 - invalid_reset_password_token: Ligam de reïnicializacion invalid o acabat. Tornatz ensajar se vos plai. authorize_follow: error: O planhèm, i a agut una error al moment de cercar lo compte follow: Sègre - follow_request: 'Avètz demandat de sègre :' - following: 'Felicitacion ! Seguètz ara :' + follow_request: 'Avètz demandat de sègre :' + following: 'Felicitacion ! Seguètz ara :' post_follow: close: O podètz tampar aquesta fenèstra. return: Tornar al perfil @@ -258,11 +271,11 @@ oc: - gen - feb - mar - - mai + - abr - mai - jun - jul - - ag + - ago - set - oct - nov @@ -299,26 +312,45 @@ oc: - :year datetime: distance_in_words: - about_x_hours: Fa %{count} oras - about_x_months: Fa %{count} meses + about_x_hours: + one: Fa una ora + other: Fa %{count} oras + about_x_months: + one: Fa un mes + other: Fa %{count} meses about_x_years: one: Fa un an other: Fa %{count} ans almost_x_years: - one: Fa un an - other: Fa %{count} ans + one: Fa quasi un an + other: Fa quasi %{count} ans half_a_minute: Ara - less_than_x_minutes: Fa %{count} minutas - less_than_x_seconds: Ara + less_than_x_minutes: + one: Fa mens d’una minuta + other: Fa mens de %{count} minutas + less_than_x_seconds: + one: Fa mens d’una segonda + other: Fa mens de %{count} segondas over_x_years: + one: Fa mai d’un an + other: Fa mai de %{count} ans + x_days: + one: Fa un jorn + other: Fa %{count} jorns + x_minutes: + one: Fa una minuta + other: Fa %{count} minutas + x_months: + one: Fa un mes + other: Fa %{count} meses + x_seconds: + one: Fa una segonda + other: Fa %{count} segondas + x_years: one: Fa un an other: Fa %{count} ans - x_days: Fa %{count} jorns - x_minutes: Fa %{count} minutas - x_months: Fa %{count} meses - x_seconds: Fa %{count} segondas deletes: - bad_password_msg: Ben ensajat pirata ! Senhal incorrècte + bad_password_msg: Ben ensajat pirata ! Senhal incorrècte confirm_password: Picatz vòstre senhal actual per verificar vòstra identitat description_html: Aquò suprimirà <strong>definitivament e sens possibilitat de retorn</strong> lo contengut de vòstre compte e lo desactivarà. Lo nom d’utilizaire serà gardat per evitar una futura impostura. proceed: Suprimir lo compte @@ -330,10 +362,10 @@ oc: '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 ? + content: Verificacion de seguretat fracassada. Blocatz los cookies ? title: Verificacion de seguretat fracassada '429': Lo servidor mòla (subrecargada) - noscript: Per utilizar l’aplicacion web de Mastodon, mercés d’activar JavaScript. O podètz utilizar una aplicacion per vòstra plataforma coma alernativa. + noscript_html: Per utilizar l’aplicacion web de Mastodon, mercés d’activar JavaScript. O podètz utilizar <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">una aplicacion</a> per vòstra plataforma coma alernativa. exports: blocks: Personas que blocatz csv: CSV @@ -347,18 +379,18 @@ oc: lock_link: Clavar vòstre compte purge: Tirar dels seguidors success: - one: Soi a blocar los seguidors d’un domeni... - other: Soi a blocar los seguidors de %{count} domenis... + one: Soi a blocar los seguidors d’un domeni… + other: Soi a blocar los seguidors de %{count} domenis… true_privacy_html: Mèfi que la <strong>vertadièra confidencialitat pòt solament èsser amb un chiframent del cap a la fin (end-to-end)</strong>. unlocked_warning_html: Tot lo mond pòt vos sègre e veire sulpic vòstres estatuts privats. %{lock_link} per poder repassar e regetar los seguidors. unlocked_warning_title: Vòstre compte es pas clavat generic: - changes_saved_msg: Cambiaments ben realizats ! + 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 + 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 @@ -376,27 +408,27 @@ oc: 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 a mencionat dins :" + mention: "%{name} vos a mencionat dins :" new_followers_summary: - one: Avètz un nòu seguidor ! Ouà ! - other: Avètz %{count} nòus seguidors ! Qué crane ! + one: Avètz un nòu seguidor ! Ouà + other: Avètz %{count} nòus seguidors ! 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 :" + 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 !" + body: "%{name} vos sèc ara !" subject: "%{name} vos sèc ara" follow_request: body: "%{name} a demandat a vos sègre" - subject: 'Demanda d’abonament : %{name}' + subject: 'Demanda d’abonament : %{name}' mention: - body: "%{name} vos a mencionat dins :" + body: "%{name} vos a mencionat dins :" subject: "%{name} vos a mencionat" reblog: - body: "%{name} a tornat partejar vòstre estatut :" + body: "%{name} a tornat partejar vòstre estatut :" subject: "%{name} a tornat partejar vòstre estatut" pagination: next: Seguent @@ -416,14 +448,11 @@ oc: title: "%{name} vos a mencionat" reblog: title: "%{name} a partejat vòstre estatut" - subscribed: - body: Podètz ara recebre las notificacions push. - title: Abonament enregistrat ! remote_follow: acct: Picatz vòstre utilizaire@instància que cal utilizar per sègre aqueste utilizaire missing_resource: URL de redireccion pas trobada proceed: Contunhatz per sègre - prompt: 'Sètz per sègre :' + prompt: 'Sètz per sègre :' sessions: activity: Darrièra activitat browser: Navigator @@ -467,6 +496,7 @@ oc: authorized_apps: Aplicacions autorizadas back: Tornar a Mastodon delete: Supression de compte + development: Desvolopament edit_profile: Modificar lo perfil export: Export donadas followers: Seguidors autorizats @@ -474,9 +504,14 @@ oc: preferences: Preferéncias settings: Paramètres two_factor_authentication: Autentificacion en dos temps + your_apps: Vòstras aplicacions statuses: open_in_web: Dobrir sul web over_character_limit: limit de %{max} caractèrs passat + pin_errors: + ownership: Se pòt pas penjar lo tut de qualqu’un mai + private: Se pòt pas penjar los tuts pas publics + reblog: Se pòt pas penjar un tut partejat show_more: Ne veire mai visibilities: private: Seguidors solament @@ -486,22 +521,23 @@ oc: unlisted: Pas listat unlisted_long: Tot lo mond pòt veire mai serà pas visible sul flux public stream_entries: - click_to_show: Clicatz per afichar + click_to_show: Clicatz per veire + pinned: Tut penjat reblogged: a partejat sensitive_content: Contengut sensible terms: body_html: | <h2>Politica de confidencialitat</h2> - <h3 id="collect">Quinas informacions collectem ?</h3> + <h3 id="collect">Quinas informacions reculhèm ?</h3> - <p>Collectem informacions sus vos quand vos marcatz sus nòstre site e juntem las donadas quand participatz a nòstre forum en legissent, escrivent e notant lo contengut partejat aquí.</p> + <p>Collectem informacions sus vos quand vos marcatz sus nòstre site e juntem las donadas quand participatz a nòstre forum en legir, escriure e notar lo contengut partejat aquí.</p> <p>Pendent l’inscripcion podèm vos demandar vòstre nom e adreça de corrièl. Podètz çaquelà visitar nòstre site sens vos marcar. Verificarem vòstra adreça amb un messatge donant un ligam unic. Se clicatz sul ligam sauprem qu’avètz lo contraròtle de l’adreça.</p> <p>Quand sètz marcat e que publicatz quicòm, enregistrem l’adreça IP d’origina. Podèm tanben salvagardar los jornals del servidor que tenon l’adreça IP de totas las demandas fachas al nòstre servidor.</p> - <h3 id="use">Qué fasèm de vòstras informacions ?</h3> + <h3 id="use">Qué fasèm de vòstras informacions ?</h3> <p>Totas las informacions que collectem de vos pòdon servir dins los cases seguents :</p> @@ -512,26 +548,26 @@ oc: <li>Per enviar periodicament de corrièls — Podèm utilizar l’adreça qu’avètz donada per vos enviar d’informacions e de notificacions que demandatz tocant de cambiaments dins los subjèctes del forum o en responsa a vòstre nom d’utilizaire, en responsa a una demanda, e/o tota autra question.</li> </ul> - <h3 id="protect">Cossí protegèm vòstras informacions ?</h3> + <h3 id="protect">Cossí protegèm vòstras informacions ?</h3> <p>Apliquem tota una mena de mesuras de seguretat per manténer la fisança de vòstras informacions personalas quand las picatz, mandatz, o i accedètz.</p> - <h3 id="data-retention">Quala es vòstra politica de conservacion de donadas ?</h3> + <h3 id="data-retention">Quala es vòstra politica de conservacion de donadas ?</h3> - <p>Farem esfòrces per :</p> + <p>Farem esfòrces per :</p> <ul> <li>Gardar los jornals del servidor que contenon las adreças IP de totas las demandas al servidor pas mai de 90 jorns.</li> <li>Gardar las adreças IP ligadas als utilizaires e lors publicacions pas mai de 5 ans.</li> </ul> - <h3 id="cookies">Empleguem de cookies ?</h3> + <h3 id="cookies">Empleguem de cookies ?</h3> - <p>Òc-ben. Los cookies son de pichons fichièrs qu’un site o sos forneires de servicis plaçan dins lo disc dur de vòstre ordenador via lo navigator Web (Se los acceptatz). Aqueles cookies permeton al site de reconéisser vòstre navigator e se tenètz un compte enregistrat de l’associar a vòstre compte.</p> + <p>Òc-ben. Los cookies son de pichons fichièrs qu’un site o sos provesidors de servicis plaçan dins lo disc dur de vòstre ordenador via lo navigator Web (Se los acceptatz). Aqueles cookies permeton al site de reconéisser vòstre navigator e se tenètz un compte enregistrat de l’associar a vòstre compte.</p> - <p>Empleguem de cookies per comprendre e enregistrar vòstras preferéncias per vòstras visitas venentas, per recampar de donadas sul trafic del site e las interaccions per dire que posquem ofrir una melhora experiéncia del site e de las aisinas pel futur. Pòt arribar que contractèssem amb de forneires de servicis tèrces per nos ajudar a comprendre melhor nòstres visitors. Aqueles forneires an pas lo drech que d’utilizar las donadas collectadas per nos ajudar a menar e melhorar nòstre afar.</p> + <p>Empleguem de cookies per comprendre e enregistrar vòstras preferéncias per vòstras visitas venentas, per recampar de donadas sul trafic del site e las interaccions per dire que posquem ofrir una melhora experiéncia del site e de las aisinas pel futur. Pòt arribar que contractèssem amb de provesidors de servicis tèrces per nos ajudar a comprendre melhor nòstres visitors. Aqueles provesidors an pas lo drech que d’utilizar las donadas collectadas per nos ajudar a menar e melhorar nòstre afar.</p> - <h3 id="disclose">Divulguem d’informacions a de tèrces ?</h3> + <h3 id="disclose">Divulguem d’informacions a de tèrces ?</h3> <p>Vendèm pas, comercem o qualque transferiment que siasque a de tèrces vòstras informacions personalas identificablas. Aquò inclutz pas los tèrces partits de confisança que nos assiston a menar nòstre site, menar nòstre afar o vos servir, baste que son d’acòrd per gardar aquelas informacions confidencialas. Pòt tanben arribar que liberèssem vòstras informacions quand cresèm qu’es apropriat d’o far per se sometre a la lei, per refortir nòstras politicas, o per protegir los dreches, proprietats o seguritat de qualqu’un o de nosautres. Pasmens es possible que mandèssem d’informacions non-personalas e identificablas de nòstres visitors a d’autres partits per d’utilizacion en marketing, publicitat o un emplec mai.</p> @@ -567,17 +603,18 @@ oc: 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: Autentificacion en dos temps Two-factor ben activada + enabled: Autentificacion en dos temps activada + enabled_success: L’autentificacion en dos temps es ben activada generate_recovery_codes: Generar los còdis de recuperacion 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: Los còdi de recuperacion vos permeton d’accedir a vòstre compte se perdètz vòstre mobil. S’avètz perdut vòstres còdis de recuperacion los podètz tornar generar aquí. Los ancians còdis seràn pas mai valides. - manual_instructions: 'Se podètz pas numerizar lo còdi QR e que vos cal picar lo còdi a la man, vaquí lo còdi en clar :' + manual_instructions: 'Se podètz pas numerizar lo còdi QR e que vos cal picar lo còdi a la man, vaquí lo còdi en clar :' recovery_codes: Salvar los còdis de recuperacion recovery_codes_regenerated: Los còdis de recuperacion son ben estats tornats generar recovery_instructions_html: Se vos arriba de perdre vòstre mobil, podètz utilizar un dels còdis de recuperacion cai-jos per poder tornar accedir a vòstre compte. Gardatz los còdis en seguretat, per exemple, imprimissètz los e gardatz los amb vòstres documents importants. setup: Paramètres - wrong_code: Lo còdi picat es invalid ! L’ora es la bona sul servidor e lo mobil ? + wrong_code: Lo còdi picat es invalid ! L’ora es la bona sul servidor e lo mobil ? users: invalid_email: L’adreça de corrièl es invalida invalid_otp_token: Còdi d’autentificacion en dos temps invalid - signed_in_as: 'Session a' + signed_in_as: Session a diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 415c3b993..246028f9b 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -18,7 +18,7 @@ pl: humane_approach_title: Bardziej ludzkie podejście not_a_product_body: Mastodon nie jest komercyjną siecią. Nie doświadczysz tu reklam, zbierania danych, ani centralnego ośrodka, tak jak w przypadku wielu rozwiązań. not_a_product_title: Jesteś człowiekiem, nie produktem - real_conversation_body: Mając do dyspozycji 500 znaków na post, rozdrobnienie zawartości i ostrzeżenia o multimediach, możesz wyrażać siebie na wszystkie możliwe sposoby. + real_conversation_body: Mając do dyspozycji 500 znaków na wpis, rozdrobnienie zawartości i ostrzeżenia o multimediach, możesz wyrażać siebie na wszystkie możliwe sposoby. real_conversation_title: Zaprojektowany do prawdziwych rozmów within_reach_body: Wiele aplikacji dla Androida, iOS i innych platform dzięki przyjaznemu programistom API sprawia, że możesz utrzymywać kontakt ze znajomymi praktycznie wszędzie. within_reach_title: Zawsze w Twoim zasięgu @@ -37,12 +37,16 @@ pl: follow: Śledź followers: Śledzących following: Śledzi + media: Zawartość multimedialna nothing_here: Niczego tu nie ma! people_followed_by: Konta śledzone przez %{name} people_who_follow: Osoby, które śledzą konto %{name} posts: Wpisy - remote_follow: Zdalne śledzenie + posts_with_replies: Wpisy z odpowiedziami + remote_follow: Śledź zdalnie reserved_username: Ta nazwa użytkownika jest zarezerwowana. + roles: + admin: Administrator unfollow: Przestań śledzić admin: accounts: @@ -65,12 +69,12 @@ pl: title: Położenie media_attachments: Załączniki multimedialne moderation: - all: Wszystko + all: Wszystkie silenced: Wyciszone suspended: Zawieszone title: Moderacja most_recent_activity: Najnowsza aktywność - most_recent_ip: Najnowsze IP + most_recent_ip: Ostatnie IP not_subscribed: Nie zasubskrybowano order: alphabetic: Alfabetycznie @@ -88,9 +92,9 @@ pl: search: Szukaj show: created_reports: Zgłoszenia tego użytkownika - report: zgłoszenie + report: zgłoszeń targeted_reports: Zgłoszenia dotyczące tego użytkownika - silence: Cisza + silence: Wycisz statuses: Statusy subscribe: Subskrybuj title: Konta @@ -122,6 +126,7 @@ pl: severity: Priorytet show: affected_accounts: + many: Dotyczy %{count} kont w bazie danych one: Dotyczy jednego konta w bazie danych other: Dotyczy %{count} kont w bazie danych retroactive: @@ -129,7 +134,7 @@ pl: suspend: Odwołaj zawieszenie wszystkich kont w tej domenie title: Odwołaj blokadę dla domeny %{domain} undo: Cofnij - title: Blokady domen + title: Zablokowane domeny undo: Cofnij instances: account_count: Znane konta @@ -142,7 +147,7 @@ pl: label: Komentarz none: Brak delete: Usuń - id: Identyfikator + id: ID mark_as_resolved: Oznacz jako rozwiązane nsfw: 'false': Nie oznaczaj jako NSFW @@ -150,8 +155,8 @@ pl: report: 'Zgłoszenie #%{id}' report_contents: Zawartość reported_account: Zgłoszone konto - reported_by: Zgłoszone przez - resolved: Rozwiązano + reported_by: Zgłaszający + resolved: Rozwiązane silence_account: Wycisz konto status: Status suspend_account: Zawieś konto @@ -180,7 +185,7 @@ pl: desc_html: Dobre miejsce na zasady użytkowania, wprowadzenie i inne rzeczy, które wyróżniają tę instancję. Możesz korzystać z tagów HTML title: Niestandardowy opis strony site_terms: - desc_html: Miejsce na własną politykę prywatności, zasady użytkowania i inne unormowania prawne. Możesz używać tagów HTML + desc_html: Miejsce na własną politykę prywatności, zasady użytkowania i inne unormowania prawne. Możesz korzystać z tagów HTML title: Niestandardowe zasady użytkowania site_title: Nazwa instancji timeline_preview: @@ -204,7 +209,7 @@ pl: with_media: Z zawartością multimedialną subscriptions: callback_url: URL zwrotny - confirmed: Potwierdzono + confirmed: Potwierdzone expires_in: Wygasa last_delivery: Ostatnio doręczono title: WebSub @@ -220,7 +225,13 @@ pl: signature: Powiadomienie Mastodona z instancji %{instance} view: 'Zobacz:' applications: - invalid_url: Ten URL jest nieprawidłowy + created: Pomyślnie utworzono aplikację + destroyed: Pomyślnie usunięto aplikację + invalid_url: Wprowadzony adres URL jest nieprawidłowy + regenerate_token: Wygeneruj nowy token dostępu + token_regenerated: Pomyślnie wygenerowano nowy token dostępu + warning: Przechowuj te dane ostrożnie. Nie udostępniaj ich nikomu! + your_token: Twój token dostępu auth: agreement_html: Rejestrując się, oświadczasz, że zapoznałeś się z <a href="%{rules_path}">naszymi zasadami użytkowania</a> i <a href="%{terms_path}">polityką prywatności</a>. change_password: Bezpieczeństwo @@ -275,12 +286,12 @@ pl: content: Sprawdzanie bezpieczeństwa nie powiodło się. Czy blokujesz pliki cookie? title: Sprawdzanie bezpieczeństwa nie powiodło się '429': Uduszono - noscript: Aby korzystać z aplikacji Mastodon, włącz JavaScript. Możesz też skorzystać z natywnej aplikacji obsługującej Twoje urządzenie. + noscript_html: Aby korzystać z aplikacji Mastodon, włącz JavaScript. Możesz też skorzystać z jednej z <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">natywnych aplikacji</a> obsługującej Twoje urządzenie. exports: - blocks: Blokujesz + blocks: Zablokowani csv: CSV - follows: Śledzisz - mutes: Wyciszyłeś + follows: Śledzeni + mutes: Wyciszeni storage: Urządzenie przechowujące dane followers: domain: Domena @@ -362,9 +373,6 @@ pl: title: "%{name} wspomniał o Tobie" reblog: title: "%{name} podbił Twój status" - subscribed: - body: Otrzymujesz teraz powiadomienia push. - title: Zarejestrowano subskrypcję! remote_follow: acct: Podaj swój adres (nazwa@domena), z którego chcesz śledzić missing_resource: Nie udało się znaleźć adresu przekierowania z Twojej domeny @@ -413,26 +421,33 @@ pl: authorized_apps: Uwierzytelnione aplikacje back: Powrót do Mastodona delete: Usuń konto + development: Tworzenie aplikacji edit_profile: Edytuj profil - export: Eksportuj dane + export: Eksportowanie danych followers: Autoryzowani śledzący - import: Importuj dane + import: Importowanie danych preferences: Preferencje settings: Ustawienia two_factor_authentication: Uwierzytelnianie dwuetapowe + your_apps: Twoje aplikacje statuses: open_in_web: Otwórz w przeglądarce over_character_limit: limit %{max} znaków przekroczony + pin_errors: + ownership: Nie możesz przypiąć cudzego wpisu + private: Nie możesz przypiąć niepublicznego wpisu + reblog: Nie możesz przypiąć podbicia wpisu show_more: Pokaż więcej visibilities: private: Tylko dla śledzących - private_long: Widoczne tylko dla śledzących + private_long: Widoczny tylko dla osób, które Cię śledzą public: Publiczny - public_long: Widoczne dla wszystkich + public_long: Widoczny dla wszystkich użytkowników unlisted: Niewypisany - unlisted_long: Widoczne dla wszystkich, ale nie wyświetlane na publicznych osiach czasu + unlisted_long: Widoczny dla wszystkich, ale nie wyświetlany na publicznych osiach czasu stream_entries: click_to_show: Naciśnij aby wyświetlić + pinned: Przypięty wpis reblogged: podbił sensitive_content: Wrażliwa zawartość terms: @@ -445,7 +460,7 @@ pl: <p>Podczas rejestracji, możesz otrzymać prośbę o podanie adresu e-mail. Możesz jednak odwiedzać stronę bez rejestracji. Adres zostanie zweryfikowany przez kliknięcie w link wysłany w wiadomości. Dzięki temu wiemy, że jesteś właścicielem tego adresu.</p> - <p>Podczas rejestracji i tworzenia postów, Twój adres IP jest zapisywany na naszych serwerach. Możemy też przechowywać adres IP użyty przy każdej operacji w serwisie.</p> + <p>Podczas rejestracji i tworzenia wpisów, Twój adres IP jest zapisywany na naszych serwerach. Możemy też przechowywać adres IP użyty przy każdej operacji w serwisie.</p> <h3 id="use">Jak wykorzystujemy zebrane informacje?</h3> diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 0156f0e95..52cb71c60 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -193,7 +193,7 @@ ru: content: Проверка безопасности не удалась. Возможно, Вы блокируете cookies? title: Проверка безопасности не удалась. '429': Слишком много запросов - noscript: Для работы с Mastodon, пожалуйста, включите JavaScript. + noscript_html: Для работы с Mastodon, пожалуйста, включите JavaScript. exports: blocks: Список блокировки csv: CSV @@ -278,9 +278,6 @@ ru: title: Вас упомянул(а) %{name} reblog: title: "%{name} продвинул(а) Ваш статус" - subscribed: - body: Теперь Вы можете получать push-уведомления. - title: Подписка зарегистрирована! remote_follow: acct: Введите username@domain, откуда Вы хотите подписаться missing_resource: Поиск требуемого перенаправления URL для Вашего аккаунта завершился неудачей diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml index 8717a4abd..adfb1a875 100644 --- a/config/locales/simple_form.fr.yml +++ b/config/locales/simple_form.fr.yml @@ -12,6 +12,7 @@ fr: note: one: <span class="note-counter">1</span> caractère restant other: <span class="note-counter">%{count}</span> caractères restants + setting_noindex: Affecte votre profil public ainsi que vos statuts imports: data: Un fichier CSV généré par une autre instance de Mastodon sessions: @@ -27,6 +28,7 @@ fr: data: Données display_name: Nom public email: Adresse courriel + filtered_languages: Langues filtrées header: Image d’en-tête locale: Langue locked: Verrouiller le compte @@ -37,8 +39,11 @@ fr: setting_auto_play_gif: Lire automatiquement les GIFs animés setting_boost_modal: Afficher un dialogue de confirmation avant de partager setting_default_privacy: Confidentialité des statuts + setting_default_sensitive: Toujours marquer les médias comme sensibles setting_delete_modal: Afficher un dialogue de confirmation avant de supprimer un pouet + setting_noindex: Demander aux moteurs de recherche de ne pas indexer vos informations personnelles setting_system_font_ui: Utiliser la police par défaut du système + setting_unfollow_modal: Afficher un dialogue de confirmation avant de vous désabonner d’un compte severity: Séverité type: Type d’import username: Identifiant diff --git a/config/locales/simple_form.pl.yml b/config/locales/simple_form.pl.yml index 7e84472b9..e2eba3dd8 100644 --- a/config/locales/simple_form.pl.yml +++ b/config/locales/simple_form.pl.yml @@ -16,12 +16,13 @@ pl: many: Pozostało <span class="name-counter">%{count}</span> znaków one: Pozostał <span class="name-counter">1</span> znak. other: Pozostało <span class="name-counter">%{count}</span> znaków + setting_noindex: Wpływa na widoczność strony profilu i Twoich wpisów imports: data: Plik CSV wyeksportowany z innej instancji Mastodona sessions: - otp: Wprowadź kod weryfikacji dwuetapowej z telefonu lub wykorzystaj jeden z kodów zapasowych. + otp: Wprowadź kod weryfikacji dwuetapowej z telefonu lub wykorzystaj jeden z kodów zapasowych user: - filtered_languages: Wybrane języki nie będą się pojawiać na publicznych osiach czasu. + filtered_languages: Wpisy w wybranych językach nie będą pojawiać się na publicznych osiach czasu. labels: defaults: avatar: Awatar @@ -41,25 +42,25 @@ pl: password: Hasło setting_auto_play_gif: Automatycznie odtwarzaj animowane GIFy setting_boost_modal: Pytaj o potwierdzenie przed podbiciem - setting_default_privacy: Widoczność posta + setting_default_privacy: Widoczność wpisów setting_default_sensitive: Zawsze oznaczaj zawartość multimedialną jako wrażliwą - setting_delete_modal: Pytaj o potwierdzenie przed usunięciem postu + setting_delete_modal: Pytaj o potwierdzenie przed usunięciem wpisu setting_noindex: Nie indeksuj mojego profilu w wyszukiwarkach internetowych setting_system_font_ui: Używaj domyślnej czcionki systemu - setting_unfollow_modal: Pytaj o potwierdzenie przed usunięciem śledzenia + setting_unfollow_modal: Pytaj o potwierdzenie przed cofnięciem śledzenia severity: Priorytet type: Typ importu username: Nazwa użytkownika interactions: - must_be_follower: Zablokuj powiadomienia od osób, które Cię nie śledzą - must_be_following: Zablokuj powiadomienia od osób, których nie śledzisz + must_be_follower: Nie wyświetlaj powiadomień od osób, które Cię nie śledzą + must_be_following: Nie wyświetlaj powiadomień od osób, których nie śledzisz notification_emails: digest: Wysyłaj podsumowania e-mailem - favourite: Powiadom mnie e-mailem gdy ktoś polubi mój status. - follow: Powiadom mnie e-mailem gdy ktoś zacznie mnie śledzić. - follow_request: Powiadom mnie e-mailem gdy ktoś poprosi o pozwolenie śledzenia mnie. - mention: Powiadom mnie e-mailem gdy ktoś mnie wspomni. - reblog: Powiadom mnie e-mailem gdy ktoś podbije mój status. + favourite: Powiadamiaj mnie e-mailem, gdy ktoś polubi mój wpis + follow: Powiadamiaj mnie e-mailem, gdy ktoś zacznie mnie śledzić + follow_request: Powiadamiaj mnie e-mailem, gdy ktoś poprosi o pozwolenie na śledzenie mnie + mention: Powiadamiaj mnie e-mailem, gdy ktoś o mnie wspomni + reblog: Powiadamiaj mnie e-mailem, gdy ktoś podbije mój wpis 'no': Nie required: mark: "*" diff --git a/config/navigation.rb b/config/navigation.rb index 535d033f5..4b454b3fc 100644 --- a/config/navigation.rb +++ b/config/navigation.rb @@ -15,6 +15,10 @@ SimpleNavigation::Configuration.run do |navigation| settings.item :follower_domains, safe_join([fa_icon('users fw'), t('settings.followers')]), settings_follower_domains_url end + primary.item :development, safe_join([fa_icon('code fw'), t('settings.development')]), settings_applications_url do |development| + development.item :your_apps, safe_join([fa_icon('list fw'), t('settings.your_apps')]), settings_applications_url, highlights_on: %r{/settings/applications} + end + primary.item :admin, safe_join([fa_icon('cogs fw'), t('admin.title')]), admin_reports_url, if: proc { current_user.admin? } do |admin| admin.item :reports, safe_join([fa_icon('flag fw'), t('admin.reports.title')]), admin_reports_url, highlights_on: %r{/admin/reports} admin.item :accounts, safe_join([fa_icon('users fw'), t('admin.accounts.title')]), admin_accounts_url, highlights_on: %r{/admin/accounts} diff --git a/config/routes.rb b/config/routes.rb index c60a8b131..2ff7e890a 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -20,6 +20,7 @@ Rails.application.routes.draw do get '.well-known/host-meta', to: 'well_known/host_meta#show', as: :host_meta, defaults: { format: 'xml' } get '.well-known/webfinger', to: 'well_known/webfinger#show', as: :webfinger get 'manifest', to: 'manifests#show', defaults: { format: 'json' } + get 'intent', to: 'intents#show' devise_for :users, path: 'auth', controllers: { sessions: 'auth/sessions', @@ -43,6 +44,7 @@ Rails.application.routes.draw do resources :statuses, only: [:show] do member do get :activity + get :embed end end @@ -51,10 +53,16 @@ Rails.application.routes.draw do resource :follow, only: [:create], controller: :account_follow resource :unfollow, only: [:create], controller: :account_unfollow resource :outbox, only: [:show], module: :activitypub + resource :inbox, only: [:create], module: :activitypub end + resource :inbox, only: [:create], module: :activitypub + get '/@:username', to: 'accounts#show', as: :short_account + get '/@:username/with_replies', to: 'accounts#show', as: :short_account_with_replies + get '/@:username/media', to: 'accounts#show', as: :short_account_media get '/@:account_username/:id', to: 'statuses#show', as: :short_account_status + get '/@:account_username/:id/embed', to: 'statuses#embed', as: :embed_short_account_status namespace :settings do resource :profile, only: [:show, :update] @@ -75,6 +83,13 @@ Rails.application.routes.draw do end resource :follower_domains, only: [:show, :update] + + resources :applications, except: [:edit] do + member do + post :regenerate + end + end + resource :delete, only: [:show, :destroy] resources :sessions, only: [:destroy] @@ -85,12 +100,13 @@ Rails.application.routes.draw do # Remote follow resource :authorize_follow, only: [:show, :create] + resource :share, only: [:show, :create] namespace :admin do resources :subscriptions, only: [:index] resources :domain_blocks, only: [:index, :new, :create, :show, :destroy] resource :settings, only: [:edit, :update] - + resources :instances, only: [:index] do collection do post :resubscribe @@ -150,6 +166,9 @@ Rails.application.routes.draw do resource :mute, only: :create post :unmute, to: 'mutes#destroy' + + resource :pin, only: :create + post :unpin, to: 'pins#destroy' end member do @@ -163,7 +182,8 @@ Rails.application.routes.draw do resource :public, only: :show, controller: :public resources :tag, only: :show end - resources :streaming, only: [:index] + + resources :streaming, only: [:index] get '/search', to: 'search#index', as: :search @@ -199,6 +219,7 @@ Rails.application.routes.draw do resource :search, only: :show, controller: :search resources :relationships, only: :index end + resources :accounts, only: [:show] do resources :statuses, only: :index, controller: 'accounts/statuses' resources :followers, only: :index, controller: 'accounts/follower_accounts' @@ -217,6 +238,7 @@ Rails.application.routes.draw do namespace :web do resource :settings, only: [:update] + resource :embed, only: [:create] resources :push_subscriptions, only: [:create] do member do put :update @@ -234,7 +256,7 @@ Rails.application.routes.draw do root 'home#index' match '*unmatched_route', - via: :all, - to: 'application#raise_not_found', - format: false + via: :all, + to: 'application#raise_not_found', + format: false end diff --git a/config/sidekiq.yml b/config/sidekiq.yml index 8273c1201..a502f5593 100644 --- a/config/sidekiq.yml +++ b/config/sidekiq.yml @@ -21,3 +21,6 @@ user_cleanup_scheduler: cron: '4 5 * * *' class: Scheduler::UserCleanupScheduler + subscriptions_cleanup_scheduler: + cron: '2 2 * * 0' + class: Scheduler::SubscriptionsCleanupScheduler diff --git a/config/webpack/loaders/babel.js b/config/webpack/loaders/babel.js index 05ef8431c..989a87dcf 100644 --- a/config/webpack/loaders/babel.js +++ b/config/webpack/loaders/babel.js @@ -1,5 +1,7 @@ const { resolve } = require('path'); +const env = process.env.NODE_ENV || 'development'; + module.exports = { test: /\.js$/, // include react-intl because transform-react-remove-prop-types needs to apply to it @@ -11,6 +13,6 @@ module.exports = { options: { forceEnv: process.env.NODE_ENV || 'development', sourceRoot: 'app/javascript', - cacheDirectory: resolve(__dirname, '..', '..', '..', 'tmp', 'cache', 'babel-loader'), + cacheDirectory: env === 'development' ? false : resolve(__dirname, '..', '..', '..', 'tmp', 'cache', 'babel-loader'), }, }; |