diff options
51 files changed, 1065 insertions, 275 deletions
diff --git a/Gemfile b/Gemfile index 3912180a1..5b523f338 100644 --- a/Gemfile +++ b/Gemfile @@ -13,7 +13,7 @@ gem 'hamlit-rails', '~> 0.2' gem 'pg', '~> 1.1' gem 'makara', '~> 0.4' gem 'pghero', '~> 2.2' -gem 'dotenv-rails', '~> 2.5' +gem 'dotenv-rails', '~> 2.6' gem 'aws-sdk-s3', '~> 1.30', require: false gem 'fog-core', '<= 2.1.0' @@ -76,7 +76,7 @@ gem 'rqrcode', '~> 0.10' gem 'sanitize', '~> 5.0' gem 'sidekiq', '~> 5.2' gem 'sidekiq-scheduler', '~> 3.0' -gem 'sidekiq-unique-jobs', '~> 5.0' +gem 'sidekiq-unique-jobs', '~> 6.0' gem 'sidekiq-bulk', '~>0.2.0' gem 'simple-navigation', '~> 4.0' gem 'simple_form', '~> 4.1' @@ -146,3 +146,5 @@ group :production do gem 'lograge', '~> 0.10' gem 'redis-rails', '~> 5.0' end + +gem 'concurrent-ruby', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 38bbd2c1c..a94e4f145 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -76,8 +76,8 @@ GEM av (0.9.0) cocaine (~> 0.5.3) aws-eventstream (1.0.1) - aws-partitions (1.122.0) - aws-sdk-core (3.43.0) + aws-partitions (1.131.0) + aws-sdk-core (3.45.0) aws-eventstream (~> 1.0) aws-partitions (~> 1.0) aws-sigv4 (~> 1.0) @@ -85,7 +85,7 @@ GEM aws-sdk-kms (1.13.0) aws-sdk-core (~> 3, >= 3.39.0) aws-sigv4 (~> 1.0) - aws-sdk-s3 (1.30.0) + aws-sdk-s3 (1.30.1) aws-sdk-core (~> 3, >= 3.39.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.0) @@ -148,7 +148,7 @@ GEM cocaine (0.5.8) climate_control (>= 0.0.3, < 1.0) coderay (1.1.2) - concurrent-ruby (1.0.5) + concurrent-ruby (1.1.4) connection_pool (2.2.2) crack (0.4.3) safe_yaml (~> 1.0.0) @@ -185,9 +185,9 @@ GEM unf (>= 0.0.5, < 1.0.0) doorkeeper (5.0.2) railties (>= 4.2) - dotenv (2.5.0) - dotenv-rails (2.5.0) - dotenv (= 2.5.0) + dotenv (2.6.0) + dotenv-rails (2.6.0) + dotenv (= 2.6.0) railties (>= 3.2, < 6.0) elasticsearch (6.0.2) elasticsearch-api (= 6.0.2) @@ -200,7 +200,7 @@ GEM multi_json encryptor (3.0.0) equatable (0.5.0) - erubi (1.7.1) + erubi (1.8.0) et-orbi (1.1.6) tzinfo excon (0.62.0) @@ -231,7 +231,7 @@ GEM fuubar (2.3.2) rspec-core (~> 3.0) ruby-progressbar (~> 1.4) - get_process_mem (0.2.2) + get_process_mem (0.2.3) globalid (0.4.1) activesupport (>= 4.2.0) goldfinger (2.1.0) @@ -271,7 +271,7 @@ GEM httplog (1.2.0) rack (>= 1.0) rainbow (>= 2.0.0) - i18n (1.1.1) + i18n (1.5.2) concurrent-ruby (~> 1.0) i18n-tasks (0.9.28) activesupport (>= 4.0.2) @@ -356,15 +356,15 @@ GEM net-ssh (>= 2.6.5) net-ssh (5.0.2) nio4r (2.3.1) - nokogiri (1.10.0) + nokogiri (1.10.1) mini_portile2 (~> 2.4.0) nokogumbo (2.0.0) nokogiri (~> 1.8, >= 1.8.4) - nsa (0.2.4) + nsa (0.2.7) activesupport (>= 4.2, < 6) - concurrent-ruby (~> 1.0.0) - sidekiq (>= 3.5.0) - statsd-ruby (~> 1.2.0) + concurrent-ruby (~> 1.0, >= 1.0.2) + sidekiq (>= 3.5) + statsd-ruby (~> 1.4, >= 1.4.0) oj (3.7.6) omniauth (1.9.0) hashie (>= 3.4.6, < 3.7.0) @@ -399,7 +399,7 @@ GEM pastel (0.7.2) equatable (~> 0.5.0) tty-color (~> 0.4.0) - pg (1.1.3) + pg (1.1.4) pghero (2.2.0) activerecord pkg-config (1.3.2) @@ -469,7 +469,7 @@ GEM rake (>= 0.8.7) thor (>= 0.19.0, < 2.0) rainbow (3.0.0) - rake (12.3.1) + rake (12.3.2) rb-fsevent (0.10.3) rb-inotify (0.9.10) ffi (>= 0.5.0, < 2) @@ -565,8 +565,9 @@ GEM rufus-scheduler (~> 3.2) sidekiq (>= 3) tilt (>= 1.4.0) - sidekiq-unique-jobs (5.0.10) - sidekiq (>= 4.0, <= 6.0) + sidekiq-unique-jobs (6.0.8) + concurrent-ruby (~> 1.0, >= 1.0.5) + sidekiq (>= 4.0, < 6.0) thor (~> 0) simple-navigation (4.0.5) activesupport (>= 2.3.2) @@ -589,7 +590,7 @@ GEM net-scp (>= 1.1.2) net-ssh (>= 2.8.0) stackprof (0.2.12) - statsd-ruby (1.2.1) + statsd-ruby (1.4.0) stoplight (2.1.3) streamio-ffmpeg (3.0.2) multi_json (~> 1.8) @@ -675,12 +676,13 @@ DEPENDENCIES chewy (~> 5.0) cld3 (~> 3.2.3) climate_control (~> 0.2) + concurrent-ruby derailed_benchmarks devise (~> 4.5) devise-two-factor (~> 3.0) devise_pam_authenticatable2 (~> 9.2) doorkeeper (~> 5.0) - dotenv-rails (~> 2.5) + dotenv-rails (~> 2.6) fabrication (~> 2.20) faker (~> 1.9) fast_blank (~> 1.0) @@ -753,7 +755,7 @@ DEPENDENCIES sidekiq (~> 5.2) sidekiq-bulk (~> 0.2.0) sidekiq-scheduler (~> 3.0) - sidekiq-unique-jobs (~> 5.0) + sidekiq-unique-jobs (~> 6.0) simple-navigation (~> 4.0) simple_form (~> 4.1) simplecov (~> 0.16) @@ -772,7 +774,7 @@ DEPENDENCIES webpush RUBY VERSION - ruby 2.5.3p105 + ruby 2.6.0p0 BUNDLED WITH - 1.16.6 + 1.17.3 diff --git a/app/javascript/mastodon/components/hashtag.js b/app/javascript/mastodon/components/hashtag.js index a407df31e..f091d7893 100644 --- a/app/javascript/mastodon/components/hashtag.js +++ b/app/javascript/mastodon/components/hashtag.js @@ -1,16 +1,16 @@ import React from 'react'; import { Sparklines, SparklinesCurve } from 'react-sparklines'; -import { Link } from 'react-router-dom'; import { FormattedMessage } from 'react-intl'; import ImmutablePropTypes from 'react-immutable-proptypes'; +import Permalink from './permalink'; import { shortNumberFormat } from '../utils/numbers'; const Hashtag = ({ hashtag }) => ( <div className='trends__item'> <div className='trends__item__name'> - <Link to={`/timelines/tag/${hashtag.get('name')}`}> + <Permalink href={hashtag.get('url')} to={`/timelines/tag/${hashtag.get('name')}`}> #<span>{hashtag.get('name')}</span> - </Link> + </Permalink> <FormattedMessage id='trends.count_by_accounts' defaultMessage='{count} {rawCount, plural, one {person} other {people}} talking' values={{ rawCount: hashtag.getIn(['history', 0, 'accounts']), count: <strong>{shortNumberFormat(hashtag.getIn(['history', 0, 'accounts']))}</strong> }} /> </div> diff --git a/app/javascript/mastodon/features/ui/index.js b/app/javascript/mastodon/features/ui/index.js index cb88e538a..a59c0a257 100644 --- a/app/javascript/mastodon/features/ui/index.js +++ b/app/javascript/mastodon/features/ui/index.js @@ -259,6 +259,7 @@ class UI extends React.PureComponent { e.preventDefault(); this.setState({ draggingOver: false }); + this.dragTargets = []; if (e.dataTransfer && e.dataTransfer.files.length === 1) { this.props.dispatch(uploadCompose(e.dataTransfer.files)); diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index f558a6ddc..45b074a52 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -132,8 +132,8 @@ "follow_request.authorize": "ترخيص", "follow_request.reject": "رفض", "getting_started.developers": "المُطوِّرون", - "getting_started.directory": "Profile directory", - "getting_started.documentation": "Documentation", + "getting_started.directory": "دليل المستخدِمين والمستخدِمات", + "getting_started.documentation": "الدليل", "getting_started.heading": "إستعدّ للبدء", "getting_started.invite": "دعوة أشخاص", "getting_started.open_source_notice": "ماستدون برنامج مفتوح المصدر. يمكنك المساهمة، أو الإبلاغ عن تقارير الأخطاء، على جيت هب {github}.", @@ -156,7 +156,7 @@ "introduction.federation.home.text": "سوف تُعرَض منشورات الأشخاص الذين تُتابِعهم على الخيط الرئيسي. بإمكانك متابعة أي حساب أيا كان الخادم الذي هو عليه!", "introduction.federation.local.headline": "Local", "introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.", - "introduction.interactions.action": "Finish tutorial!", + "introduction.interactions.action": "إنهاء العرض التوضيحي!", "introduction.interactions.favourite.headline": "الإضافة إلى المفضلة", "introduction.interactions.favourite.text": "يمكِنك إضافة أي تبويق إلى المفضلة و إعلام صاحبه أنك أعجِبت بذاك التبويق.", "introduction.interactions.reblog.headline": "الترقية", @@ -293,7 +293,7 @@ "search_results.total": "{count, number} {count, plural, one {result} و {results}}", "standalone.public_title": "نظرة على ...", "status.admin_account": "Open moderation interface for @{name}", - "status.admin_status": "Open this status in the moderation interface", + "status.admin_status": "افتح هذا المنشور على واجهة الإشراف", "status.block": "Block @{name}", "status.cancel_reblog_private": "إلغاء الترقية", "status.cannot_reblog": "تعذرت ترقية هذا المنشور", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index 6b911711e..302ff2573 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -292,8 +292,8 @@ "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, un {result} altres {results}}", "standalone.public_title": "Una mirada a l'interior ...", - "status.admin_account": "Open moderation interface for @{name}", - "status.admin_status": "Open this status in the moderation interface", + "status.admin_account": "Obre l'interfície de moderació per a @{name}", + "status.admin_status": "Obre aquest estat a la interfície de moderació", "status.block": "Block @{name}", "status.cancel_reblog_private": "Desfer l'impuls", "status.cannot_reblog": "Aquesta publicació no pot ser retootejada", diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json index 0277a513b..496f13e7d 100644 --- a/app/javascript/mastodon/locales/co.json +++ b/app/javascript/mastodon/locales/co.json @@ -292,8 +292,8 @@ "search_results.statuses": "Statuti", "search_results.total": "{count, number} {count, plural, one {risultatu} other {risultati}}", "standalone.public_title": "Una vista à l'internu...", - "status.admin_account": "Open moderation interface for @{name}", - "status.admin_status": "Open this status in the moderation interface", + "status.admin_account": "Apre l'interfaccia di muderazione per @{name}", + "status.admin_status": "Apre stu statutu in l'interfaccia di muderazione", "status.block": "Bluccà @{name}", "status.cancel_reblog_private": "Ùn sparte più", "status.cannot_reblog": "Stu statutu ùn pò micca esse spartutu", diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index 31c21cce5..7e8d7b8d3 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -292,8 +292,8 @@ "search_results.statuses": "Tooty", "search_results.total": "{count, number} {count, plural, one {výsledek} few {výsledky} many {výsledku} other {výsledků}}", "standalone.public_title": "Nahlédněte dovnitř...", - "status.admin_account": "Open moderation interface for @{name}", - "status.admin_status": "Open this status in the moderation interface", + "status.admin_account": "Otevřít moderační rozhraní pro uživatele @{name}", + "status.admin_status": "Otevřít tento příspěvek v moderačním rozhraní", "status.block": "Zablokovat uživatele @{name}", "status.cancel_reblog_private": "Zrušit boost", "status.cannot_reblog": "Tento příspěvek nemůže být boostnutý", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index a25497f78..471b70439 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -139,29 +139,29 @@ "getting_started.open_source_notice": "Mae Mastodon yn feddalwedd côd agored. Mae modd cyfrannu neu adrodd materion ar GitHUb ar {github}.", "getting_started.security": "Diogelwch", "getting_started.terms": "Telerau Gwasanaeth", - "hashtag.column_header.tag_mode.all": "and {additional}", - "hashtag.column_header.tag_mode.any": "or {additional}", - "hashtag.column_header.tag_mode.none": "without {additional}", - "hashtag.column_settings.tag_mode.all": "All of these", - "hashtag.column_settings.tag_mode.any": "Any of these", - "hashtag.column_settings.tag_mode.none": "None of these", + "hashtag.column_header.tag_mode.all": "a {additional}", + "hashtag.column_header.tag_mode.any": "neu {additional}", + "hashtag.column_header.tag_mode.none": "heb {additional}", + "hashtag.column_settings.tag_mode.all": "Pob un o'r rhain", + "hashtag.column_settings.tag_mode.any": "Unrhyw un o'r rhain", + "hashtag.column_settings.tag_mode.none": "Dim o'r rhain", "hashtag.column_settings.tag_toggle": "Include additional tags in this column", "home.column_settings.basic": "Syml", "home.column_settings.show_reblogs": "Dangos bŵstiau", "home.column_settings.show_replies": "Dangos ymatebion", - "introduction.federation.action": "Next", - "introduction.federation.federated.headline": "Federated", + "introduction.federation.action": "Nesaf", + "introduction.federation.federated.headline": "Ffederasiwn", "introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.", "introduction.federation.home.headline": "Home", "introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!", "introduction.federation.local.headline": "Local", "introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.", "introduction.interactions.action": "Finish tutorial!", - "introduction.interactions.favourite.headline": "Favourite", + "introduction.interactions.favourite.headline": "Ffefryn", "introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.", - "introduction.interactions.reblog.headline": "Boost", + "introduction.interactions.reblog.headline": "Hwb", "introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.", - "introduction.interactions.reply.headline": "Reply", + "introduction.interactions.reply.headline": "Ateb", "introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.", "introduction.welcome.action": "Let's go!", "introduction.welcome.headline": "First steps", @@ -244,17 +244,17 @@ "notifications.column_settings.favourite": "Ffefrynnau:", "notifications.column_settings.filter_bar.advanced": "Display all categories", "notifications.column_settings.filter_bar.category": "Quick filter bar", - "notifications.column_settings.filter_bar.show": "Show", + "notifications.column_settings.filter_bar.show": "Dangos", "notifications.column_settings.follow": "Dilynwyr newydd:", "notifications.column_settings.mention": "Crybwylliadau:", "notifications.column_settings.push": "Hysbysiadau push", - "notifications.column_settings.reblog": "Boosts:", + "notifications.column_settings.reblog": "Hybiadau:", "notifications.column_settings.show": "Dangos yn y golofn", "notifications.column_settings.sound": "Chwarae sain", - "notifications.filter.all": "All", - "notifications.filter.boosts": "Boosts", - "notifications.filter.favourites": "Favourites", - "notifications.filter.follows": "Follows", + "notifications.filter.all": "Pob", + "notifications.filter.boosts": "Hybiadau", + "notifications.filter.favourites": "Ffefrynnau", + "notifications.filter.follows": "Yn dilyn", "notifications.filter.mentions": "Mentions", "notifications.group": "{count} o hysbysiadau", "privacy.change": "Addasu preifatrwdd y statws", @@ -302,7 +302,7 @@ "status.direct": "Neges breifat @{name}", "status.embed": "Plannu", "status.favourite": "Hoffi", - "status.filtered": "Filtered", + "status.filtered": "Wedi'i hidlo", "status.load_more": "Llwythwch mwy", "status.media_hidden": "Cyfryngau wedi'u cuddio", "status.mention": "Crybwyll @{name}", @@ -328,12 +328,12 @@ "status.show_less_all": "Dangos llai i bawb", "status.show_more": "Dangos mwy", "status.show_more_all": "Dangos mwy i bawb", - "status.show_thread": "Show thread", + "status.show_thread": "Dangos edefyn", "status.unmute_conversation": "Dad-dawelu sgwrs", "status.unpin": "Dadbinio o'r proffil", "suggestions.dismiss": "Dismiss suggestion", "suggestions.header": "You might be interested in…", - "tabs_bar.federated_timeline": "Wedi'i ffedereiddio", + "tabs_bar.federated_timeline": "Ffederasiwn", "tabs_bar.home": "Hafan", "tabs_bar.local_timeline": "Lleol", "tabs_bar.notifications": "Hysbysiadau", @@ -343,7 +343,7 @@ "upload_area.title": "Llusgwch & gollwing i uwchlwytho", "upload_button.label": "Ychwanegwch gyfryngau (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_form.description": "Disgrifio i'r rheini a nam ar ei golwg", - "upload_form.focus": "Cropio", + "upload_form.focus": "Newid rhagolwg", "upload_form.undo": "Dileu", "upload_progress.label": "Uwchlwytho...", "video.close": "Cau fideo", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 7d5f0348a..69a139c57 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -160,7 +160,7 @@ "introduction.interactions.favourite.headline": "Favorisieren", "introduction.interactions.favourite.text": "Du kannst einen Beitrag für später speichern und dem Autor wissen lassen, dass du ihn magst, indem du ihn favorisierst.", "introduction.interactions.reblog.headline": "Teilen", - "introduction.interactions.reblog.text": "Du kannst Beiträge von anderen Leuten an deine Follower teilen (oder auch \"boosten\").", + "introduction.interactions.reblog.text": "Du kannst Beiträge von anderen Leuten an deine Follower teilen.", "introduction.interactions.reply.headline": "Antworten", "introduction.interactions.reply.text": "Du kannst auf die Beiträge von anderen Leuten antworten und die Beiträge werden dann in eine Konversation zusammengebunden.", "introduction.welcome.action": "Lasst uns loslegen!", @@ -168,7 +168,7 @@ "introduction.welcome.text": "Willkommen im Fediverse! In wenigen Momenten wirst du in der Lage sein Nachrichten zu versenden und mit deinen Freunden über Server hinweg in Kontakt zu treten. Aber dieser Server, {domain}, ist sehr speziell — er hostet dein Profil, also merke dir den Namen.", "keyboard_shortcuts.back": "zurück navigieren", "keyboard_shortcuts.blocked": "Liste blockierter Profile öffnen", - "keyboard_shortcuts.boost": "boosten", + "keyboard_shortcuts.boost": "teilen", "keyboard_shortcuts.column": "einen Status in einer der Spalten fokussieren", "keyboard_shortcuts.compose": "fokussiere das Eingabefeld", "keyboard_shortcuts.description": "Beschreibung", @@ -252,9 +252,9 @@ "notifications.column_settings.show": "In der Spalte anzeigen", "notifications.column_settings.sound": "Ton abspielen", "notifications.filter.all": "Alle", - "notifications.filter.boosts": "Boosts", + "notifications.filter.boosts": "Erneut geteilte Beiträge", "notifications.filter.favourites": "Favoriten", - "notifications.filter.follows": "Follows", + "notifications.filter.follows": "Folgende", "notifications.filter.mentions": "Erwähnungen", "notifications.group": "{count} Benachrichtigungen", "privacy.change": "Sichtbarkeit des Beitrags anpassen", @@ -292,8 +292,8 @@ "search_results.statuses": "Beiträge", "search_results.total": "{count, number} {count, plural, one {Ergebnis} other {Ergebnisse}}", "standalone.public_title": "Ein kleiner Einblick …", - "status.admin_account": "Open moderation interface for @{name}", - "status.admin_status": "Open this status in the moderation interface", + "status.admin_account": "Öffne Moderationsoberfläche für @{name}", + "status.admin_status": "Öffne diesen Status in der Moderationsoberfläche", "status.block": "Blockiere @{name}", "status.cancel_reblog_private": "Nicht mehr teilen", "status.cannot_reblog": "Dieser Beitrag kann nicht geteilt werden", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 35e41d7bb..762896887 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -292,8 +292,8 @@ "search_results.statuses": "Pouets", "search_results.total": "{count, number} {count, plural, one {résultat} other {résultats}}", "standalone.public_title": "Un aperçu …", - "status.admin_account": "Open moderation interface for @{name}", - "status.admin_status": "Open this status in the moderation interface", + "status.admin_account": "Ouvrir l'interface de modération pour @{name}", + "status.admin_status": "Ouvrir ce statut dans l'interface de modération", "status.block": "Block @{name}", "status.cancel_reblog_private": "Dé-booster", "status.cannot_reblog": "Cette publication ne peut être boostée", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index 23bbed74d..c1ece163d 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -132,7 +132,7 @@ "follow_request.authorize": "Autorizar", "follow_request.reject": "Rexeitar", "getting_started.developers": "Desenvolvedoras", - "getting_started.directory": "Profile directory", + "getting_started.directory": "Directorio do perfil", "getting_started.documentation": "Documentation", "getting_started.heading": "Comezando", "getting_started.invite": "Convide a xente", @@ -292,8 +292,8 @@ "search_results.statuses": "Toots", "search_results.total": "{count, number} {count,plural,one {result} outros {results}}", "standalone.public_title": "Ollada dentro...", - "status.admin_account": "Open moderation interface for @{name}", - "status.admin_status": "Open this status in the moderation interface", + "status.admin_account": "Abrir interface de moderación para @{name}", + "status.admin_status": "Abrir este estado na interface de moderación", "status.block": "Block @{name}", "status.cancel_reblog_private": "Non promover", "status.cannot_reblog": "Esta mensaxe non pode ser promovida", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index 7ddd95f60..6f7d5cf7e 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -136,7 +136,7 @@ "follow_request.authorize": "許可", "follow_request.reject": "拒否", "getting_started.developers": "開発", - "getting_started.directory": "Profile directory", + "getting_started.directory": "ディレクトリ", "getting_started.documentation": "ドキュメント", "getting_started.heading": "スタート", "getting_started.invite": "招待", @@ -262,7 +262,7 @@ "notifications.filter.follows": "フォロー", "notifications.filter.mentions": "返信", "notifications.group": "{count} 件の通知", - "privacy.change": "投稿のプライバシーを変更", + "privacy.change": "公開範囲を変更", "privacy.direct.long": "メンションしたユーザーだけに公開", "privacy.direct.short": "ダイレクト", "privacy.private.long": "フォロワーだけに公開", @@ -297,8 +297,8 @@ "search_results.statuses": "トゥート", "search_results.total": "{count, number}件の結果", "standalone.public_title": "今こんな話をしています...", - "status.admin_account": "Open moderation interface for @{name}", - "status.admin_status": "Open this status in the moderation interface", + "status.admin_account": "@{name} のモデレーション画面を開く", + "status.admin_status": "この投稿をモデレーション画面で開く", "status.block": "@{name}さんをブロック", "status.cancel_reblog_private": "ブースト解除", "status.cannot_reblog": "この投稿はブーストできません", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index 0d707afb1..ceb474a3e 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -292,8 +292,8 @@ "search_results.statuses": "툿", "search_results.total": "{count, number}건의 결과", "standalone.public_title": "지금 이런 이야기를 하고 있습니다…", - "status.admin_account": "Open moderation interface for @{name}", - "status.admin_status": "Open this status in the moderation interface", + "status.admin_account": "@{name}에 대한 모더레이션 인터페이스 열기", + "status.admin_status": "모더레이션 인터페이스에서 이 게시물 열기", "status.block": "@{name} 차단", "status.cancel_reblog_private": "부스트 취소", "status.cannot_reblog": "이 포스트는 부스트 할 수 없습니다", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index e5f7b0bdf..871142195 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -118,8 +118,8 @@ "empty_column.community": "De lokale tijdlijn is nog leeg. Toot iets in het openbaar om de bal aan het rollen te krijgen!", "empty_column.direct": "Je hebt nog geen directe berichten. Wanneer je er een verzend of ontvangt, zijn deze hier te zien.", "empty_column.domain_blocks": "Er zijn nog geen genegeerde domeinen.", - "empty_column.favourited_statuses": "Jij hebt nog geen favoriete toots. Wanneer je er een als favoriet markeert, valt deze hier te zien.", - "empty_column.favourites": "Niemand heeft nog deze toot als favoriet gemarkeerd. Wanneer iemand dit doet, valt dat hier te zien.", + "empty_column.favourited_statuses": "Jij hebt nog geen favoriete toots. Wanneer je er een aan jouw favorieten toevoegt, valt deze hier te zien.", + "empty_column.favourites": "Niemand heeft deze toot nog aan hun favorieten toegevoegd. Wanneer iemand dit doet, valt dat hier te zien.", "empty_column.follow_requests": "Jij hebt nog enkel volgverzoek ontvangen. Wanneer je er eentje ontvangt, valt dat hier te zien.", "empty_column.hashtag": "Er is nog niks te vinden onder deze hashtag.", "empty_column.home": "Jij volgt nog niemand. Bezoek {public} of gebruik het zoekvenster om andere mensen te ontmoeten.", @@ -158,7 +158,7 @@ "introduction.federation.local.text": "Openbare toots van mensen die ook op jouw server zitten verschijnen op de lokale tijdlijn.", "introduction.interactions.action": "Introductie beëindigen!", "introduction.interactions.favourite.headline": "Favorieten", - "introduction.interactions.favourite.text": "Je kunt door een toot als favoriet te markeren, deze voor later bewaren en de auteur laten weten dat je het leuk vond.", + "introduction.interactions.favourite.text": "Je kunt door een toot aan jouw favorieten toe te voegen, deze voor later bewaren en de auteur laten weten dat je de toot leuk vind.", "introduction.interactions.reblog.headline": "Boost", "introduction.interactions.reblog.text": "Je kunt toots van andere mensen met jouw volgers delen door deze te boosten.", "introduction.interactions.reply.headline": "Reageren", @@ -175,7 +175,7 @@ "keyboard_shortcuts.direct": "om jouw directe berichten te tonen", "keyboard_shortcuts.down": "om naar beneden door de lijst te bewegen", "keyboard_shortcuts.enter": "om toot volledig te tonen", - "keyboard_shortcuts.favourite": "om als favoriet te markeren", + "keyboard_shortcuts.favourite": "om aan jouw favorieten toe te voegen", "keyboard_shortcuts.favourites": "om jouw lijst met favorieten te tonen", "keyboard_shortcuts.federated": "om de globale tijdlijn te tonen", "keyboard_shortcuts.heading": "Sneltoetsen", @@ -234,7 +234,7 @@ "navigation_bar.preferences": "Instellingen", "navigation_bar.public_timeline": "Globale tijdlijn", "navigation_bar.security": "Beveiliging", - "notification.favourite": "{name} markeerde jouw toot als favoriet", + "notification.favourite": "{name} voegde jouw toot als favoriet toe", "notification.follow": "{name} volgt jou nu", "notification.mention": "{name} vermeldde jou", "notification.reblog": "{name} boostte jouw toot", @@ -292,8 +292,8 @@ "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {resultaat} other {resultaten}}", "standalone.public_title": "Een kijkje binnenin...", - "status.admin_account": "Open moderation interface for @{name}", - "status.admin_status": "Open this status in the moderation interface", + "status.admin_account": "Moderatie-omgeving van @{name} openen", + "status.admin_status": "Deze toot in de moderatie-omgeving openen", "status.block": "Blokkeer @{name}", "status.cancel_reblog_private": "Niet langer boosten", "status.cannot_reblog": "Deze toot kan niet geboost worden", @@ -331,7 +331,7 @@ "status.show_thread": "Gesprek tonen", "status.unmute_conversation": "Gesprek niet langer negeren", "status.unpin": "Van profielpagina losmaken", - "suggestions.dismiss": "Suggestie verwerpen", + "suggestions.dismiss": "Voorstel verwerpen", "suggestions.header": "Je bent waarschijnlijk ook geïnteresseerd in…", "tabs_bar.federated_timeline": "Globaal", "tabs_bar.home": "Start", diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json index 87fbf54c3..c28e9f5b8 100644 --- a/app/javascript/mastodon/locales/oc.json +++ b/app/javascript/mastodon/locales/oc.json @@ -292,8 +292,8 @@ "search_results.statuses": "Tuts", "search_results.total": "{count, number} {count, plural, one {resultat} other {resultats}}", "standalone.public_title": "Una ulhada dedins…", - "status.admin_account": "Open moderation interface for @{name}", - "status.admin_status": "Open this status in the moderation interface", + "status.admin_account": "Dobrir l’interfàcia de moderacion per @{name}", + "status.admin_status": "Dobrir aqueste estatut dins l’interfàcia de moderacion", "status.block": "Blocar @{name}", "status.cancel_reblog_private": "Quitar de partejar", "status.cannot_reblog": "Aqueste estatut pòt pas èsser partejat", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index 6a1b8a0c6..9f78c430f 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -1,5 +1,5 @@ { - "account.add_or_remove_from_list": "Add or Remove from lists", + "account.add_or_remove_from_list": "Dodaj lub usuń z list", "account.badges.bot": "Bot", "account.block": "Blokuj @{name}", "account.block_domain": "Blokuj wszystko z {domain}", @@ -117,7 +117,7 @@ "emoji_button.search_results": "Wyniki wyszukiwania", "emoji_button.symbols": "Symbole", "emoji_button.travel": "Podróże i miejsca", - "empty_column.account_timeline": "No toots here!", + "empty_column.account_timeline": "Brak wpisów tutaj!", "empty_column.blocks": "Nie zablokowałeś(-aś) jeszcze żadnego użytkownika.", "empty_column.community": "Lokalna oś czasu jest pusta. Napisz coś publicznie, aby zagaić!", "empty_column.direct": "Nie masz żadnych wiadomości bezpośrednich. Kiedy dostaniesz lub wyślesz jakąś, pojawi się ona tutaj.", @@ -136,19 +136,19 @@ "follow_request.authorize": "Autoryzuj", "follow_request.reject": "Odrzuć", "getting_started.developers": "Dla programistów", - "getting_started.directory": "Profile directory", + "getting_started.directory": "Katalog profilów", "getting_started.documentation": "Dokumentacja", "getting_started.heading": "Rozpocznij", "getting_started.invite": "Zaproś znajomych", "getting_started.open_source_notice": "Mastodon jest oprogramowaniem o otwartym źródle. Możesz pomóc w rozwoju lub zgłaszać błędy na GitHubie tutaj: {github}.", "getting_started.security": "Bezpieczeństwo", "getting_started.terms": "Zasady użytkowania", - "hashtag.column_header.tag_mode.all": "and {additional}", - "hashtag.column_header.tag_mode.any": "or {additional}", - "hashtag.column_header.tag_mode.none": "without {additional}", - "hashtag.column_settings.tag_mode.all": "All of these", - "hashtag.column_settings.tag_mode.any": "Any of these", - "hashtag.column_settings.tag_mode.none": "None of these", + "hashtag.column_header.tag_mode.all": "i {additional}", + "hashtag.column_header.tag_mode.any": "lub {additional}", + "hashtag.column_header.tag_mode.none": "bez {additional}", + "hashtag.column_settings.tag_mode.all": "Wszystkie", + "hashtag.column_settings.tag_mode.any": "Dowolne", + "hashtag.column_settings.tag_mode.none": "Żadne", "hashtag.column_settings.tag_toggle": "Include additional tags in this column", "home.column_settings.basic": "Podstawowe", "home.column_settings.show_reblogs": "Pokazuj podbicia", @@ -297,8 +297,8 @@ "search_results.statuses": "Wpisy", "search_results.total": "{count, number} {count, plural, one {wynik} few {wyniki} many {wyników} more {wyników}}", "standalone.public_title": "Spojrzenie w głąb…", - "status.admin_account": "Open moderation interface for @{name}", - "status.admin_status": "Open this status in the moderation interface", + "status.admin_account": "Otwórz interfejs moderacyjny dla @{name}", + "status.admin_status": "Otwórz ten wpis w interfejsie moderacyjnym", "status.block": "Zablokuj @{name}", "status.cancel_reblog_private": "Cofnij podbicie", "status.cannot_reblog": "Ten wpis nie może zostać podbity", @@ -333,11 +333,11 @@ "status.show_less_all": "Zwiń wszystkie", "status.show_more": "Rozwiń", "status.show_more_all": "Rozwiń wszystkie", - "status.show_thread": "Show thread", + "status.show_thread": "Pokaż wątek", "status.unmute_conversation": "Cofnij wyciszenie konwersacji", "status.unpin": "Odepnij z profilu", - "suggestions.dismiss": "Dismiss suggestion", - "suggestions.header": "You might be interested in…", + "suggestions.dismiss": "Odrzuć sugestię", + "suggestions.header": "Może Cię zainteresować…", "tabs_bar.federated_timeline": "Globalne", "tabs_bar.home": "Strona główna", "tabs_bar.local_timeline": "Lokalne", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index b0555bd0c..392e7f485 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -292,8 +292,8 @@ "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}", "standalone.public_title": "Dê uma espiada...", - "status.admin_account": "Open moderation interface for @{name}", - "status.admin_status": "Open this status in the moderation interface", + "status.admin_account": "Abrir interface de moderação para @{name}", + "status.admin_status": "Abrir esse status na interface de moderação", "status.block": "Block @{name}", "status.cancel_reblog_private": "Desfazer compartilhamento", "status.cannot_reblog": "Esta postagem não pode ser compartilhada", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index d874ed0aa..91ecbbce7 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -24,8 +24,8 @@ "account.mute": "Ignorovať @{name}", "account.mute_notifications": "Stĺmiť oboznámenia od @{name}", "account.muted": "Utíšený/á", - "account.posts": "Hlášky", - "account.posts_with_replies": "Hlášky s odpoveďami", + "account.posts": "Príspevky", + "account.posts_with_replies": "Príspevky aj s odpoveďami", "account.report": "Nahlás @{name}", "account.requested": "Čaká na schválenie. Kliknite pre zrušenie žiadosti", "account.share": "Zdieľať @{name} profil", @@ -56,7 +56,7 @@ "column.lists": "Zoznamy", "column.mutes": "Ignorovaní užívatelia", "column.notifications": "Oboznámenia", - "column.pins": "Pripnuté hlášky", + "column.pins": "Pripnuté príspevky", "column.public": "Federovaná časová os", "column_back_button.label": "Späť", "column_header.hide_settings": "Skryť nastavenia", @@ -203,8 +203,8 @@ "lists.account.add": "Pridať do zoznamu", "lists.account.remove": "Odobrať zo zoznamu", "lists.delete": "Vymazať list", - "lists.edit": "Upraviť zoznam", - "lists.new.create": "Pridať zoznam", + "lists.edit": "Uprav zoznam", + "lists.new.create": "Pridaj zoznam", "lists.new.title_placeholder": "Názov nového zoznamu", "lists.search": "Vyhľadávajte medzi užívateľmi ktorých sledujete", "lists.subheading": "Tvoje zoznamy", @@ -220,7 +220,7 @@ "navigation_bar.direct": "Súkromné správy", "navigation_bar.discover": "Objavuj", "navigation_bar.domain_blocks": "Skryté domény", - "navigation_bar.edit_profile": "Upraviť profil", + "navigation_bar.edit_profile": "Uprav profil", "navigation_bar.favourites": "Obľúbené", "navigation_bar.filters": "Utĺmené slová", "navigation_bar.follow_requests": "Žiadosti o sledovanie", @@ -289,11 +289,11 @@ "search_popout.tips.user": "používateľ", "search_results.accounts": "Ľudia", "search_results.hashtags": "Haštagy", - "search_results.statuses": "Hlášky", + "search_results.statuses": "Príspevky", "search_results.total": "{count, number} {count, plural, one {výsledok} many {výsledkov} other {výsledky}}", "standalone.public_title": "Náhľad dovnútra...", - "status.admin_account": "Open moderation interface for @{name}", - "status.admin_status": "Open this status in the moderation interface", + "status.admin_account": "Otvor moderovacie rozhranie užívateľa @{name}", + "status.admin_status": "Otvor tento príspevok v moderovacom rozhraní", "status.block": "Blokovať @{name}", "status.cancel_reblog_private": "Nezdieľaj", "status.cannot_reblog": "Tento príspevok nemôže byť re-tootnutý", diff --git a/app/javascript/styles/mastodon/about.scss b/app/javascript/styles/mastodon/about.scss index 4023b34d8..47ac9265b 100644 --- a/app/javascript/styles/mastodon/about.scss +++ b/app/javascript/styles/mastodon/about.scss @@ -1041,10 +1041,6 @@ $small-breakpoint: 960px; .scrollable { height: 400px; - - @media screen and (max-width: $column-breakpoint) { - height: 90vh; - } } p { @@ -1271,8 +1267,7 @@ $small-breakpoint: 960px; } #mastodon-timeline { - display: block; - width: 100vw; + display: flex; height: 100vh; border-radius: 0; } diff --git a/app/services/fetch_oembed_service.rb b/app/services/fetch_oembed_service.rb index 9ddf9b13b..10176cfb9 100644 --- a/app/services/fetch_oembed_service.rb +++ b/app/services/fetch_oembed_service.rb @@ -43,7 +43,7 @@ class FetchOEmbedService res.code != 200 ? nil : res.body_with_limit end - validate(parse_for_format(body)) unless body.nil? + validate(parse_for_format(body)) if body.present? rescue Oj::ParseError, Ox::ParseError nil end diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb index 3e4c9a79d..cd9bacf68 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -10,7 +10,6 @@ Warden::Manager.after_set_user except: :fetch do |user, warden| expires: 1.year.from_now, httponly: true, secure: (Rails.env.production? || ENV['LOCAL_HTTPS'] == 'true'), - same_site: :lax, } end @@ -21,7 +20,6 @@ Warden::Manager.after_fetch do |user, warden| expires: 1.year.from_now, httponly: true, secure: (Rails.env.production? || ENV['LOCAL_HTTPS'] == 'true'), - same_site: :lax, } else warden.logout diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb index c0757b6b5..3dc0edd6f 100644 --- a/config/initializers/session_store.rb +++ b/config/initializers/session_store.rb @@ -1,3 +1,3 @@ # Be sure to restart your server when you modify this file. -Rails.application.config.session_store :cookie_store, key: '_mastodon_session', secure: (Rails.env.production? || ENV['LOCAL_HTTPS'] == 'true'), same_site: :lax +Rails.application.config.session_store :cookie_store, key: '_mastodon_session', secure: (Rails.env.production? || ENV['LOCAL_HTTPS'] == 'true') diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 07bcfbf12..9d0d8d063 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -151,7 +151,7 @@ ar: protocol: البروتوكول public: عمومي push_subscription_expires: انتهاء الاشتراك ”PuSH“ - redownload: تحديث الصورة الرمزية + redownload: تحديث الصفحة الشخصية remove_avatar: حذف الصورة الرمزية remove_header: حذف الرأسية resend_confirmation: @@ -172,14 +172,14 @@ ar: shared_inbox_url: رابط الصندوق المُشترَك للبريد الوارد show: created_reports: البلاغات التي أنشأها هذا الحساب - targeted_reports: الشكاوي التي أُنشِأت ضد هذا الحساب + targeted_reports: الشكاوي التي أُنشِأت مِن طرف الآخَرين silence: كتم silenced: تم كتمه statuses: المنشورات subscribe: اشترك suspended: تم تعليقه title: الحسابات - unconfirmed_email: البريد الإلكتروني غير المؤكد + unconfirmed_email: البريد الإلكتروني غير مؤكد undo_silenced: رفع الصمت undo_suspension: إلغاء تعليق الحساب unsubscribe: إلغاء الاشتراك @@ -266,7 +266,7 @@ ar: week_users_active: نشط هذا الأسبوع week_users_new: مستخدِمين هذا الأسبوع domain_blocks: - add_new: إضافة نطاق جديد + add_new: إضافة حجب جديد لنطاق created_msg: إنّ حجب النطاق حيز التشغيل destroyed_msg: تم إلغاء الحجب المفروض على النطاق domain: النطاق @@ -295,7 +295,7 @@ ar: suspend: إلغاء التعليق المفروض على كافة حسابات هذا النطاق title: رفع حظر النطاق عن %{domain} undo: إلغاء - undo: إلغاء + undo: إلغاء حجب النطاق email_domain_blocks: add_new: إضافة created_msg: لقد دخل حظر نطاق البريد الإلكتروني حيّز الخدمة @@ -309,7 +309,7 @@ ar: followers: back_to_account: العودة إلى الحساب instances: - title: مثيلات الخوادم المعروفة + title: الفديرالية invites: deactivate_all: تعطيلها كافة filter: diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 6c258361c..f0c28590a 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -86,12 +86,13 @@ ca: changed_msg: El correu electrònic del compte s'ha canviat correctament! current_email: Correu electrònic actual label: Canviar l'adreça de correu - new_email: Nou correu + new_email: Nova adreça de correu submit: Canviar adreça de correu title: Canviar adreça de correu de %{username} confirm: Confirma confirmed: Confirmat confirming: Confirmant + deleted: Esborrats demote: Degrada disable: Inhabilita disable_two_factor_authentication: Desactiva 2FA @@ -110,7 +111,9 @@ ca: follows: Segueix header: Capçalera inbox_url: URL de la safata d'entrada + invited_by: Convidat per ip: IP + joined: Unit location: all: Tot local: Local @@ -137,7 +140,7 @@ ca: protocol: Protocol public: Públic push_subscription_expires: La subscripció PuSH expira - redownload: Actualitza l'avatar + redownload: Actualitza el perfil remove_avatar: Eliminar avatar remove_header: Treu la capçalera resend_confirmation: @@ -157,8 +160,8 @@ ca: search: Cerca shared_inbox_url: URL de la safata d'entrada compartida show: - created_reports: Informes creats per aquest compte - targeted_reports: Informes realitzats sobre aquest compte + created_reports: Informes creats + targeted_reports: Informes realitzats per altres silence: Silenci silenced: Silenciat statuses: Estats @@ -170,6 +173,7 @@ ca: undo_suspension: Desfés la suspensió unsubscribe: Cancel·la la subscripció username: Nom d'usuari + warn: Avís web: Web action_logs: actions: @@ -253,7 +257,7 @@ ca: week_users_active: usuaris actius aquesta setmana week_users_new: nous usuaris aquest setmana domain_blocks: - add_new: Afegeix + add_new: Afegir nou bloqueig de domini created_msg: El bloqueig de domini ara s'està processant destroyed_msg: El bloqueig de domini s'ha desfet domain: Domini @@ -270,6 +274,11 @@ ca: reject_media_hint: Elimina els fitxers multimèdia emmagatzemats localment i impedeix baixar-ne cap en el futur. Irrellevant en les suspensions reject_reports: Rebutja informes reject_reports_hint: Ignora tots els informes procedents d'aquest domini. No és rellevant per a les suspensions + rejecting_media: rebutjant els fitxers multimèdia + rejecting_reports: rebutjant els informes + severity: + silence: silenciat + suspend: suspès show: affected_accounts: one: Un compte afectat en la base de dades @@ -279,7 +288,7 @@ ca: suspend: Desfés la suspensió de tots els comptes d'aquest domini title: Desfés el bloqueig de domini de %{domain} undo: Desfés - undo: Desfés + undo: Desfés el bloqueig del domini email_domain_blocks: add_new: Afegeix created_msg: S'ha creat el bloc de domini de correu electrònic @@ -294,7 +303,20 @@ ca: back_to_account: Tornar al compte title: Seguidors de %{acct} instances: - title: Instàncies conegudes + delivery_available: El lliurament està disponible + known_accounts: + one: "%{count} compte conegut" + other: "%{count} comptes coneguts" + moderation: + all: Totes + limited: Limitades + title: Moderació + title: Federació + total_blocked_by_us: Bloquejades per nosaltres + total_followed_by_them: Seguides per ells + total_followed_by_us: Seguides per nosaltres + total_reported: Informes sobre elles + total_storage: Adjunts multimèdia invites: deactivate_all: Desactiva-ho tot filter: @@ -559,7 +581,9 @@ ca: size: Tamany blocks: Persones que has blocat csv: CSV + domain_blocks: Bloquejos de dominis follows: Persones que segueixes + lists: Llistes mutes: Persones silenciades storage: Emmagatzematge filters: @@ -708,10 +732,25 @@ ca: no_account_html: No tens cap compte? Pots <a href='%{sign_up_path}' target='_blank'>registrar-te aquí</a> proceed: Comença a seguir prompt: 'Seguiràs a:' + reason_html: "<strong>Per què és necessari aquest pas?</strong> <code>%{instance}</code> pot ser que no sigui el servidor on estàs registrat per tant primer hem de redirigir-te al teu servidor." + remote_interaction: + favourite: + proceed: Procedir a afavorir + prompt: 'Vols marcar com a favorit aquest toot:' + reblog: + proceed: Procedir a impulsar + prompt: 'Vols impulsar aquest toot:' + reply: + proceed: Procedir a respondre + prompt: 'Vols respondre a aquest toot:' remote_unfollow: error: Error title: Títol unfollowed: Sense seguir + scheduled_statuses: + over_daily_limit: Has superat el límit de %{limit} toots programats per a aquell dia + over_total_limit: Has superat el limit de %{limit} toots programats + too_soon: La data programada ha de ser futura sessions: activity: Última activitat browser: Navegador diff --git a/config/locales/co.yml b/config/locales/co.yml index c2de9e4c6..75f1745bc 100644 --- a/config/locales/co.yml +++ b/config/locales/co.yml @@ -84,14 +84,15 @@ co: by_domain: Duminiu change_email: changed_msg: Email di u contu cambiatu! - current_email: Email attuale - label: Mudificà l’Email - new_email: Novu Email - submit: Cambià Email - title: Mudificà l’Email di %{username} + current_email: E-mail attuale + label: Mudificà l’e-mail + new_email: Novu e-mail + submit: Cambià l'e-mail + title: Mudificà l’e-mail di %{username} confirm: Cunfirmà confirmed: Cunfirmata confirming: Cunfirmazione + deleted: Sguassatu demote: Ritrugradà disable: Disattivà disable_two_factor_authentication: Disattivà l’identificazione à 2 fattori @@ -100,7 +101,7 @@ co: domain: Duminiu edit: Mudificà email: E-mail - email_status: Statu di l’e-mail + email_status: Statutu di l’e-mail enable: Attivà enabled: Attivatu feed_url: URL di u flussu @@ -110,7 +111,9 @@ co: follows: Abbunamenti header: Intistatura inbox_url: URL di l’inbox + invited_by: Invitatu da ip: IP + joined: Ghjuntu location: all: Tutti local: Lucale @@ -137,7 +140,7 @@ co: protocol: Prutucollu public: Pubblicu push_subscription_expires: Spirata di l’abbunamentu PuSH - redownload: Mette à ghjornu i ritratti + redownload: Mette à ghjornu u prufile remove_avatar: Toglie l’avatar remove_header: Toglie l'intistatura resend_confirmation: @@ -157,8 +160,8 @@ co: search: Cercà shared_inbox_url: URL di l’inbox spartuta show: - created_reports: Signalamenti creati da stu contu - targeted_reports: Signalamenti creati contr’à stu contu + created_reports: Signalamenti fatti + targeted_reports: Signalatu da l'altri silence: Silenzà silenced: Silenzatu statuses: Statuti @@ -170,6 +173,7 @@ co: undo_suspension: Ùn suspende più unsubscribe: Disabbunassi username: Cugnome + warn: Averte web: Web action_logs: actions: @@ -253,7 +257,7 @@ co: week_users_active: attivi sta settimana week_users_new: utilizatori sta settimana domain_blocks: - add_new: Aghjustà + add_new: Aghjustà novu blucchime di duminiu created_msg: U blucchime di u duminiu hè attivu destroyed_msg: U blucchime di u duminiu ùn hè più attivu domain: Duminiu @@ -270,6 +274,11 @@ co: reject_media_hint: Sguassa tutti i media caricati è ricusa caricamenti futuri. Inutile per una suspensione reject_reports: Righjittà i rapporti reject_reports_hint: Ignurà tutti i signalamenti chì venenu d'issu duminiu. Senz'oghjettu pè e suspensione + rejecting_media: righjettu di i fugliali media + rejecting_reports: righjettu di i signalamenti + severity: + silence: silenzatu + suspend: suspesu show: affected_accounts: one: Un contu tuccatu indè a database @@ -279,7 +288,7 @@ co: suspend: Ùn suspende più i conti nant’à stu duminiu title: Ùn bluccà più u duminiu %{domain} undo: Annullà - undo: Annullà + undo: Annullà u blucchime di duminiu email_domain_blocks: add_new: Aghjustà created_msg: U blucchime di u duminiu d’e-mail hè attivu @@ -294,7 +303,20 @@ co: back_to_account: Rivene à u Contu title: Abbunati à %{acct} instances: - title: Istanze cunnisciute + delivery_available: Rimessa dispunibule + known_accounts: + one: "%{count} contu cunnisciutu" + other: "%{count} conti cunnisciuti" + moderation: + all: Tuttu + limited: Limitatu + title: Muderazione + title: Federazione + total_blocked_by_us: Bluccati da noi + total_followed_by_them: Siguitati da elli + total_followed_by_us: Siguitati da noi + total_reported: Rapporti nant'à elli + total_storage: Media aghjunti invites: deactivate_all: Disattivà tuttu filter: @@ -559,7 +581,9 @@ co: size: Pesu blocks: Bluccate csv: CSV + domain_blocks: Blucchime di duminiu follows: Seguitate + lists: Liste mutes: Piattate storage: I vostri media filters: @@ -708,10 +732,25 @@ co: no_account_html: Ùn avete micca un contu? Pudete <a href='%{sign_up_path}' target='_blank'>arregistravi quì</a> proceed: Cuntinuà per siguità prompt: 'Avete da siguità:' + reason_html: "<strong>Perchè hè necessaria sta tappa?</strong> <code>%{instance}</code> ùn hè forse micca u servore induve site arregistratu·a, allora primu duvemu riindirizzavi à u vostru servore." + remote_interaction: + favourite: + proceed: Cuntinuà per favurisce + prompt: 'Vulete aghjustà stu statutu à i vostri favuriti:' + reblog: + proceed: Cuntinuà per sparte + prompt: 'Vulete sparte stu statutu:' + reply: + proceed: Cuntinuà per risponde + prompt: 'Vulete risponde à stu statutu:' remote_unfollow: error: Errore title: Titulu unfollowed: Disabbunatu + scheduled_statuses: + over_daily_limit: Avete trapassatu a limita di %{limit} statuti planificati per stu ghjornu + over_total_limit: Avete trapassatu a limita di %{limit} statuti planificati + too_soon: A data deve esse indè u futuru sessions: activity: Ultima attività browser: Navigatore diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 8f3143fc6..e10335533 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -92,10 +92,11 @@ cs: label: Změnit e-mail new_email: Nový e-mail submit: Změnit e-mail - title: Změnit e-mail pro uživatele %{username} + title: Změnit e-mail uživateli %{username} confirm: Potvrdit confirmed: Potvrzeno - confirming: Potvrzující + confirming: Potvrzuji + deleted: Smazáno demote: Degradovat disable: Zablokovat disable_two_factor_authentication: Zakázat 2FA @@ -114,7 +115,9 @@ cs: follows: Sledovaní header: Hlavička inbox_url: URL přijatých zpráv + invited_by: Pozván/a uživatelem ip: IP + joined: Připojil/a se location: all: Vše local: Místní @@ -141,7 +144,7 @@ cs: protocol: Protokol public: Veřejný push_subscription_expires: Odebírání PuSH expiruje - redownload: Obnovit avatar + redownload: Obnovit profil remove_avatar: Odstranit avatar remove_header: Odstranit hlavičku resend_confirmation: @@ -159,10 +162,10 @@ cs: user: Uživatel salmon_url: URL Salmon search: Hledat - shared_inbox_url: URL sdílené schránky + shared_inbox_url: URL sdílených přijatých zpráv show: - created_reports: Nahlášení vytvořená z tohoto účtu - targeted_reports: Nahlášení vytvořená o tomto účtu + created_reports: Vytvořená nahlášení + targeted_reports: Nahlášeni ostatními silence: Utišit silenced: Utišen/a statuses: Příspěvky @@ -174,6 +177,7 @@ cs: undo_suspension: Zrušit pozastavení unsubscribe: Přestat odebírat username: Uživatelské jméno + warn: Varovat web: Web action_logs: actions: @@ -257,7 +261,7 @@ cs: week_users_active: aktivních tento týden week_users_new: uživatelů tento týden domain_blocks: - add_new: Přidat nové + add_new: Přidat novou blokaci domény created_msg: Blokace domény se právě vyřizuje destroyed_msg: Blokace domény byla zrušena domain: Doména @@ -272,8 +276,13 @@ cs: title: Nová doménová blokace reject_media: Odmítat mediální soubory reject_media_hint: Odstraní lokálně uložené soubory a odmítne jejich stažení v budoucnosti. Nepodstatné pro pozastavení - reject_reports: Odmítnout nahlášení - reject_reports_hint: Ignorovat všechna nahlášení pocházející z této domény. Nepodstatné pro suspenzace + reject_reports: Odmítat nahlášení + reject_reports_hint: Ignorovat všechna nahlášení pocházející z této domény. Nepodstatné pro pozastavení + rejecting_media: odmítají se mediální soubory + rejecting_reports: odmítají se nahlášení + severity: + silence: utišené + suspend: pozastavené show: affected_accounts: few: "%{count} účty v databázi byly ovlivněny" @@ -284,7 +293,7 @@ cs: suspend: Zrušit pozastavení všech existujících účtů z této domény title: Zrušit blokaci domény %{domain} undo: Odvolat - undo: Odvolat + undo: Odvolat blokaci domény email_domain_blocks: add_new: Přidat nový created_msg: E-mailová doména úspěšně přidána na černou listinu @@ -299,7 +308,21 @@ cs: back_to_account: Zpět na účet title: Sledovatelé uživatele %{acct} instances: - title: Známé instance + delivery_available: Doručení je k dispozici + known_accounts: + few: "%{count} známých účtů" + one: "%{count} známý účet" + other: "%{count} známých účtů" + moderation: + all: Vše + limited: Omezené + title: Moderace + title: Federace + total_blocked_by_us: Blokované námi + total_followed_by_them: Sledované jím + total_followed_by_us: Sledované námi + total_reported: Nahlášení o něm + total_storage: Mediální přílohy invites: deactivate_all: Deaktivovat vše filter: @@ -565,7 +588,9 @@ cs: size: Velikost blocks: Blokujete csv: CSV + domain_blocks: Blokace domén follows: Sledujete + lists: Seznamy mutes: Ignorujete storage: Paměť médií filters: @@ -718,10 +743,25 @@ cs: no_account_html: Ještě nemáte účet? Můžete se <a href='%{sign_up_path}' target='_blank'>registrovat zde</a> proceed: Pokračovat ke sledování prompt: 'Budete sledovat:' + reason_html: "<strong>Proč je tento krok nutný?</strong> <code>%{instance}</code> nemusí být serverem, na kterém jste registrován/a, proto vás musíme nejdříve přesměrovat na váš domovský server." + remote_interaction: + favourite: + proceed: Pokračovat k oblíbení + prompt: 'Chcete si oblíbit tento toot:' + reblog: + proceed: Pokračovat k boostnutí + prompt: 'Chcete boostnout tento toot:' + reply: + proceed: Pokračovat k odpovězení + prompt: 'Chcete odpovědět na tento toot:' remote_unfollow: error: Chyba title: Nadpis unfollowed: Už nesledujete + scheduled_statuses: + over_daily_limit: Překročil/a jste limit %{limit} plánovaných tootů pro tento den + over_total_limit: Překročil/a jste limit %{limit} plánovaných tootů + too_soon: Plánované datum musí být v budoucnosti sessions: activity: Nejnovější aktivita browser: Prohlížeč diff --git a/config/locales/cy.yml b/config/locales/cy.yml index 40cb1cac0..53b474c16 100644 --- a/config/locales/cy.yml +++ b/config/locales/cy.yml @@ -30,16 +30,34 @@ cy: other_instances: Rhestr achosion privacy_policy: Polisi preifatrwydd source_code: Cod ffynhonnell - status_count_after: statws + status_count_after: + few: statwsau + many: statwsau + one: statws + other: statwsau + two: statwsau + zero: statwsau status_count_before: Ysgriffennwyd gan terms: Telerau gwasanaeth - user_count_after: defnyddwyr + user_count_after: + few: defnyddwyr + many: defnyddwyr + one: defnyddiwr + other: defnyddwyr + two: defnyddwyr + zero: defnyddwyr user_count_before: Cartref i what_is_mastodon: Beth yw Mastodon? accounts: choices_html: 'Dewisiadau %{name}:' follow: Dilynwch - followers: Dilynwyr + followers: + few: Dilynwyr + many: Dilynwyr + one: Dilynwr + other: Dilynwyr + two: Dilynwyr + zero: Dilynwyr following: Yn dilyn joined: Ymunodd %{date} link_verified_on: Gwiriwyd perchnogaeth y ddolen yma ar %{date} @@ -51,7 +69,13 @@ cy: people_who_follow: Pobl sy'n dilyn %{name} pin_errors: following: Rhaid i ti fod yn dilyn y person yr ydych am ei gymeradwyo yn barod - posts: Tŵtiau + posts: + few: Tŵtiau + many: Tŵtiau + one: Tŵt + other: Tŵtiau + two: Tŵtiau + zero: Tŵtiau posts_tab_heading: Tŵtiau posts_with_replies: Tŵtiau ac atebion reserved_username: Mae'r enw defnyddiwr ar gadw @@ -61,6 +85,8 @@ cy: moderator: Safonwr unfollow: Dad-ddilyn admin: + account_actions: + action: Cyflawni gweithred account_moderation_notes: create: Gadael nodyn created_msg: Crewyd nodyn cymedroli yn llwyddiannus! @@ -80,6 +106,7 @@ cy: confirm: Cadarnhau confirmed: Cadarnhawyd confirming: Cadarnhau + deleted: Wedi dileu demote: Diraddio disable: Diffodd disable_two_factor_authentication: Diffodd 2FA @@ -95,8 +122,11 @@ cy: followers: Dilynwyr followers_url: URL Dilynwyr follows: Yn dilyn + header: Pennawd inbox_url: URL Mewnflwch + invited_by: Gwahoddwyd gan ip: IP + joined: Ymunodd location: all: Popeth local: Lleol @@ -106,6 +136,7 @@ cy: media_attachments: Atodiadau memorialize: Troi yn gofeb moderation: + active: Yn weithredol all: Popeth silenced: Wedi ei dawelu suspended: Wedi ei atal @@ -122,7 +153,7 @@ cy: protocol: Protocol public: Cyhoeddus push_subscription_expires: Tanysgrifiad PuSH yn dod i ben - redownload: Adnewyddu afatar + redownload: Adnewyddu proffil remove_avatar: Dileu afatar resend_confirmation: already_confirmed: Mae'r defnyddiwr hwn wedi ei gadarnhau yn barod @@ -154,6 +185,7 @@ cy: undo_suspension: Dadwneud ataliad unsubscribe: Dad-danysgrifio username: Enw defnyddiwr + warn: Rhybuddio web: Gwe action_logs: actions: @@ -271,7 +303,10 @@ cy: title: Cofnod newydd yng nghosbrestr e-byst title: Cosbrestr e-bost instances: - title: Achosion hysbys + moderation: + all: Pob + limited: Gyfyngedig + title: Ffederasiwn invites: deactivate_all: Diffodd pob un filter: @@ -412,7 +447,14 @@ cy: last_delivery: Danfoniad diwethaf title: WebSub topic: Pwnc + tags: + accounts: Cyfrifon + hidden: Cudd + name: Hashnod title: Gweinyddiaeth + warning_presets: + delete: Dileu + edit: Golygu admin_mailer: new_report: body: Mae %{reporter} wedi cwyno am %{target} @@ -497,7 +539,7 @@ cy: '422': content: Methwyd i ddilysu diogelwch. A ydych chi'n blocio cwcîs? title: Methwyd i ddilysu diogelwch - '429': Crogwyd + '429': Wedi'i arafu '500': content: Mae'n ddrwg gennym ni, ond fe aeth rhywbeth o'i le ar ein rhan ni. title: Nid yw'r dudalen hon yn gywir @@ -714,7 +756,13 @@ cy: attached: description: 'Ynghlwm: %{attached}' image: "%{count} o luniau" - video: "%{count} fideo" + video: + few: "%{count} fideo" + many: "%{count} fideo" + one: "%{count} fideo" + other: "%{count} fideo" + two: "%{count} fideo" + zero: "%{count} fideo" boosted_from_html: Wedi ei fŵstio %{acct_link} content_warning: 'Rhybudd cynnwys: %{warning}' disallowed_hashtags: 'yn cynnwys yr hashnod gwaharddedig: %{tags}' @@ -852,6 +900,12 @@ cy: explanation: Fe wnaethoch chi gais am gopi wrth gefn llawn o'ch cyfrif Mastodon. Mae nawr yn barod i'w lawrlwytho! subject: Mae eich archif yn barod i'w lawrlwytho title: Allfudo archif + warning: + title: + disable: Cyfrif wedi'i rewi + none: Rhybudd + silence: Cyfrif cyfyngedig + suspend: Cyfrif wedi'i rewi welcome: edit_profile_action: Sefydlu proffil edit_profile_step: Mae modd i chi addasu eich proffil drwy uwchlwytho afatar, pennawd, drwy newid eich enw arddangos a mwy. Os hoffech chi adolygu dilynwyr newydd cyn iddynt gael caniatad i'ch dilyn, mae modd i chi gloi eich cyfrif. diff --git a/config/locales/de.yml b/config/locales/de.yml index c90101805..0f537e3a8 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -92,6 +92,7 @@ de: confirm: Bestätigen confirmed: Bestätigt confirming: Bestätigung + deleted: Gelöscht demote: Degradieren disable: Ausschalten disable_two_factor_authentication: 2FA abschalten @@ -110,7 +111,9 @@ de: follows: Folgt header: Header inbox_url: Posteingangs-URL + invited_by: Eingeladen von ip: IP-Adresse + joined: Beigetreten location: all: Alle local: Lokal @@ -137,7 +140,7 @@ de: protocol: Protokoll public: Öffentlich push_subscription_expires: PuSH-Abonnement läuft aus - redownload: Avatar neu laden + redownload: Profil neu laden remove_avatar: Profilbild entfernen remove_header: Header entfernen resend_confirmation: @@ -155,10 +158,10 @@ de: user: Nutzer salmon_url: Salmon-URL search: Suche - shared_inbox_url: Geteilter Posteingang URL + shared_inbox_url: Geteilte Posteingang-URL show: - created_reports: Meldungen durch dieses Konto - targeted_reports: Meldungen über dieses Konto + created_reports: Erstellte Beschwerdemeldungen + targeted_reports: Beschwerdemeldungen von anderen silence: Stummschalten silenced: Stummgeschaltet statuses: Beiträge @@ -170,6 +173,7 @@ de: undo_suspension: Sperre zurücknehmen unsubscribe: Abbestellen username: Profilname + warn: Warnen web: Web action_logs: actions: @@ -253,7 +257,7 @@ de: week_users_active: Aktiv diese Woche week_users_new: Benutzer:innen diese Woche domain_blocks: - add_new: Neu hinzufügen + add_new: Neue Domainblockade hinzufügen created_msg: Die Domain-Blockade wird nun durchgeführt destroyed_msg: Die Domain-Blockade wurde rückgängig gemacht domain: Domain @@ -270,6 +274,11 @@ de: reject_media_hint: Entfernt lokal gespeicherte Mediendateien und verhindert deren künftiges Herunterladen. Für Sperren irrelevant reject_reports: Meldungen ablehnen reject_reports_hint: Ignoriere alle Meldungen von dieser Domain. Irrelevant für Sperrungen + rejecting_media: Mediendateien ablehnen + rejecting_reports: Beschwerdemeldungen ablehnen + severity: + silence: stummgeschaltet + suspend: gesperrt show: affected_accounts: one: Ein Konto in der Datenbank betroffen @@ -279,7 +288,7 @@ de: suspend: Alle existierenden Konten dieser Domain entsperren title: Domain-Blockade für %{domain} zurücknehmen undo: Zurücknehmen - undo: Zurücknehmen + undo: Domainblockade zurücknehmen email_domain_blocks: add_new: Neue hinzufügen created_msg: E-Mail-Domain-Blockade erfolgreich erstellt @@ -294,7 +303,20 @@ de: back_to_account: Zurück zum Account title: "%{acct}'s Follower" instances: - title: Bekannte Instanzen + delivery_available: Zustellung ist verfügbar + known_accounts: + one: "%{count} bekannter Account" + other: "%{count} bekannte Accounts" + moderation: + all: Alle + limited: Limitiert + title: Moderation + title: Föderation + total_blocked_by_us: Von uns gesperrt + total_followed_by_them: Gefolgt von denen + total_followed_by_us: Gefolgt von uns + total_reported: Beschwerdemeldungen über sie + total_storage: Medienanhänge invites: deactivate_all: Alle deaktivieren filter: @@ -559,7 +581,9 @@ de: size: Größe blocks: Du hast blockiert csv: CSV + domain_blocks: Domainblockaden follows: Du folgst + lists: Listen mutes: Du hast stummgeschaltet storage: Medienspeicher filters: @@ -708,10 +732,25 @@ de: no_account_html: Noch keinen Account? Du kannst dich <a href='%{sign_up_path}' target='_blank'>hier anmelden</a> proceed: Weiter prompt: 'Du wirst dieser Person folgen:' + reason_html: "<strong>Warum ist dieser Schritt erforderlich?</strong><code>%{instance}</code> ist möglicherweise nicht der Server auf dem du registriert bist, also müssen wir dich erst auf deinen Heimserver weiterleiten." + remote_interaction: + favourite: + proceed: Fortfahren zum Favorisieren + prompt: 'Du möchtest diesen Beitrag favorisieren:' + reblog: + proceed: Fortfahren zum Teilen + prompt: 'Du möchtest diesen Beitrag teilen:' + reply: + proceed: Fortfahren zum Antworten + prompt: 'Du möchtest auf diesen Beitrag antworten:' remote_unfollow: error: Fehler title: Titel unfollowed: Entfolgt + scheduled_statuses: + over_daily_limit: Du hast das Limit für geplante Beiträge, dass %{limit} beträgt, für heute erreicht + over_total_limit: Du hast das Limit für geplante Beiträge, dass %{limit} beträgt, erreicht + too_soon: Das geplante Datum muss in der Zukunft liegen sessions: activity: Letzte Aktivität browser: Browser diff --git a/config/locales/devise.pl.yml b/config/locales/devise.pl.yml index 7902274a3..57c21437b 100644 --- a/config/locales/devise.pl.yml +++ b/config/locales/devise.pl.yml @@ -78,4 +78,8 @@ pl: expired: wygasło, poproś o nowe not_found: nie znaleziono not_locked: było zablokowane - not_saved: 'Błędy (%{count}) uniemożliwiły zapisanie zasobu %{resource}:' + not_saved: + few: 'Błędy (%{count}) uniemożliwiły zapisanie tego %{resource}:' + many: 'Błędy (%{count}) uniemożliwiły zapisanie tego %{resource}:' + one: '1 błąd nie uniemożliwił zapisanie %{resource}:' + other: 'Błędy (%{count}) uniemożliwiły zapisanie tego %{resource}:' diff --git a/config/locales/el.yml b/config/locales/el.yml index 71acb47ea..809f53b1f 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -92,6 +92,7 @@ el: confirm: Επιβεβαίωση confirmed: Επιβεβαιώθηκε confirming: Προς επιβεβαίωση + deleted: Διαγραμμένοι demote: Υποβίβαση disable: Απενεργοποίηση disable_two_factor_authentication: Απενεργοποίηση 2FA @@ -110,7 +111,9 @@ el: follows: Ακολουθεί header: Επικεφαλίδα inbox_url: URL εισερχομένων + invited_by: Προσκλήθηκε από ip: IP + joined: Γράφτηκε location: all: Όλες local: Τοπικά @@ -170,6 +173,7 @@ el: undo_suspension: Αναίρεση παύσης unsubscribe: Κατάργηση εγγραφής username: Όνομα χρήστη + warn: Προειδοποίηση web: Διαδίκτυο action_logs: actions: @@ -270,6 +274,11 @@ el: reject_media_hint: Αφαιρεί τα τοπικά αποθηκευμένα αρχεία πολυμέσων και αποτρέπει τη λήψη άλλων στο μέλλον. Δεν έχει σημασία για τις αναστολές reject_reports: Απόρριψη καταγγελιών reject_reports_hint: Αγνόηση όσων καταγγελιών προέρχονται από αυτό τον τομέα. Δεν σχετίζεται με τις παύσεις + rejecting_media: απορρίπτουν αρχεία πολυμέσων + rejecting_reports: απορρίπτουν καταγγελίες + severity: + silence: αποσιωπημένοι + suspend: ανεσταλμένοι show: affected_accounts: one: Επηρεάζεται ένας λογαριασμός στη βάση δεδομένων @@ -294,7 +303,20 @@ el: back_to_account: Επιστροφή στον λογαριασμό title: Ακόλουθοι του/της %{acct} instances: + delivery_available: Διαθέσιμη παράδοση + known_accounts: + one: "%{count} γνωστός λογαριασμός" + other: "%{count} γνωστοί λογαριασμοί" + moderation: + all: Όλα + limited: Περιορισμένα + title: Διαμεσολάβηση title: Γνωστοί κόμβοι + total_blocked_by_us: Μπλοκάρονται από εμάς + total_followed_by_them: Ακολουθούνται από εκείνους + total_followed_by_us: Ακολουθούνται από εμάς + total_reported: Καταγγελίες προς εκείνους + total_storage: Συνημμένα πολυμέσα invites: deactivate_all: Απενεργοποίηση όλων filter: @@ -377,7 +399,7 @@ el: desc_html: Οι προεπισκοπήσεις συνδέσμων σε τρίτους ιστότοπους θα είναι ορατές ακόμα κι όταν το πολυμέσο έχει σημειωθεί ως ευαίσθητο title: Εμφάνιση ευαίσθητων πολυμέσων στις προεπισκοπήσεις OpenGraph profile_directory: - desc_html: Να επιτρέπεται ο εντοπισμός των χρηστών + desc_html: Να επιτρέπεται η ανακάλυψη χρηστών title: Ενεργοποίηση του καταλόγου χρηστών registrations: closed_message: @@ -559,7 +581,9 @@ el: size: Μέγεθος blocks: Μπλοκάρεις csv: CSV + domain_blocks: Μπλοκαρίσματα κόμβων follows: Ακολουθείς + lists: Λίστες mutes: Αποσιωπάς storage: Αποθήκευση πολυμέσων filters: @@ -707,10 +731,25 @@ el: no_account_html: Δεν έχεις λογαριασμό; Μπορείς <a href='%{sign_up_path}' target='_blank'>να γραφτείς εδώ</a> proceed: Συνέχισε για να ακολουθήσεις prompt: 'Θα ακολουθήσεις:' + reason_html: "<strong>Γιατί χρειάζεται αυτό το βήμα;</strong> Το <code>%{instance}</code> πορεία να μην είναι ο κόμβος που είσαι γραμμένος, έτσι πρέπει να σε ανακατευθύνουμε στο δικό σου." + remote_interaction: + favourite: + proceed: Συνέχισε για σημείωση ως αγαπημένου + prompt: 'Θέλεις να σημειώσεις ως αγαπημένο αυτό το τουτ:' + reblog: + proceed: Συνέχισε για προώθηση + prompt: 'Θέλεις να προωθήσεις αυτό το τουτ:' + reply: + proceed: Συνέχισε για να απαντήσεις + prompt: 'Θέλεις να απαντήσεις σε αυτό το τουτ:' remote_unfollow: error: Σφάλμα title: Τίτλος unfollowed: Σταμάτησες να ακολουθείς + scheduled_statuses: + over_daily_limit: Έχεις υπερβεί το όριο των %{limit} προγραμματισμένων τουτ για εκείνη τη μέρα + over_total_limit: Έχεις υπερβεί το όριο των %{limit} προγραμματισμένων τουτ + too_soon: Η προγραμματισμένη ημερομηνία πρέπει να είναι στο μέλλον sessions: activity: Τελευταία δραστηριότητα browser: Φυλλομετρητής (Browser) diff --git a/config/locales/fr.yml b/config/locales/fr.yml index d0c7289c8..083ce7ad0 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -92,6 +92,7 @@ fr: confirm: Confirmer confirmed: Confirmé confirming: Confirmation + deleted: Effacé demote: Rétrograder disable: Désactiver disable_two_factor_authentication: Désactiver l’authentification à deux facteurs @@ -110,6 +111,7 @@ fr: follows: Abonnements header: Entête inbox_url: URL d’entrée + invited_by: Invité par ip: Adresse IP location: all: Tous @@ -137,7 +139,7 @@ fr: protocol: Protocole public: Publique push_subscription_expires: Expiration de l’abonnement PuSH - redownload: Rafraîchir les avatars + redownload: Rafraîchir le profil remove_avatar: Supprimer l’avatar remove_header: Supprimer l'entête resend_confirmation: @@ -157,8 +159,8 @@ fr: search: Rechercher shared_inbox_url: URL de la boite de réception partagée show: - created_reports: Signalements créés par ce compte - targeted_reports: Signalements créés visant ce compte + created_reports: Signalements faits + targeted_reports: Signalés par d'autres silence: Masquer silenced: Silencié statuses: Statuts @@ -253,7 +255,7 @@ fr: week_users_active: actif·ve·s cette semaine week_users_new: utilisateur·rice·s cette semaine domain_blocks: - add_new: Ajouter + add_new: Ajouter un nouveau bloqueur de domaine created_msg: Le blocage de domaine est désormais activé destroyed_msg: Le blocage de domaine a été désactivé domain: Domaine @@ -270,6 +272,11 @@ fr: 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 reject_reports: Rapports de rejet reject_reports_hint: Ignorez tous les rapports provenant de ce domaine. Sans objet pour les suspensions + rejecting_media: rejet des fichiers multimédia + rejecting_reports: rejet de rapports + severity: + silence: silencié + suspend: suspendu show: affected_accounts: one: Un compte affecté dans la base de données @@ -279,7 +286,7 @@ fr: suspend: Annuler la suspension sur tous les comptes existants pour ce domaine title: Annuler le blocage de domaine pour %{domain} undo: Annuler - undo: Annuler + undo: Annuler le bloqueur de domaine email_domain_blocks: add_new: Ajouter created_msg: Le blocage de domaine de courriel est désormais activé @@ -294,7 +301,19 @@ fr: back_to_account: Retour au compte title: Abonné⋅e⋅s de %{acct} instances: - title: Instances connues + known_accounts: + one: "%{count} compte connu" + other: "%{count} comptes connus" + moderation: + all: Tout + limited: Limité + title: Modération + title: Fédération + total_blocked_by_us: Bloqués par nous + total_followed_by_them: Suivi par eux + total_followed_by_us: Suivi par nous + total_reported: Signalements à leurs propos + total_storage: Attachements de média invites: deactivate_all: Tout désactiver filter: @@ -559,7 +578,9 @@ fr: size: Taille blocks: Vous bloquez csv: CSV + domain_blocks: Bloqueurs de domaine follows: Vous suivez + lists: Listes mutes: Vous masquez storage: Médias stockés filters: @@ -708,10 +729,20 @@ fr: no_account_html: Vous n’avez pas de compte ? Vous pouvez <a href='%{sign_up_path}' target='_blank'>vous inscrire ici</a> proceed: Confirmer l’abonnement prompt: 'Vous allez suivre :' + reason_html: "<strong>Pourquoi cette étape est-elle nécessaire?</strong> <code>%{instance}</code> pourrait ne pas être le serveur où vous vous êtes inscrit, et nous devons donc vous rediriger vers votre serveur de base en premier." + remote_interaction: + favourite: + prompt: 'Vous souhaitez mettre ce pouet en favori :' + reply: + prompt: 'Vous souhaitez répondre à ce pouet :' remote_unfollow: error: Erreur title: Titre unfollowed: Non-suivi + scheduled_statuses: + over_daily_limit: Vous avez dépassé la limite de %{limit} pouets planifiés pour ce jour + over_total_limit: Vous avez dépassé la limite de %{limit} pouets planifiés + too_soon: La date planifiée doit être dans le futur sessions: activity: Dernière activité browser: Navigateur diff --git a/config/locales/gl.yml b/config/locales/gl.yml index 91cf01d46..b8eeb4b4e 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -84,14 +84,15 @@ gl: by_domain: Dominio change_email: changed_msg: Cambiouse correctamente o correo-e da conta! - current_email: Correo-e actual - label: Cambiar correo-e - new_email: Novo correo-e - submit: Cambiar correo-e - title: Cambiar o correo-e de %{username} + current_email: Correo actual + label: Cambiar correo + new_email: Novo correo + submit: Cambiar correo + title: Cambiar o correo de %{username} confirm: Confirmar confirmed: Confirmado confirming: Confirmar + deleted: Eliminado demote: Degradar disable: Deshabilitar disable_two_factor_authentication: Deshabilitar 2FA @@ -99,8 +100,8 @@ gl: display_name: Mostrar nome domain: Dominio edit: Editar - email: E-mail - email_status: Estado del correo electrónico + email: Email + email_status: Estado do correo enable: Habilitar enabled: Habilitado feed_url: URL fonte @@ -110,7 +111,9 @@ gl: follows: Segue header: Cabeceira inbox_url: URL da Caixa de entrada + invited_by: Convidada por ip: IP + joined: Uniuse location: all: Todo local: Local @@ -137,7 +140,7 @@ gl: protocol: Protocolo public: Público push_subscription_expires: A suscrición PuSH caduca - redownload: Actualizar avatar + redownload: Actualizar perfil remove_avatar: Eliminar avatar remove_header: Eliminar cabeceira resend_confirmation: @@ -157,19 +160,20 @@ gl: search: Busca shared_inbox_url: URL da caixa de entrada compartida show: - created_reports: Informes creados por esta conta - targeted_reports: Informes feitos sobre esta conta + created_reports: Informes creados + targeted_reports: Informes feitos por outros silence: Acalar silenced: Acalada statuses: Estados subscribe: Subscribir suspended: Suspendida title: Contas - unconfirmed_email: Correo-e non confirmado + unconfirmed_email: Correo non confirmado undo_silenced: Desfacer acalar undo_suspension: Desfacer suspensión unsubscribe: Non subscribir username: Nome de usuaria + warn: Aviso web: Web action_logs: actions: @@ -253,7 +257,7 @@ gl: week_users_active: activas estas semana week_users_new: usuarias esta semana domain_blocks: - add_new: Engadir novo + add_new: Engadir novo bloqueo de dominio created_msg: Estase a procesar o bloqueo do dominio destroyed_msg: Desfixose a acción de bloqueo de dominio domain: Dominio @@ -270,6 +274,11 @@ gl: reject_media_hint: Eliminar ficheiros de medios almacenados localmente e rexeita descargalos no futuro. Irrelevante para as suspensións reject_reports: Rexeitar informes reject_reports_hint: Ignorar todos os informes procedentes de este dominio. Irrelevante para as suspensións + rejecting_media: rexeitando ficheiros de medios + rejecting_reports: rexeitando informes + severity: + silence: acalado + suspend: suspendido show: affected_accounts: one: Afectoulle a unha conta na base de datos @@ -279,7 +288,7 @@ gl: suspend: Non suspender todas as contas existentes de este dominio title: Desfacer o bloqueo de dominio para %{domain} undo: Desfacer - undo: Desfacer + undo: Desfacer bloqueo de dominio email_domain_blocks: add_new: Engadir novo created_msg: Engadeuse correctamente o dominio de email a lista negra @@ -294,7 +303,20 @@ gl: back_to_account: Voltar a Conta title: Seguidoras de %{acct} instances: - title: Instancias coñecidas + delivery_available: A entrega está dispoñible + known_accounts: + one: "%{count} conta coñecida" + other: "%{count} contas coñecidas" + moderation: + all: Todo + limited: Limitado + title: Moderación + title: Federación + total_blocked_by_us: Bloqueado por nós + total_followed_by_them: Seguidas por eles + total_followed_by_us: Seguidas por nós + total_reported: Informes sobre elas + total_storage: Anexos de medios invites: deactivate_all: Desactivar todo filter: @@ -559,7 +581,9 @@ gl: size: Tamaño blocks: A bloquear csv: CSV + domain_blocks: Bloqueos de dominio follows: A seguir + lists: Listas mutes: Acalou storage: Almacenamento de medios filters: @@ -708,10 +732,25 @@ gl: no_account_html: Non ten unha conta? Pode <a href='%{sign_up_path}' target='_blank'>rexistrarse aquí</a> proceed: Proceda para seguir prompt: 'Vostede vai seguir:' + reason_html: "<strong>Por que é necesario este paso?</strong><code>%{instance}</code> podería non ser o servidor onde se rexistrou, así que precisamo redirixila primeiro ao seu servidor de orixe." + remote_interaction: + favourite: + proceed: Darlle a favorito + prompt: 'Vostede quere favorecer este toot:' + reblog: + proceed: Darlle a promocionar + prompt: 'Vostede quere promocionar este toot:' + reply: + proceed: Respostar + prompt: 'Vostede quere respostar a este toot:' remote_unfollow: error: Fallo title: Título unfollowed: Deixou de seguir + scheduled_statuses: + over_daily_limit: Excedeu o límite de %{limit} toots programados para ese día + over_total_limit: Excedeu o límite de %{limit} toots programados + too_soon: A data de programación debe estar no futuro sessions: activity: Última actividade browser: Navegador diff --git a/config/locales/id.yml b/config/locales/id.yml index ae38b3f7d..fabf2746e 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -1,28 +1,75 @@ --- id: about: + about_hashtag_html: Ini adalah toot public yang ditandai dengan <strong>#%{hashtag}</strong>. Anda bisa berinteraksi dengan mereka jika anda memiliki akun dimanapun di fediverse. about_mastodon_html: Mastodon adalah sebuah jejaring sosial <em>terbuka, open-source</em. Sebuah alternatif <em>desentralisasi</em> dari platform komersial, menjauhkan anda resiko dari sebuah perusahaan yang memonopoli komunikasi anda. Pilih server yang anda percayai — apapun yang anda pilih, anda tetap dapat berinteraksi dengan semua orang. Semua orang dapat menjalankan server Mastodon sendiri dan berpartisipasi dalam <em>jejaring sosial</em> dengan mudah. about_this: Tentang server ini - closed_registrations: Pendaftaran untuk server ini sedang ditutup. + api: API + apps: Aplikasi hp + closed_registrations: Pendaftaran untuk server ini sedang ditutup. Tetapi, anda bisa mencari server lain untuk membuat akun dan mendapatkan akses dari jaringan yang sama di sana. contact: Kontak - other_instances: Server lain + contact_missing: Belum diset + contact_unavailable: Tidak Tersedia + documentation: Dokumentasi + extended_description_html: | + <h3>Tempat yang baik untuk peraturan</h3> + <p>Deskripsi lainnya belum diset.</p> + features: + humane_approach_body: Belajar dari kegagalan jaringan lain, Mastodon berupaya untuk membuat pilihan desain yang etis untuk melawan penyalahgunaan media sosial. + humane_approach_title: Pendekatan yang lebih manusiawi + not_a_product_body: Mastodon bukanlah jaringan komersil. Tidak ada iklan, tidak ada pengumpulan data, tidak ada batasan vendor. Tidak ada otoritas terpusat. + not_a_product_title: Anda adalah orang, bukanlah sebuah produk + real_conversation_body: Dengan 500 karakter dan dukungan konten granular dan peringatan media, anda dapat mengekspresikan diri anda sendiri sesuai yang anda mau. + real_conversation_title: Dibangun untuk percakapan yang sebenarnya + within_reach_body: Berbagai aplikasi untuk iOS, Android, dan platform lainnya berkat ekosistem API yang ramah pada pengembang untuk tetap terhubung dengan teman-teman anda dimanapun. + within_reach_title: Selalu dalam jangkauan + generic_description: "%{domain} adalah satu server dalam jaringan" + hosted_on: Mastodon dihosting di %{domain} + learn_more: Pelajari selengkapnya + other_instances: Daftar Server + privacy_policy: Kebijakan Privasi source_code: Kode sumber - status_count_after: status + status_count_after: + one: status + other: status status_count_before: Yang telah menulis - user_count_after: pengguna + terms: Kebijakan layanan + user_count_after: + one: pengguna + other: pengguna user_count_before: Tempat bernaung bagi + what_is_mastodon: Apa itu Mastodon? accounts: follow: Ikuti - followers: Pengikut - following: Mengikut + followers: + one: Pengikut + other: Pengikut + following: Mengikuti + joined: Bergabung pada %{date} + last_active: terakhir aktif + link_verified_on: Kepemilikan tautan ini telah dicek pada %{date} + media: Media + moved_html: "%{name} telah pindah ke %{new_profile_link}:" + network_hidden: Informasi ini tidak tersedia nothing_here: Tidak ada apapun disini! people_followed_by: Orang yang diikuti %{name} people_who_follow: Orang-orang yang mengikuti %{name} + pin_errors: + following: Anda harus mengikuti orang yang ingin anda endorse posts: one: Toot - other: Toots + other: Toot + posts_tab_heading: Toot + posts_with_replies: Toot dan balasan + reserved_username: Nama pengguna telah dipesan + roles: + admin: Admin + bot: Bot + moderator: Moderator unfollow: Berhenti mengikuti admin: + account_actions: + action: Lakukan aksi accounts: are_you_sure: Anda yakin? confirm: Konfirmasi diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 1ab2d5445..fce4895fc 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -92,6 +92,7 @@ ja: confirm: 確認 confirmed: 確認済み confirming: 確認中 + deleted: 削除済み demote: 降格 disable: 無効化 disable_two_factor_authentication: 二段階認証を無効にする @@ -110,7 +111,9 @@ ja: follows: フォロー数 header: ヘッダー inbox_url: Inbox URL + invited_by: 招待した人 ip: IP + joined: 登録日 location: all: すべて local: ローカル @@ -155,7 +158,7 @@ ja: user: ユーザー salmon_url: Salmon URL search: 検索 - shared_inbox_url: Shared Inbox URL + shared_inbox_url: Shared inbox URL show: created_reports: このアカウントで作られたレポート targeted_reports: このアカウントについてのレポート @@ -170,6 +173,7 @@ ja: undo_suspension: 停止から戻す unsubscribe: 購読の解除 username: ユーザー名 + warn: 警告 web: Web action_logs: actions: @@ -253,7 +257,7 @@ ja: week_users_active: 今週活動した人数 week_users_new: 今週登録した人数 domain_blocks: - add_new: 新規追加 + add_new: ドメインブロックを追加 created_msg: ドメインブロック処理を完了しました destroyed_msg: ドメインブロックを外しました domain: ドメイン @@ -270,6 +274,11 @@ ja: reject_media_hint: ローカルに保存されたメディアファイルを削除し、今後のダウンロードを拒否します。停止とは無関係です reject_reports: レポートを拒否 reject_reports_hint: このドメインからのレポートをすべて無視します。停止とは無関係です + rejecting_media: メディアファイルを拒否中 + rejecting_reports: レポートを拒否中 + severity: + silence: サイレンス中 + suspend: 停止中 show: affected_accounts: one: データベース中の一つのアカウントに影響します @@ -294,7 +303,20 @@ ja: back_to_account: 戻る title: "%{acct}さんのフォロワー" instances: + delivery_available: 配送可能 + known_accounts: + one: 既知のアカウント数 %{count} + other: 既知のアカウント数 %{count} + moderation: + all: すべて + limited: 制限あり + title: モデレーション title: 既知のインスタンス + total_blocked_by_us: ブロック合計 + total_followed_by_them: 被フォロー合計 + total_followed_by_us: フォロー合計 + total_reported: レポート合計 + total_storage: 添付されたメディア invites: deactivate_all: すべて無効化 filter: @@ -365,7 +387,7 @@ ja: desc_html: 全ページに適用されるCSSの編集 title: カスタムCSS hero: - desc_html: フロントページに表示されます。サイズは600x100px以上推奨です。未設定の場合、インスタンスのサムネイルが使用されます + desc_html: フロントページに表示されます。サイズは600x100px以上推奨です。未設定の場合、標準のサムネイルが使用されます title: ヒーローイメージ mascot: desc_html: 複数のページに表示されます。サイズは293x205px以上推奨です。未設定の場合、標準のマスコットが使用されます @@ -559,7 +581,9 @@ ja: size: 容量 blocks: ブロック csv: CSV + domain_blocks: 非表示にしたドメイン follows: フォロー + lists: リスト mutes: ミュート storage: メディア filters: @@ -708,6 +732,16 @@ ja: no_account_html: アカウントをお持ちではないですか?<a href='%{sign_up_path}' target='_blank'>こちら</a>からサインアップできます proceed: フォローする prompt: 'フォローしようとしています:' + remote_interaction: + favourite: + proceed: お気に入り登録する + prompt: 'お気に入り登録しようとしています:' + reblog: + proceed: ブーストする + prompt: 'ブーストしようとしています:' + reply: + proceed: 返信する + prompt: '返信しようとしています:' remote_unfollow: error: エラー title: タイトル diff --git a/config/locales/ko.yml b/config/locales/ko.yml index a15066d19..274b3c2b8 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -92,6 +92,7 @@ ko: confirm: 확인 confirmed: 확인됨 confirming: 확인 중 + deleted: 삭제됨 demote: 모더레이터 강등 disable: 비활성화 disable_two_factor_authentication: 2단계 인증을 비활성화 @@ -99,10 +100,10 @@ ko: display_name: 이름 domain: 도메인 edit: 편집 - email: E-mail + email: 이메일 email_status: 이메일 상태 enable: 활성화 - enabled: 활성화된 + enabled: 활성 feed_url: 피드 URL followers: 팔로워 수 followers_local: "(%{local} 로컬)" @@ -110,7 +111,9 @@ ko: follows: 팔로잉 수 header: 헤더 inbox_url: 수신함 URL + invited_by: 초대자 ip: IP + joined: 가입 location: all: 전체 local: 로컬 @@ -137,7 +140,7 @@ ko: protocol: 프로토콜 public: 전체 공개 push_subscription_expires: PuSH 구독 기간 만료 - redownload: 아바타 업데이트 + redownload: 프로필 업데이트 remove_avatar: 아바타 지우기 remove_header: 헤더 삭제 resend_confirmation: @@ -170,6 +173,7 @@ ko: undo_suspension: 정지 해제 unsubscribe: 구독 해제 username: 아이디 + warn: 경고 web: 웹 action_logs: actions: @@ -253,7 +257,7 @@ ko: week_users_active: 이번 주의 활성 사용자 week_users_new: 이번 주의 신규 유저 domain_blocks: - add_new: 추가하기 + add_new: 도메인 차단 추가하기 created_msg: 도메인 차단 처리를 완료했습니다 destroyed_msg: 도메인 차단이 해제되었습니다 domain: 도메인 @@ -272,6 +276,11 @@ ko: reject_media_hint: 로컬에 저장된 미디어 파일을 삭제하고, 이후로도 다운로드를 거부합니다. 정지와는 관계 없습니다 reject_reports: 신고 거부 reject_reports_hint: 이 도메인으로부터의 모든 신고를 무시합니다. 정지와는 무관합니다 + rejecting_media: 미디어 거부 + rejecting_reports: 신고 거부 + severity: + silence: 침묵 + suspend: 정지 show: affected_accounts: one: 데이터베이스 중 1개의 계정에 영향을 끼칩니다 @@ -281,7 +290,7 @@ ko: suspend: 이 도메인에 존재하는 모든 계정의 계정 정지를 해제 title: "%{domain}의 도메인 차단을 해제" undo: 실행 취소 - undo: 실행 취소 + undo: 도메인 차단 취소 email_domain_blocks: add_new: 새로 추가 created_msg: 이메일 도메인 차단 규칙을 생성했습니다 @@ -296,7 +305,20 @@ ko: back_to_account: 계정으로 돌아가기 title: "%{acct}의 팔로워" instances: - title: 알려진 인스턴스들 + delivery_available: 전송 가능 + known_accounts: + one: 알려진 계정 %{count}개 + other: 알려진 계정 %{count}개 + moderation: + all: 모두 + limited: 제한됨 + title: 모더레이션 + title: 연합 + total_blocked_by_us: 우리에게 차단 됨 + total_followed_by_them: 우리를 팔로우 + total_followed_by_us: 우리가 한 팔로우 + total_reported: 이들에 대한 신고 + total_storage: 미디어 첨부 invites: deactivate_all: 전부 비활성화 filter: @@ -561,7 +583,9 @@ ko: size: 크기 blocks: 차단 csv: CSV + domain_blocks: 도메인 차단 follows: 팔로우 + lists: 리스트 mutes: 뮤트 storage: 미디어 filters: @@ -710,10 +734,25 @@ ko: no_account_html: 계정이 없나요? <a href='%{sign_up_path}' target='_blank'>여기에서 가입 할 수 있습니다</a> proceed: 팔로우 하기 prompt: '팔로우 하려 하고 있습니다:' + reason_html: "<strong>왜 이 과정이 필요하죠?</strong><code>%{instance}</code>는 당신이 가입한 서버가 아닐 것입니다, 당신의 홈 서버로 먼저 가야 합니다." + remote_interaction: + favourite: + proceed: 즐겨찾기 진행 + prompt: '이 툿을 즐겨찾기 하려고 합니다:' + reblog: + proceed: 부스트 진행 + prompt: '이 툿을 부스트 하려 합니다:' + reply: + proceed: 답장 진행 + prompt: '이 툿에 답장을 하려 합니다:' remote_unfollow: error: 에러 title: 타이틀 unfollowed: 언팔로우됨 + scheduled_statuses: + over_daily_limit: 그 날짜에 대한 %{limit}개의 예약 툿 제한을 초과합니다 + over_total_limit: 예약 툿 제한 %{limit}을 초과합니다 + too_soon: 예약 날짜는 미래여야 합니다 sessions: activity: 마지막 활동 browser: 브라우저 diff --git a/config/locales/nl.yml b/config/locales/nl.yml index a40467b92..d2bb2801e 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -92,6 +92,7 @@ nl: confirm: Bevestigen confirmed: Bevestigd confirming: Bevestiging + deleted: Verwijderd demote: Degraderen disable: Uitschakelen disable_two_factor_authentication: 2FA uitschakelen @@ -100,7 +101,7 @@ nl: domain: Domein edit: Bewerken email: E-mail - email_status: E-mail Status + email_status: E-mailstatus enable: Inschakelen enabled: Ingeschakeld feed_url: Feed-URL @@ -110,7 +111,9 @@ nl: follows: Volgt header: Omslagfoto inbox_url: Inbox-URL + invited_by: Uitgenodigd door ip: IP + joined: Geregistreerd in location: all: Alles local: Lokaal @@ -137,7 +140,7 @@ nl: protocol: Protocol public: Openbaar push_subscription_expires: PuSH-abonnement verloopt op - redownload: Avatar vernieuwen + redownload: Profiel vernieuwen remove_avatar: Avatar verwijderen remove_header: Omslagfoto verwijderen resend_confirmation: @@ -157,8 +160,8 @@ nl: search: Zoeken shared_inbox_url: Gedeelde inbox-URL show: - created_reports: Door dit account aangemaakte rapportages - targeted_reports: Over dit account aangemaakte rapportages + created_reports: Aangemaakte rapportages + targeted_reports: Door anderen gerapporteerd silence: Negeren silenced: Genegeerd statuses: Toots @@ -170,6 +173,7 @@ nl: undo_suspension: Niet langer opschorten unsubscribe: Opzeggen username: Gebruikersnaam + warn: Waarschuwen web: Webapp action_logs: actions: @@ -253,7 +257,7 @@ nl: week_users_active: actieve gebruikers deze week week_users_new: nieuwe gebruikers deze week domain_blocks: - add_new: Nieuwe toevoegen + add_new: Nieuwe domeinblokkade toevoegen created_msg: Domeinblokkade wordt nu verwerkt destroyed_msg: Domeinblokkade is ongedaan gemaakt domain: Domein @@ -266,10 +270,15 @@ nl: silence: Negeren suspend: Opschorten title: Nieuwe domeinblokkade - reject_media: Mediabestanden verwerpen + reject_media: Mediabestanden weigeren reject_media_hint: Verwijderd lokaal opgeslagen mediabestanden en weigert deze in de toekomst te downloaden. Irrelevant voor opgeschorte domeinen reject_reports: Rapportages weigeren reject_reports_hint: Alle rapportages die vanaf dit domein komen negeren. Irrelevant voor opgeschorte domeinen + rejecting_media: mediabestanden worden geweigerd + rejecting_reports: rapportages worden geweigerd + severity: + silence: genegeerd + suspend: opgeschort show: affected_accounts: one: Eén account in de database aangepast @@ -279,7 +288,7 @@ nl: suspend: Alle opgeschorte accounts van dit domein niet langer opschorten title: Domeinblokkade voor %{domain} ongedaan maken undo: Ongedaan maken - undo: Ongedaan maken + undo: domeinblokkade ongedaan maken email_domain_blocks: add_new: Nieuwe toevoegen created_msg: Blokkeren e-maildomein geslaagd @@ -294,7 +303,20 @@ nl: back_to_account: Terug naar account title: Volgers van %{acct} instances: - title: Bekende servers + delivery_available: Bezorging is mogelijk + known_accounts: + one: "%{count} bekend account" + other: "%{count} bekende accounts" + moderation: + all: Alles + limited: Beperkt + title: Moderatie + title: Andere domeinen + total_blocked_by_us: Door ons geblokkeerd + total_followed_by_them: Door hun gevolgd + total_followed_by_us: Door ons gevolgd + total_reported: Rapportages over hun + total_storage: Mediabijlagen invites: deactivate_all: Alles deactiveren filter: @@ -559,7 +581,9 @@ nl: size: Omvang blocks: Jij blokkeert csv: CSV + domain_blocks: Domeinblokkades follows: Jij volgt + lists: Lijsten mutes: Jij negeert storage: Mediaopslag filters: @@ -659,8 +683,8 @@ nl: other: "%{count} nieuwe meldingen sinds jouw laatste bezoek \U0001F418" title: Tijdens jouw afwezigheid... favourite: - body: 'Jouw toot werd door %{name} als favoriet gemarkeerd:' - subject: "%{name} markeerde jouw toot als favoriet" + body: 'Jouw toot werd door %{name} aan hun favorieten toegevoegd:' + subject: "%{name} voegde jouw toot als favoriet toe" title: Nieuwe favoriet follow: body: "%{name} volgt jou nu!" @@ -708,10 +732,25 @@ nl: no_account_html: Heb je geen account? Je kunt er <a href='%{sign_up_path}' target='_blank'>hier een registreren</a> proceed: Ga verder om te volgen prompt: 'Jij gaat volgen:' + reason_html: "<strong> Waarom is deze extra stap nodig? </strong> <code>%{instance}</code> is wellicht niet de server waarop jij je geregistreerd hebt. We verwijzen je eerst door naar jouw eigen server." + remote_interaction: + favourite: + proceed: Doorgaan met toevoegen aan jouw favorieten + prompt: 'Je wilt de volgende toot aan jouw favorieten toevoegen:' + reblog: + proceed: Doorgaan met boosten + prompt: 'Je wilt de volgende toot boosten:' + reply: + proceed: Doorgaan met reageren + prompt: 'Je wilt op de volgende toot reageren:' remote_unfollow: error: Fout title: Titel unfollowed: Ontvolgd + scheduled_statuses: + over_daily_limit: Je hebt de limiet van %{limit} in te plannen toots voor die dag overschreden + over_total_limit: Je hebt de limiet van %{limit} in te plannen toots overschreden + too_soon: De datum voor de ingeplande toot moet in de toekomst liggen sessions: activity: Laatst actief browser: Webbrowser @@ -913,6 +952,10 @@ nl: subject: Jouw archief staat klaar om te worden gedownload title: Archief ophalen warning: + explanation: + disable: Zolang jouw account is bevroren blijven jouw accountgegevens intact, maar kun je geen handelingen uitvoeren totdat het account is vrijgegeven. + silence: Zolang jouw account wordt beperkt, kunnen alleen mensen die jou al volgen jouw toots op deze server zien. Tevens ben je niet zichtbaar in meldingen, gesprekken en op openbare tijdlijnen. Anderen kunnen je echter wel handmatig volgen. + suspend: Jouw account is opgeschort. Jouw toots en geüploade media zijn onomkeerbaar van deze server verwijderd, en ook o.a. van de servers waar jij volgers had. review_server_policies: Serverbeleid bekijken subject: disable: Jouw account %{acct} is bevroren diff --git a/config/locales/oc.yml b/config/locales/oc.yml index 27eee4f50..c2a257969 100644 --- a/config/locales/oc.yml +++ b/config/locales/oc.yml @@ -87,11 +87,12 @@ oc: current_email: Adreça actuala label: Cambiar d’adreça new_email: Novèla adreça - submit: Cambiar + submit: Cambiar l’adreça title: Cambiar l’adreça a %{username} confirm: Confirmar confirmed: Confirmat confirming: Confirmacion + deleted: Suprimits demote: Retrogradar disable: Desactivar disable_two_factor_authentication: Desactivar 2FA @@ -110,7 +111,9 @@ oc: follows: Abonaments header: Bandièra inbox_url: URL de recepcion + invited_by: Convidat per ip: IP + joined: Venguèt location: all: Totes local: Locals @@ -137,7 +140,7 @@ oc: protocol: Protocòl public: Public push_subscription_expires: Fin de l’abonament PuSH - redownload: Actualizar los avatars + redownload: Actualizar lo perfil remove_avatar: Supriir l’avatar remove_header: Levar la bandièra resend_confirmation: @@ -157,8 +160,8 @@ oc: search: Cercar shared_inbox_url: URL de recepcion partejada show: - created_reports: Rapòrts creat per aqueste compte - targeted_reports: Rapòrts faches tocant aqueste compte + created_reports: Senhalaments creats + targeted_reports: Senhalaments dels autres silence: Silenci silenced: Rescondut statuses: Estatuts @@ -170,6 +173,7 @@ oc: undo_suspension: Levar la suspension unsubscribe: Se desabonar username: Nom d’utilizaire + warn: Avisar web: Web action_logs: actions: @@ -253,7 +257,7 @@ oc: week_users_active: actius aquesta setmana week_users_new: utilizaires aquesta setmana domain_blocks: - add_new: Ajustar + add_new: Ajustar un novèl blocatge de domeni created_msg: Domeni blocat es a èsser tractat destroyed_msg: Lo blocatge del domeni es estat levat domain: Domeni @@ -270,6 +274,11 @@ oc: reject_media_hint: Lèva los fichièrs gardats localament e regèta las demandas de telecargament dins lo futur. Servís pas a res per las suspensions reject_reports: Regetar los senhalaments reject_reports_hint: Ignorar totes los senhalaments que venon d’aqueste domeni. Pas pertiment per las suspensions + rejecting_media: regeta los fichièrs multimèdias + rejecting_reports: regeta los senhalements + severity: + silence: mes en silenci + suspend: suspendut show: affected_accounts: one: Un compte de la basa de donadas tocat @@ -294,7 +303,20 @@ oc: back_to_account: Tornar al compte title: Seguidors de %{acct} instances: - title: Instàncias conegudas + delivery_available: Liurason disponibla + known_accounts: + one: "%{count} compte conegut" + other: "%{count} comptes coneguts" + moderation: + all: Totas + limited: Limitat + title: Moderacion + title: Federacion + total_blocked_by_us: Avèm blocat + total_followed_by_them: Sègon + total_followed_by_us: Seguèm + total_reported: Senhalament a prepaus d’eles + total_storage: Fichièrs junts invites: deactivate_all: O desactivar tot filter: @@ -615,7 +637,9 @@ oc: size: Talha blocks: Personas que blocatz csv: CSV + domain_blocks: Blocatge de domenis follows: Personas que seguètz + lists: Listas mutes: Personas rescondudas storage: Mèdias gardats filters: @@ -764,10 +788,25 @@ oc: no_account_html: Avètz pas cap de compte ? Podètz <a href='%{sign_up_path}' target='_blank'>vos marcar aquí</a> proceed: Clicatz per sègre prompt: 'Sètz per sègre :' + reason_html: "<strong>Perque aquesta etapa es necessària ?</strong><code>%{instance}</code> es benlèu pas lo servidor ont vos marquèretz, doncas nos cal vos redirigir cap a vòstre prim servidor per començar." + remote_interaction: + favourite: + proceed: Contunhar per metre en favorit + prompt: 'Volètz metre en favorit aqueste tut :' + reblog: + proceed: Contunhar per repartejar + prompt: 'Volètz repartejar aqueste tut :' + reply: + proceed: Contunhar per respondre + prompt: 'Volètz respondre a aqueste tut :' remote_unfollow: error: Error title: Títol unfollowed: Pas mai seguit + scheduled_statuses: + over_daily_limit: Avètz passat la limita de %{limit} tuts programats per aquel jorn + over_total_limit: Avètz passat la limita de %{limit} tuts programats + too_soon: La data planificada deu èsser dins lo futur sessions: activity: Darrièra activitat browser: Navigator diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 223d68ac3..201667d46 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -117,6 +117,7 @@ pl: followers_local: "(%{local} lokalnych)" followers_url: Adres śledzących follows: Śledzeni + header: Nagłówek inbox_url: Adres skrzynki invited_by: Zaproszony(-a) przez ip: Adres IP @@ -149,6 +150,7 @@ pl: push_subscription_expires: Subskrypcja PuSH wygasa redownload: Odśwież profil remove_avatar: Usun awatar + remove_header: Usuń nagłówek resend_confirmation: already_confirmed: To konto zostało już potwierdzone send: Wyślij ponownie e-mail z potwierdzeniem @@ -280,8 +282,17 @@ pl: reject_media_hint: Usuwa przechowywane lokalnie pliki multimedialne i nie pozwala na ich pobieranie. Nieprzydatne przy zawieszeniu reject_reports: Odrzucaj zgłoszenia reject_reports_hint: Zgłoszenia z tej instancji będą ignorowane. Nieprzydatne przy zawieszeniu + rejecting_media: pliki multimedialne są odrzucane + rejecting_reports: zgłoszenia są odrzucane + severity: + silence: wyciszono + suspend: zawieszono show: - affected_accounts: Dotyczy %{count} kont w bazie danych + affected_accounts: + few: Dotknęło %{count} kont w bazie danych + many: Dotknęło %{count} kont w bazie danych + one: Dotknęło jedno konto w bazie danych + other: Dotknęło %{count} kont w bazie danych retroactive: silence: Odwołaj wyciszenie wszystkich kont w tej domenie suspend: Odwołaj zawieszenie wszystkich kont w tej domenie @@ -302,7 +313,22 @@ pl: back_to_account: Wróć do konta title: Śledzący %{acct} instances: + delivery_available: Doręczanie jest dostępne + known_accounts: + few: "%{count} znane konta" + many: "%{count} znane konta" + one: "%{count} znane konto" + other: "%{count} znane konta" + moderation: + all: Wszystkie + limited: Ograniczone + title: Moderacja title: Znane instancje + total_blocked_by_us: Zablokowane przez nas + total_followed_by_them: Śledzeni przez nich + total_followed_by_us: Śledzeni przez nas + total_reported: Zgłoszenia dotyczące ich + total_storage: Załączniki multimedialne invites: deactivate_all: Unieważnij wszystkie filter: @@ -569,7 +595,9 @@ pl: size: Rozmiar blocks: Zablokowani csv: CSV + domain_blocks: Blokady domen follows: Śledzeni + lists: Listy mutes: Wyciszeni storage: Urządzenie przechowujące dane filters: diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index a9781bf1e..5d9c9bb0f 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -92,6 +92,7 @@ pt-BR: confirm: Confirmar confirmed: Confirmado confirming: Confirmando + deleted: Excluído demote: Rebaixar disable: Desativar disable_two_factor_authentication: Desativar 2FA @@ -110,7 +111,9 @@ pt-BR: follows: Segue header: Cabeçalho inbox_url: URL da caixa de entrada + invited_by: Convidado por ip: IP + joined: Se cadastrou location: all: Todos local: Local @@ -137,7 +140,7 @@ pt-BR: protocol: Protocolo public: Público push_subscription_expires: Inscrição PuSH expira - redownload: Atualizar avatar + redownload: Atualizar perfil remove_avatar: Remover avatar remove_header: Remover cabeçalho resend_confirmation: @@ -170,6 +173,7 @@ pt-BR: undo_suspension: Retirar suspensão unsubscribe: Desinscrever-se username: Nome de usuário + warn: Notificar web: Web action_logs: actions: @@ -253,7 +257,7 @@ pt-BR: week_users_active: ativos essa semana week_users_new: usuários essa semana domain_blocks: - add_new: Adicionar novo + add_new: Adicionar novo bloqueio de domínio created_msg: Bloqueio de domínio está sendo processado destroyed_msg: Bloqueio de domínio desfeito domain: Domínio @@ -270,6 +274,11 @@ pt-BR: reject_media_hint: Remove arquivos de mídia armazenados localmente e recusa quaisquer outros no futuro. Irrelevante para suspensões reject_reports: Rejeitar denúncias reject_reports_hint: Ignorar todas as denúncias vindas deste domíno. Irrelevante para suspensões + rejecting_media: rejeitando arquivos de mídia + rejecting_reports: rejeitando denúncias + severity: + silence: silenciado + suspend: suspenso show: affected_accounts: one: Uma conta no banco de dados foi afetada @@ -279,7 +288,7 @@ pt-BR: suspend: Retirar suspensão de todas as contas neste domínio title: Retirar bloqueio de domínio de %{domain} undo: Retirar - undo: Retirar + undo: Retirar bloqueio de domínio email_domain_blocks: add_new: Adicionar novo created_msg: Bloqueio de domínio de e-mail criado com sucesso @@ -294,7 +303,20 @@ pt-BR: back_to_account: Voltar para a conta title: Pessoas que seguem %{acct} instances: - title: Instâncias conhecidas + delivery_available: Entrega está disponível + known_accounts: + one: "%{count} conta conhecida" + other: "%{count} contas conhecidas" + moderation: + all: Todas + limited: Limitado + title: Moderação + title: Federação + total_blocked_by_us: Bloqueado por nós + total_followed_by_them: Seguidos por eles + total_followed_by_us: Seguidos por nós + total_reported: Denúncias sobre eles + total_storage: Mídias anexadas invites: deactivate_all: Desativar todos filter: @@ -535,8 +557,8 @@ pt-BR: explanation: Descobrir usuários baseado em seus interesses explore_mastodon: Explorar %{title} people: - one: "%{count} pessoas" - other: "%{count} pessoa" + one: "%{count} pessoa" + other: "%{count} pessoas" errors: '403': Você não tem permissão para ver esta página. '404': A página pela qual você está procurando não existe. @@ -559,7 +581,9 @@ pt-BR: size: Tamanho blocks: Você bloqueou csv: CSV + domain_blocks: Bloqueios de domínio follows: Você segue + lists: Listas mutes: Você silenciou storage: Armazenamento de mídia filters: @@ -708,10 +732,25 @@ pt-BR: no_account_html: Não tem uma conta? Você pode <a href='%{sign_up_path}' target='_blank'>cadastrar-se aqui</a> proceed: Prosseguir para seguir prompt: 'Você irá seguir:' + reason_html: "<strong>Por que esse passo é necessário?</strong> <code>%{instance}</code> pode não ser o servidor onde você se registrou, então precisamos redirecionar você para o seu servidor primeiro." + remote_interaction: + favourite: + proceed: Proceder para favoritar + prompt: 'Você quer favoritar este toot:' + reblog: + proceed: Proceder para compartilhar + prompt: 'Você quer compartilhar esse toot:' + reply: + proceed: Proceder para responder + prompt: 'Você quer responder à esse toot:' remote_unfollow: error: Erro title: Título unfollowed: Deixou de seguir + scheduled_statuses: + over_daily_limit: Você excedeu o limite de %{limit} toots planejados para esse dia + over_total_limit: Você excedeu o limite de %{limit} toots planejados + too_soon: A data planejada precisa ser no futuro sessions: activity: Última atividade browser: Navegador diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml index 6d0a9196f..d6e7942b3 100644 --- a/config/locales/simple_form.de.yml +++ b/config/locales/simple_form.de.yml @@ -26,7 +26,7 @@ de: password: Verwende mindestens 8 Zeichen phrase: Wird unabhängig vom umgebenen Text oder Inhaltswarnung eines Beitrags verglichen scopes: Welche Schnittstellen der Applikation erlaubt sind. Wenn du einen Top-Level-Scope auswählst, dann musst du nicht jeden einzelnen darunter auswählen. - setting_aggregate_reblogs: Zeige keine neuen Boosts für Beiträge, die nicht kürzlich geboostet wurden (dies betrifft nur neulich erhaltene Boosts) + setting_aggregate_reblogs: Zeige denselben Beitrag nicht nochmal an, wenn er erneut geteilt wurde (dies betrifft nur neulich erhaltene erneut geteilte Beiträge) setting_default_language: Die Sprache der Beiträge kann automatisch erkannt werden, aber dies ist nicht immer genau setting_display_media_default: Verstecke Medien, die als sensibel markiert sind setting_display_media_hide_all: Alle Medien immer verstecken @@ -85,7 +85,7 @@ de: otp_attempt: Zwei-Faktor-Authentisierungs-Code password: Passwort phrase: Schlagwort oder Phrase - setting_aggregate_reblogs: Gruppenboosts in Zeitleisten + setting_aggregate_reblogs: Gruppiere erneut geteilte Beiträge in Zeitleisten setting_auto_play_gif: Animierte GIFs automatisch abspielen setting_boost_modal: Bestätigungsdialog anzeigen, bevor ein Beitrag geteilt wird setting_default_language: Beitragssprache diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml index 21f81ecc2..ee0d4e4fa 100644 --- a/config/locales/simple_form.fr.yml +++ b/config/locales/simple_form.fr.yml @@ -8,7 +8,7 @@ fr: send_email_notification: L'utilisateur recevra une explication de ce qu'il s'est passé avec son compte text_html: Optionnel. Vous pouvez utilisez la syntaxe des pouets. Vous pouvez <a href="%{path}">ajouter des présélections d'attention</a> pour économiser du temps type_html: Choisir que faire avec <strong>%{acct}</strong> - warning_preset_id: Optionnel. Vous pouvez toujours ajouter un texte personnalisé à la fin de le présélection + warning_preset_id: Optionnel. Vous pouvez toujours ajouter un texte personnalisé à la fin de la présélection defaults: autofollow: Les personnes qui s’inscrivent grâce à l’invitation vous suivront automatiquement avatar: Au format PNG, GIF ou JPG. %{size} maximum. Sera réduit à %{dimensions}px diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml index ce56f613a..fca5d2af9 100644 --- a/config/locales/simple_form.nl.yml +++ b/config/locales/simple_form.nl.yml @@ -2,6 +2,13 @@ nl: simple_form: hints: + account_warning_preset: + text: Je kunt voor toots specifieke tekst gebruiken, zoals URL's, hashtags en vermeldingen + admin_account_action: + send_email_notification: De gebruiker ontvangt een uitleg over wat er met hun account is gebeurd + text_html: Optioneel. Je kunt voor toots specifieke tekst gebruiken. Om tijd te besparen kun je <a href="%{path}">voorinstellingen van waarschuwingen toevoegen</a> + type_html: Kies wat er met <strong>%{acct}</strong> moet gebeuren + warning_preset_id: Optioneel. Je kunt nog steeds handmatig tekst toevoegen aan het eind van de voorinstelling defaults: autofollow: Mensen die zich via de uitnodiging hebben geregistreerd, volgen jou automatisch avatar: PNG, GIF of JPG. Maximaal %{size}. Wordt teruggeschaald naar %{dimensions}px @@ -50,6 +57,7 @@ nl: disable: Uitschakelen none: Niets doen silence: Negeren + suspend: Opschorten en onomkeerbaar accountgegevens verwijderen warning_preset_id: Gebruik een voorinstelling van een waarschuwing defaults: autofollow: Uitnodigen om jouw account te volgen @@ -106,7 +114,7 @@ nl: must_be_following_dm: Directe berichten van mensen die jij niet volgt blokkeren notification_emails: digest: Periodiek e-mails met een samenvatting versturen - favourite: Een e-mail versturen wanneer iemand jouw toot als favoriet markeert + favourite: Een e-mail versturen wanneer iemand jouw toot aan hun favorieten heeft toegevoegd follow: Een e-mail versturen wanneer iemand jou volgt follow_request: Een e-mail versturen wanneer iemand jou wil volgen mention: Een e-mail versturen wanneer iemand jou vermeld diff --git a/config/locales/simple_form.pl.yml b/config/locales/simple_form.pl.yml index 227d9144e..660841e06 100644 --- a/config/locales/simple_form.pl.yml +++ b/config/locales/simple_form.pl.yml @@ -16,6 +16,7 @@ pl: context: Jedno lub wiele miejsc, w których filtr zostanie zastosowany digest: Wysyłane tylko po długiej nieaktywności, jeżeli w tym czasie otrzymaleś jakąś wiadomość bezpośrednią discoverable_html: <a href="%{path}" target="_blank">Katalog</a> pozwala znaleźć konta na podstawie zainteresowań i aktywności. Profil musi śledzić przynajmniej %{min_followers} osób + email: Otrzymasz e-mail potwierdzający fields: Możesz ustawić maksymalnie 4 niestandardowe pola wyświetlane jako tabela na Twoim profilu header: PNG, GIF lub JPG. Maksymalnie %{size}. Zostanie zmniejszony do %{dimensions}px inbox_url: Skopiuj adres ze strony głównej przekaźnika, którego chcesz użyć @@ -25,11 +26,15 @@ pl: password: Użyj co najmniej 8 znaków phrase: Zostanie wykryte nawet, gdy znajduje się za ostrzeżeniem o zawartości scopes: Wybór API, do których aplikacja będzie miała dostęp. Jeżeli wybierzesz nadrzędny zakres, nie musisz wybierać jego elementów. + setting_aggregate_reblogs: Nie pokazuj nowych podbić dla wpisów, które zostały niedawno podbite (dotyczy tylko nowo otrzymanych podbić) setting_default_language: Język Twoich wpisów może być wykrywany automatycznie, ale nie zawsze jest to dokładne + setting_display_media_default: Ukrywaj zawartość oznaczoną jako wrażliwa + setting_display_media_hide_all: Zawsze ukrywaj zawartość multimedialną setting_display_media_show_all: Zawsze pokazuj zawartość multimedialną jako wrażliwą setting_hide_network: Informacje o tym, kto Cię śledzi i kogo śledzisz nie będą widoczne setting_noindex: Wpływa na widoczność strony profilu i Twoich wpisów setting_skin: Zmienia wygląd używanej odmiany Mastodona + username: Twoja nazwa użytkownika będzie niepowtarzalna na %{domain} whole_word: Jeśli słowo lub fraza składa się jedynie z liter lub cyfr, filtr będzie zastosowany tylko do pełnych wystąpień imports: data: Plik CSV wyeksportowany z innej instancji Mastodona @@ -81,14 +86,18 @@ pl: password: Hasło phrase: Słowo kluczowe lub fraza scopes: Do których API aplikacja będzie miała dostęp. Jeżeli wybierzesz zakres wyższego poziomu, nie musisz zaznaczać bardziej szczegółowych. + setting_aggregate_reblogs: Grupuj podbicia na osiach czasu setting_auto_play_gif: Automatycznie odtwarzaj animowane GIFy setting_boost_modal: Pytaj o potwierdzenie przed podbiciem setting_default_language: Język wpisów 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 wpisu + setting_display_media: Wyświetlanie zawartości multimedialnej + setting_display_media_default: Domyślne setting_display_media_hide_all: Ukryj wszystko setting_display_media_show_all: Pokaż wszystko + setting_expand_spoilers: Zawsze rozwijaj wpisy oznaczone ostrzeżeniem o zawartości setting_favourite_modal: Pytaj o potwierdzenie przed dodaniem do ulubionych setting_hide_network: Ukryj swoją sieć setting_noindex: Nie indeksuj mojego profilu w wyszukiwarkach internetowych diff --git a/config/locales/simple_form.sk.yml b/config/locales/simple_form.sk.yml index 48363ea19..f2d26cf02 100644 --- a/config/locales/simple_form.sk.yml +++ b/config/locales/simple_form.sk.yml @@ -20,13 +20,13 @@ sk: fields: Až štyri položky môžeš mať na svojom profile zobrazené vo forme tabuľky header: PNG, GIF, alebo JPG. Maximálne %{size}. Bude zmenšený na %{dimensions}px inbox_url: Skopíruj adresu z hlavnej stránky mostíka, ktorý chceš používať - irreversible: Vytriedené hlášky zmiznú nenávratne, aj keď triedenie neskôr zrušíš - locale: Jazyk užívateľského rozhrania, emailových a nástenkových oboznámení - locked: Vyžaduje manuálne schvalovať sledujúcich + irreversible: Vytriedené príspevky zmiznú nenávratne, aj keď triedenie neskôr zrušíš + locale: Jazyk užívateľského rozhrania, emailových, a nástenkových oboznámení + locked: Vyžaduje, aby si manuálne schvaľoval/a následovateľov password: Zadaj aspoň osem znakov phrase: Zhoda sa nájde nezávisle od toho, či je text napísaný, veľkými, alebo malými písmenami, či už v tele, alebo v hlavičke scopes: Ktoré API budú povolené aplikácii pre prístup. Ak vyberieš vrcholný stupeň, nemusíš už potom vyberať po jednom. - setting_aggregate_reblogs: Neukazuj nové vyzdvihnutia pre hlášky, ktoré už boli len nedávno povýšené (týka sa iba nanovo získaných vyzdvihnutí) + setting_aggregate_reblogs: Neukazuj nové vyzdvihnutia pre príspevky, ktoré už boli len nedávno povýšené (týka sa iba nanovo získaných vyzdvihnutí) setting_default_language: Jazyk tvojích príspevkov môže byť zistený automaticky, ale nieje to vždy presné setting_display_media_default: Skryť médiá označené ako citlivé setting_display_media_hide_all: Vždy ukryť všetky médiá diff --git a/config/locales/sk.yml b/config/locales/sk.yml index d038d5a06..46c1ff76b 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -1,16 +1,16 @@ --- sk: about: - about_hashtag_html: Toto sú verejné hlášky otagované <strong>#%{hashtag}</strong>. Ak máš účet niekde vo fediverse, môžeš ich využívať. - about_mastodon_html: Mastodon je sociálna sieť založená na otvorených webových protokoloch a na slobodnom, otvorenom softvéri. Je decentralizovaná podobne ako email. + about_hashtag_html: Toto sú verejné príspevky otagované pod <strong>#%{hashtag}</strong>. Ak máš účet hocikde v rámci fediversa, môžeš ich využívať. + about_mastodon_html: Mastodon je sociálna sieť založená na otvorených webových protokoloch a na slobodnom softvéri. Je decentralizovaná, podobne ako email. about_this: O tejto instancii administered_by: 'Správcom je:' api: API - apps: Mobilné aplikácie - closed_registrations: Registrácie sú na tomto serveri momentálne uzatvorené. Avšak, môžeš nájsť nejaký iný Mastodon server kde si založ účet a získaj tak prístup do presne tej istej siete, odtiaľ. + apps: Aplikácie + closed_registrations: Registrácie sú na tomto serveri momentálne uzatvorené. Avšak, môžeš nájsť nejaký iný Mastodon server kde si založ účet a získaj tak prístup do presne tej istej siete odtiaľ. contact: Kontakt - contact_missing: Nezadané - contact_unavailable: Neuvedené + contact_missing: Nezadaný + contact_unavailable: Neuvedený documentation: Dokumentácia extended_description_html: | <h3>Pravidlá</h3> @@ -50,8 +50,8 @@ sk: one: Sledujúci other: Sledovatelia following: Sledovaní - joined: Pridal/a sa %{date} - last_active: poslednýkrát aktívny + joined: Pridal/a sa v %{date} + last_active: naposledy aktívny link_verified_on: Vlastníctvo tohto odkazu bolo skontrolované %{date} media: Médiá moved_html: "%{name} účet bol presunutý na %{new_profile_link}:" @@ -89,13 +89,14 @@ sk: change_email: changed_msg: Email k tomuto účtu bol úspešne zmenený! current_email: Súčastný email - label: Zmeniť email + label: Zmeň email new_email: Nový email - submit: Zmeniť email + submit: Zmeň email title: Zmeň email pre %{username} confirm: Potvrdiť confirmed: Potvrdený confirming: Potvrdzujúci + deleted: Zmazané demote: Degradovať disable: Zablokovať disable_two_factor_authentication: Zakázať 2FA @@ -103,7 +104,7 @@ sk: display_name: Zobraziť meno domain: Doména edit: Uprav - email: Emailová adresa + email: Email email_status: Stav emailu enable: Povoliť enabled: Povolený @@ -114,7 +115,9 @@ sk: follows: Sledovania header: Hlavička inbox_url: URL prijatých správ + invited_by: Pozvaný/á užívateľom ip: IP + joined: Pridal/a sa location: all: Všetko local: Miestne @@ -127,7 +130,7 @@ sk: active: Aktívny/a all: Všetko silenced: Umlčané - suspended: Suspendované + suspended: Vylúčený/á title: Moderácia moderation_notes: Moderátorské poznámky most_recent_activity: Posledná aktivita @@ -141,7 +144,7 @@ sk: protocol: Protokol public: Verejná os push_subscription_expires: PuSH odoberanie expiruje - redownload: Obnoviť avatar + redownload: Obnov profil remove_avatar: Odstrániť avatár remove_header: Odstráň hlavičku resend_confirmation: @@ -161,8 +164,8 @@ sk: search: Hľadať shared_inbox_url: URL zdieľanej schránky show: - created_reports: Reportované týmto používateľom - targeted_reports: Nahlásenia pre tento účet + created_reports: Vytvorené hlásenia + targeted_reports: Nahlásenia od ostatných silence: Stíšiť silenced: Utíšení statuses: Príspevky @@ -174,6 +177,7 @@ sk: undo_suspension: Zrušiť suspendáciu unsubscribe: Prestaň odoberať username: Prezývka + warn: Varovať web: Web action_logs: actions: @@ -257,7 +261,7 @@ sk: week_users_active: aktívni tento týždeň week_users_new: užívateľov počas tohto týždňa domain_blocks: - add_new: Pridať nový + add_new: Pridaj nové doménové blokovanie created_msg: Doména je v procese blokovania destroyed_msg: Blokovanie domény bolo zrušené domain: Doména @@ -274,17 +278,22 @@ sk: reject_media_hint: Zmaže lokálne uložené súbory médií a odmietne ich sťahovanie v budúcnosti. Irelevantné pre suspendáciu reject_reports: Zamietni hlásenia reject_reports_hint: Ignoruj všetky hlásenia prichádzajúce z tejto domény. Nevplýva na blokovania + rejecting_media: odmietanie médiálnych súborov + rejecting_reports: odmietané hlásenia + severity: + silence: utíšené + suspend: vylúčený show: affected_accounts: few: "%{count} účty v databáze ovplyvnených" - one: Jeden účet v databáze ovplyvnený - other: "%{count} účtov v databáze ovplyvnených" + one: Jeden účet v databáze bol ovplyvnený + other: "%{count} účtov v databáze bolo ovplyvnených" retroactive: - silence: Zrušiť stíšenie všetkých existujúcich účtov z tejto domény - suspend: Zrušiť suspendáciu všetkých existujúcich účtov z tejto domény - title: Zrušiť blokovanie domény pre %{domain} + silence: Zruš stíšenie všetkých existujúcich účtov z tejto domény + suspend: Zruš suspendáciu všetkých existujúcich účtov z tejto domény + title: Zruš blokovanie domény %{domain} undo: Vrátiť späť - undo: Späť + undo: Odvolaj blokovanie domény email_domain_blocks: add_new: Pridaj nový created_msg: Emailová doména bola úspešne pridaná do zoznamu zakázaných @@ -299,7 +308,21 @@ sk: back_to_account: Späť na účet title: Následovatielia užívateľa %{acct} instances: - title: Známe instancie + delivery_available: Je v dosahu doručovania + known_accounts: + few: "%{count} známe účty" + one: "%{count} známy účet" + other: "%{count} známe účty" + moderation: + all: Všetky + limited: Obmedzené + title: Moderácia + title: Federácia + total_blocked_by_us: Nami blokované + total_followed_by_them: Nimi sledované + total_followed_by_us: Nami sledované + total_reported: Nahlásenia o nich + total_storage: Mediálne prílohy invites: deactivate_all: Pozastaviť všetky filter: @@ -398,13 +421,13 @@ sk: desc_html: Povoliť každému aby si mohli vytvoriť účet title: Verejná registrácia show_known_fediverse_at_about_page: - desc_html: Pokiaľ je zapnuté, bude v ukážke osi možné nahliadnúť príspevky z celého známeho fediversa. Inak budú ukázané iba hlášky z miestnej osi. - title: Ukázať celé známe fediversum na náhľade osi + desc_html: Pokiaľ je zapnuté, bude v ukážke osi možné nahliadnúť príspevky z celého známeho fediversa. Inak budú ukázané iba príspevky z miestnej osi. + title: Ukáž celé známe fediverse na náhľade osi show_staff_badge: - desc_html: Zobraz moderátorsku značku na užívateľovej stránke - title: Zobraziť značku moderátora + desc_html: Zobraz moderátorsky odznak na užívateľovom profile + title: Zobraz značku moderátora site_description: - desc_html: Oboznamujúci paragraf na hlavnej stránke a pri meta tagoch. Môžete použiť HTML kód, presnejšie <code>< a></code> a <code>< em> </code>. + desc_html: Oboznamujúci paragraf na hlavnej stránke a pri meta tagoch. Opíš, čo robí tento Mastodon server špecifickým, a ďalej hocičo iné, čo považuješ za dôležité. Môžeš použiť HTML kód, hlavne <code>< a ></code>, ale tiež <code><></code>. title: Popis instancie site_description_extended: desc_html: Toto je vhodné miesto pre vaše pravidlá, oboznámenia a iné veci, ktorými je vaša instancia špecifická. Je možné tu používať HTML kód @@ -565,7 +588,9 @@ sk: size: Veľkosť blocks: Blokujete csv: CSV + domain_blocks: Blokované domény follows: Následujete + lists: Zoznamy mutes: Stíšil/a si storage: Úložisko médií filters: @@ -718,10 +743,25 @@ sk: no_account_html: Nemáš ešte účet? Môžeš sa <a href='%{sign_up_path}' target='_blank'>zaregistrovať tu</a> proceed: Začni následovať prompt: 'Budeš sledovať:' + reason_html: "<strong>Načo je tento krok potrebný?</strong> <code>%{instance}</code> nemusí byť práve tým serverom na ktorom si zaregistrovaný/á, takže je ťa najprv potrebné presmerovať na tvoj domáci server." + remote_interaction: + favourite: + proceed: Pokračuj k obľúbeniu + prompt: 'Chceš si obľúbiť tento príspevok:' + reblog: + proceed: Pokračuj k vyzdvihnutiu + prompt: 'Chceš vyzdvihnúť tento príspevok:' + reply: + proceed: Pokračuj odpovedaním + prompt: 'Chceš odpovedať na tento príspevok:' remote_unfollow: error: Chyba title: Názov unfollowed: Už nesleduješ + scheduled_statuses: + over_daily_limit: Prekročil/a si denný limit %{limit} predplánovaných príspevkov + over_total_limit: Prekročil/a si limit %{limit} predplánovaných príspevkov + too_soon: Dátum musí byť stanovený do budúcnosti sessions: activity: Najnovšia aktivita browser: Prehliadač @@ -827,7 +867,7 @@ sk: <li><em>Základné informácie o účte</em>: Ak sa na tomto serveri zaregistruješ, budeš môcť byť požiadaný/á zadať prezývku, emailovú adresu a heslo. Budeš tiež môcť zadať aj ďalšie profilové údaje, ako napríklad meno a životopis, a nahrať profilovú fotku aj obrázok v záhlaví. Tvoja prezývka, meno, životopis, profilová fotka a obrázok v záhlaví sú vždy zobrazené verejne.</li><li><em>Príspevky, sledovania a iné verejné informácie</em>: Zoznam ľudí, ktorých sleduješ je zobrazený verejne, a to isté platí aj pre zoznam tvojích následovateľov. Keď pošleš správu, ukladá sa jej dátum a čas, ale aj z akej aplikácie bola poslaná. Správy môžu obsahovať mediálne prílohy, ako obrázky a videá. Verejné, a nezaradené príspevky sú verejne prístupné. Keď si pripneš príspevok na svoj profil, toto je tiež verejne dostupnou informáciou. Tvoje príspevky sú takisto doručené tvojím sledovateľom, a to aj v rámci iných serverov, kde je potom uložená kópia tvojho príspevku. Ak vymažeš príspevok, táto akcia bude takisto doručená tvojím sledovateľom. Vyzdvihnutie, alebo obľúbenie iného príspevku je vždy verejne viditeľné.</li> - <li><em>Priame príspevky, a príspevky iba pre sledovateľov</em>: Všetky príspevky sú uložené a spracované na serveri. Príspevky iba pre sledovateľov sú doručené tvojím sledovateľom a užívateľom ktorí sú v nich spomenutí, pričom priame príspevky sú doručené iba tím užívateľom ktorí sú v nich spomenutí. V niektorých prípadoch to môže znamenať, že tieto príspevkz sú doručené aj vrámci iných serverov, a kópie príspevkov sú tam uložené. + <li><em>Priame príspevky, a príspevky iba pre sledovateľov</em>: Všetky príspevky sú uložené a spracované na serveri. Príspevky iba pre sledovateľov sú doručené tvojím sledovateľom a užívateľom ktorí sú v nich spomenutí, pričom priame príspevky sú doručené iba tím užívateľom ktorí sú v nich spomenutí. V niektorých prípadoch to môže znamenať, že tieto príspevkz sú doručené aj v rámci iných serverov, a kópie príspevkov sú na nich uložené. V dobrej viere robíme všetko preto, aby bol prístup k tímto príspevkom vymedzený iba pre oprávnených používateľov, ale môže sa stať, že iné servery v tomto ohľade zlyhajú. Preto je dôležité prezrieť si a zhodnotiť, na aké servery patria tvoji následovatelia. V nastaveniach si môžeš zapnúť voľbu ručne povoľovať a odmietať nových následovateľov. <em>Prosím maj na pamäti, že správcovia tvojho, aj vzdialeného obdŕžiavajúceho servera majú možnosť vidieť dané príspevky a správy, ale aj že obdŕžitelia týchto správ si ich môzu odfotiť, skopírovať, alebo ich inak zdieľať. <em>Nezdieľaj žiadne nebezpečné, alebo ohrozujúce správy pomocou Mastodonu!</em></li> @@ -869,8 +909,8 @@ sk: warning: explanation: disable: Pokiaľ je tvoj účet zamrazený, tvoje dáta zostávajú nedoknuté, ale nemôžeš v rámci neho nič robiť, až kým nebude odomknutý. - silence: Kým je tvoj účet obmedzený, tvoje hlášky na tomto serveri uvidia iba tí ľudia, ktorí ťa už následujú, a môžeš byť vylúčený/á z rôznych verejných záznamov. Ostatní ťa však stále budú môcť následovať manuálne. - suspend: Tvoj účet bol vylúčený, a všetky tvoje hlášky a nahraté médiálné súbory boli nenávratne zmazané z tohto serveru, a zo serverov na ktorých si mal následovateľov. + silence: Kým je účet obmedzený, tvoje príspevky na tomto serveri uvidia iba tí ľudia, ktorí ťa už následujú, a môžeš byť vylúčený/á z rôznych verejných záznamov. Ostatní ťa však stále budú môcť následovať manuálne. + suspend: Tvoj účet bol vylúčený, a všetky tvoje príspevky a nahraté médiálné súbory boli nenávratne zmazané z tohto serveru, a zo serverov na ktorých si mal následovateľov. review_server_policies: Prehodnoť pravidlá servera subject: disable: Tvoj účet %{acct} bol zamrazený diff --git a/config/locales/te.yml b/config/locales/te.yml index 39be5b687..06db95676 100644 --- a/config/locales/te.yml +++ b/config/locales/te.yml @@ -19,7 +19,7 @@ te: humane_approach_body: వేరే సామాజిక మాధ్యమాల వైఫల్యాల నుండి నేర్చుకుని, నైతిక రూపకల్పనలతో సామాజిక మాధ్యమాల దుర్వినియోగంపై మాస్టొడాన్ పోరాటం చేసే లక్ష్యంతో పనిచేస్తుంది. humane_approach_title: మరింత మానవత్వంతో కూడిన విధానం not_a_product_body: మాస్టొడాన్ వ్యాపార సంబంధిత మాధ్యమం కాదు. ఎటువంటి ప్రకటనలు, డేటా మైనింగ్, కంచెలు లేనిది. ఏ కేంద్ర అధికరమూ లేదు. - not_a_product_title: మీరొక వ్యక్తి, వస్తువు కాదు. + not_a_product_title: మీరొక వ్యక్తి, వస్తువు కాదు real_conversation_body: With 500 characters at your disposal and support for granular content and media warnings, you can express yourself the way you want to. real_conversation_title: నిజమైన సంభాషణలకోసం నిర్మించబడింది within_reach_body: ఆండ్రాయిడ్, iOS మరియు ఇతర ప్లాట్ఫాంలకు వివిధరకాల యాప్స్ వున్నాయి. డెవలపర్ సహిత API వ్యవస్థే ఇందుకు మూలకారణం. ఇవి మీ స్ణేహితులతో అన్నివేళలా అందుబాటులో వుండడానికి సహాయపడతాయి. diff --git a/lib/mastodon/domains_cli.rb b/lib/mastodon/domains_cli.rb index 16e298584..be68ae84b 100644 --- a/lib/mastodon/domains_cli.rb +++ b/lib/mastodon/domains_cli.rb @@ -1,5 +1,6 @@ # frozen_string_literal: true +require 'concurrent' require_relative '../../config/boot' require_relative '../../config/environment' require_relative 'cli_helper' @@ -32,5 +33,122 @@ module Mastodon say say("Removed #{removed} accounts#{dry_run}", :green) end + + option :concurrency, type: :numeric, default: 50, aliases: [:c] + option :silent, type: :boolean, default: false, aliases: [:s] + option :format, type: :string, default: 'summary', aliases: [:f] + desc 'crawl [START]', 'Crawl all known peers, optionally beginning at START' + long_desc <<-LONG_DESC + Crawl the fediverse by using the Mastodon REST API endpoints that expose + all known peers, and collect statistics from those peers, as long as those + peers support those API endpoints. When no START is given, the command uses + this server's own database of known peers to seed the crawl. + + The --concurrency (-c) option controls the number of threads performing HTTP + requests at the same time. More threads means the crawl may complete faster. + + The --silent (-s) option controls progress output. + + The --format (-f) option controls how the data is displayed at the end. By + default (`summary`), a summary of the statistics is returned. The other options + are `domains`, which returns a newline-delimited list of all discovered peers, + and `json`, which dumps all the aggregated data raw. + LONG_DESC + def crawl(start = nil) + stats = Concurrent::Hash.new + processed = Concurrent::AtomicFixnum.new(0) + failed = Concurrent::AtomicFixnum.new(0) + start_at = Time.now.to_f + seed = start ? [start] : Account.remote.domains + + pool = Concurrent::ThreadPoolExecutor.new(min_threads: 0, max_threads: options[:concurrency], idletime: 10, auto_terminate: true, max_queue: 0) + + work_unit = ->(domain) do + next if stats.key?(domain) + stats[domain] = nil + processed.increment + + begin + Request.new(:get, "https://#{domain}/api/v1/instance").perform do |res| + next unless res.code == 200 + stats[domain] = Oj.load(res.to_s) + end + + Request.new(:get, "https://#{domain}/api/v1/instance/peers").perform do |res| + next unless res.code == 200 + + Oj.load(res.to_s).reject { |peer| stats.key?(peer) }.each do |peer| + pool.post(peer, &work_unit) + end + end + + Request.new(:get, "https://#{domain}/api/v1/instance/activity").perform do |res| + next unless res.code == 200 + stats[domain]['activity'] = Oj.load(res.to_s) + end + + say('.', :green, false) unless options[:silent] + rescue StandardError + failed.increment + say('.', :red, false) unless options[:silent] + end + end + + seed.each do |domain| + pool.post(domain, &work_unit) + end + + sleep 20 + sleep 20 until pool.queue_length.zero? + + pool.shutdown + pool.wait_for_termination(20) + ensure + pool.shutdown + + say unless options[:silent] + + case options[:format] + when 'summary' + stats_to_summary(stats, processed, failed, start_at) + when 'domains' + stats_to_domains(stats) + when 'json' + stats_to_json(stats) + end + end + + private + + def stats_to_summary(stats, processed, failed, start_at) + stats.compact! + + total_domains = stats.size + total_users = stats.reduce(0) { |sum, (_key, val)| val.is_a?(Hash) && val['stats'].is_a?(Hash) ? sum + val['stats']['user_count'].to_i : sum } + total_active = stats.reduce(0) { |sum, (_key, val)| val.is_a?(Hash) && val['activity'].is_a?(Array) && val['activity'].size > 2 && val['activity'][1].is_a?(Hash) ? sum + val['activity'][1]['logins'].to_i : sum } + total_joined = stats.reduce(0) { |sum, (_key, val)| val.is_a?(Hash) && val['activity'].is_a?(Array) && val['activity'].size > 2 && val['activity'][1].is_a?(Hash) ? sum + val['activity'][1]['registrations'].to_i : sum } + + say("Visited #{processed.value} domains, #{failed.value} failed (#{(Time.now.to_f - start_at).round}s elapsed)", :green) + say("Total servers: #{total_domains}", :green) + say("Total registered: #{total_users}", :green) + say("Total active last week: #{total_active}", :green) + say("Total joined last week: #{total_joined}", :green) + end + + def stats_to_domains(stats) + say(stats.keys.join("\n")) + end + + def stats_to_json(stats) + totals.each_key do |domain| + if totals[domain].is_a?(Hash) + totals[domain]['activity'] = stats[domain] + else + totals.delete(domain) + end + end + + say(Oj.dump(totals)) + end end end diff --git a/spec/fixtures/requests/oembed_json_empty.html b/spec/fixtures/requests/oembed_json_empty.html new file mode 100644 index 000000000..4b02413aa --- /dev/null +++ b/spec/fixtures/requests/oembed_json_empty.html @@ -0,0 +1,7 @@ +<!DOCTYPE html> +<html> + <head> + <link href='https://host.test/empty_provider.json' rel='alternate' type='application/json+oembed'> + </head> + <body></body> +</html> diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 1ded751ab..3a5e7491e 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -29,7 +29,6 @@ Devise::Test::ControllerHelpers.module_eval do value: resource.activate_session(warden.request), expires: 1.year.from_now, httponly: true, - same_site: :lax, } end end diff --git a/spec/services/fetch_oembed_service_spec.rb b/spec/services/fetch_oembed_service_spec.rb index 706eb3f2a..5789fb53b 100644 --- a/spec/services/fetch_oembed_service_spec.rb +++ b/spec/services/fetch_oembed_service_spec.rb @@ -8,6 +8,7 @@ describe FetchOEmbedService, type: :service do before do stub_request(:get, "https://host.test/provider.json").to_return(status: 404) stub_request(:get, "https://host.test/provider.xml").to_return(status: 404) + stub_request(:get, "https://host.test/empty_provider.json").to_return(status: 200) end describe 'discover_provider' do @@ -93,6 +94,23 @@ describe FetchOEmbedService, type: :service do expect(subject.call('https://host.test/oembed.html')).to be_nil end end + + context 'Empty JSON provider is discoverable' do + before do + stub_request(:get, 'https://host.test/oembed.html').to_return( + status: 200, + headers: { 'Content-Type': 'text/html' }, + body: request_fixture('oembed_json_empty.html') + ) + end + + it 'returns new OEmbed::Provider for JSON provider' do + subject.call('https://host.test/oembed.html') + expect(subject.endpoint_url).to eq 'https://host.test/empty_provider.json' + expect(subject.format).to eq :json + end + end + end context 'when status code is not 200' do |