diff options
Diffstat (limited to 'app')
62 files changed, 333 insertions, 154 deletions
diff --git a/app/controllers/activitypub/inboxes_controller.rb b/app/controllers/activitypub/inboxes_controller.rb index 76553a162..7d0bc74d3 100644 --- a/app/controllers/activitypub/inboxes_controller.rb +++ b/app/controllers/activitypub/inboxes_controller.rb @@ -28,7 +28,7 @@ class ActivityPub::InboxesController < Api::BaseController def upgrade_account if signed_request_account.ostatus? signed_request_account.update(last_webfingered_at: nil) - ResolveRemoteAccountWorker.perform_async(signed_request_account.acct) + ResolveAccountWorker.perform_async(signed_request_account.acct) end Pubsubhubbub::UnsubscribeWorker.perform_async(signed_request_account.id) if signed_request_account.subscribed? diff --git a/app/controllers/authorize_follows_controller.rb b/app/controllers/authorize_follows_controller.rb index eda50e07d..95052df7c 100644 --- a/app/controllers/authorize_follows_controller.rb +++ b/app/controllers/authorize_follows_controller.rb @@ -46,7 +46,7 @@ class AuthorizeFollowsController < ApplicationController end def account_from_remote_follow - ResolveRemoteAccountService.new.call(acct_without_prefix) + ResolveAccountService.new.call(acct_without_prefix) end def acct_param_is_url? diff --git a/app/controllers/concerns/signature_verification.rb b/app/controllers/concerns/signature_verification.rb index 2baafb5bf..f289228d3 100644 --- a/app/controllers/concerns/signature_verification.rb +++ b/app/controllers/concerns/signature_verification.rb @@ -114,7 +114,7 @@ module SignatureVerification def account_from_key_id(key_id) if key_id.start_with?('acct:') - ResolveRemoteAccountService.new.call(key_id.gsub(/\Aacct:/, '')) + ResolveAccountService.new.call(key_id.gsub(/\Aacct:/, '')) elsif !ActivityPub::TagManager.instance.local_uri?(key_id) account = ActivityPub::TagManager.instance.uri_to_resource(key_id, Account) account ||= ActivityPub::FetchRemoteKeyService.new.call(key_id, id: false) diff --git a/app/controllers/concerns/user_tracking_concern.rb b/app/controllers/concerns/user_tracking_concern.rb index a2510e55f..be10705fc 100644 --- a/app/controllers/concerns/user_tracking_concern.rb +++ b/app/controllers/concerns/user_tracking_concern.rb @@ -3,7 +3,6 @@ module UserTrackingConcern extend ActiveSupport::Concern - REGENERATE_FEED_DAYS = 14 UPDATE_SIGN_IN_HOURS = 24 included do @@ -14,25 +13,10 @@ module UserTrackingConcern def set_user_activity return unless user_needs_sign_in_update? - - # Mark as signed-in today current_user.update_tracked_fields!(request) - ActivityTracker.record('activity:logins', current_user.id) - - # Regenerate feed if needed - regenerate_feed! if user_needs_feed_update? end def user_needs_sign_in_update? user_signed_in? && (current_user.current_sign_in_at.nil? || current_user.current_sign_in_at < UPDATE_SIGN_IN_HOURS.hours.ago) end - - def user_needs_feed_update? - current_user.last_sign_in_at < REGENERATE_FEED_DAYS.days.ago - end - - def regenerate_feed! - Redis.current.setnx("account:#{current_user.account_id}:regeneration", true) && Redis.current.expire("account:#{current_user.account_id}:regeneration", 1.day.seconds) - RegenerationWorker.perform_async(current_user.account_id) - end end diff --git a/app/javascript/core/admin.js b/app/javascript/core/admin.js index c0bd09bdd..b4125e84e 100644 --- a/app/javascript/core/admin.js +++ b/app/javascript/core/admin.js @@ -30,13 +30,13 @@ delegate(document, batchCheckboxClassName, 'change', () => { }); delegate(document, '.media-spoiler-show-button', 'click', () => { - [].forEach.call(document.querySelectorAll('.activity-stream .media-spoiler-wrapper'), (content) => { - content.classList.add('media-spoiler-wrapper__visible'); + [].forEach.call(document.querySelectorAll('button.media-spoiler'), (element) => { + element.click(); }); }); delegate(document, '.media-spoiler-hide-button', 'click', () => { - [].forEach.call(document.querySelectorAll('.activity-stream .media-spoiler-wrapper'), (content) => { - content.classList.remove('media-spoiler-wrapper__visible'); + [].forEach.call(document.querySelectorAll('.spoiler-button.spoiler-button--visible button'), (element) => { + element.click(); }); }); diff --git a/app/javascript/images/mailer/icon_cached.png b/app/javascript/images/mailer/icon_cached.png index e62c064c8..210833d34 100644 --- a/app/javascript/images/mailer/icon_cached.png +++ b/app/javascript/images/mailer/icon_cached.png Binary files differdiff --git a/app/javascript/mastodon/actions/push_notifications/registerer.js b/app/javascript/mastodon/actions/push_notifications/registerer.js index 5f47a5501..51e68cad1 100644 --- a/app/javascript/mastodon/actions/push_notifications/registerer.js +++ b/app/javascript/mastodon/actions/push_notifications/registerer.js @@ -1,6 +1,7 @@ import api from '../../api'; import { pushNotificationsSetting } from '../../settings'; import { setBrowserSupport, setSubscription, clearSubscription } from './setter'; +import { me } from '../../initial_state'; // Taken from https://www.npmjs.com/package/web-push const urlBase64ToUint8Array = (base64String) => { @@ -35,7 +36,7 @@ const subscribe = (registration) => const unsubscribe = ({ registration, subscription }) => subscription ? subscription.unsubscribe().then(() => registration) : registration; -const sendSubscriptionToBackend = (getState, subscription, me) => { +const sendSubscriptionToBackend = (getState, subscription) => { const params = { subscription }; if (me) { @@ -54,7 +55,6 @@ const supportsPushNotifications = ('serviceWorker' in navigator && 'PushManager' export function register () { return (dispatch, getState) => { dispatch(setBrowserSupport(supportsPushNotifications)); - const me = getState().getIn(['meta', 'me']); if (me && !pushNotificationsSetting.get(me)) { const alerts = getState().getIn(['push_notifications', 'alerts']); @@ -85,13 +85,13 @@ export function register () { } else { // Something went wrong, try to subscribe again return unsubscribe({ registration, subscription }).then(subscribe).then( - subscription => sendSubscriptionToBackend(getState, subscription, me)); + subscription => sendSubscriptionToBackend(getState, subscription)); } } // No subscription, try to subscribe return subscribe(registration).then( - subscription => sendSubscriptionToBackend(getState, subscription, me)); + subscription => sendSubscriptionToBackend(getState, subscription)); }) .then(subscription => { // If we got a PushSubscription (and not a subscription object from the backend) @@ -140,7 +140,6 @@ export function saveSettings() { api(getState).put(`/api/web/push_subscriptions/${subscription.get('id')}`, { data, }).then(() => { - const me = getState().getIn(['meta', 'me']); if (me) { pushNotificationsSetting.set(me, data); } diff --git a/app/javascript/mastodon/features/ui/components/__tests__/column-test.js b/app/javascript/mastodon/features/ui/components/__tests__/column-test.js index 1e5e1d8dc..11cc1b6e8 100644 --- a/app/javascript/mastodon/features/ui/components/__tests__/column-test.js +++ b/app/javascript/mastodon/features/ui/components/__tests__/column-test.js @@ -21,13 +21,13 @@ describe('<Column />', () => { <div className='scrollable' /> </Column> ); - wrapper.find(ColumnHeader).simulate('click'); + wrapper.find(ColumnHeader).find('button').simulate('click'); expect(global.requestAnimationFrame.mock.calls.length).toEqual(1); }); it('does not try to scroll if there is no scrollable content', () => { const wrapper = mount(<Column heading='notifications' />); - wrapper.find(ColumnHeader).simulate('click'); + wrapper.find(ColumnHeader).find('button').simulate('click'); expect(global.requestAnimationFrame.mock.calls.length).toEqual(0); }); }); diff --git a/app/javascript/mastodon/features/ui/components/column_header.js b/app/javascript/mastodon/features/ui/components/column_header.js index fdf9aab1a..e8bdd8054 100644 --- a/app/javascript/mastodon/features/ui/components/column_header.js +++ b/app/javascript/mastodon/features/ui/components/column_header.js @@ -1,5 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; +import classNames from 'classnames'; export default class ColumnHeader extends React.PureComponent { @@ -16,19 +17,20 @@ export default class ColumnHeader extends React.PureComponent { } render () { - const { type, active, columnHeaderId } = this.props; + const { icon, type, active, columnHeaderId } = this.props; + let iconElement = ''; - let icon = ''; - - if (this.props.icon) { - icon = <i className={`fa fa-fw fa-${this.props.icon} column-header__icon`} />; + if (icon) { + iconElement = <i className={`fa fa-fw fa-${icon} column-header__icon`} />; } return ( - <div role='button heading' tabIndex='0' className={`column-header ${active ? 'active' : ''}`} onClick={this.handleClick} id={columnHeaderId || null}> - {icon} - {type} - </div> + <h1 className={classNames('column-header', { active })} id={columnHeaderId || null}> + <button onClick={this.handleClick}> + {iconElement} + {type} + </button> + </h1> ); } diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index 795b27707..f43d7ca00 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -139,6 +139,7 @@ "loading_indicator.label": "تحميل ...", "media_gallery.toggle_visible": "عرض / إخفاء", "missing_indicator.label": "تعذر العثور عليه", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "هل تود إخفاء الإخطارات القادمة من هذا المستخدم ؟", "navigation_bar.blocks": "الحسابات المحجوبة", "navigation_bar.community_timeline": "الخيط العام المحلي", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "تعرض الصفحة الرئيسية منشورات جميع الأشخاص الذين تتابعهم.", "onboarding.page_four.notifications": "فعندما يتفاعل شخص ما معك، عمود الإخطارات يخبرك.", "onboarding.page_one.federation": "ماستدون شبكة من خوادم مستقلة متلاحمة تهدف إلى إنشاء أكبر شبكة اجتماعية موحدة. تسمى هذه السرفيرات بمثيلات خوادم.", - "onboarding.page_one.handle": "أنت الآن على {domain}، واحد من مجموع مثيلات الخوادم المستقلة. اسم المستخدم الكامل الخاص بك هو {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "مرحبا بك في ماستدون !", "onboarding.page_six.admin": "مدير(ة) مثيل الخادم هذا {admin}.", "onboarding.page_six.almost_done": "أنهيت تقريبا ...", @@ -197,6 +199,8 @@ "privacy.public.short": "للعامة", "privacy.unlisted.long": "لا تقم بإدراجه على الخيوط العامة", "privacy.unlisted.short": "غير مدرج", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "الآن", diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index c0a24dacb..8188ae2c0 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Зареждане...", "media_gallery.toggle_visible": "Toggle visibility", "missing_indicator.label": "Not found", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Hide notifications from this user?", "navigation_bar.blocks": "Blocked users", "navigation_bar.community_timeline": "Local timeline", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "The home timeline shows posts from people you follow.", "onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.", "onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.", - "onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Welcome to Mastodon!", "onboarding.page_six.admin": "Your instance's admin is {admin}.", "onboarding.page_six.almost_done": "Almost done...", @@ -197,6 +199,8 @@ "privacy.public.short": "Public", "privacy.unlisted.long": "Do not show in public timelines", "privacy.unlisted.short": "Unlisted", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "now", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index 3eb0e3d26..a37f38fd1 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -50,7 +50,7 @@ "column_header.unpin": "Deslligar", "column_subheading.navigation": "Navegació", "column_subheading.settings": "Configuració", - "compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.", + "compose_form.hashtag_warning": "Aquest toot no es mostrarà en cap etiqueta ja que no està llistat. Només els toots públics poden ser cercats per etiqueta.", "compose_form.lock_disclaimer": "El teu compte no està bloquejat {locked}. Tothom pot seguir-te i veure els teus missatges a seguidors.", "compose_form.lock_disclaimer.lock": "bloquejat", "compose_form.placeholder": "En què estàs pensant?", @@ -139,6 +139,7 @@ "loading_indicator.label": "Carregant...", "media_gallery.toggle_visible": "Alternar visibilitat", "missing_indicator.label": "No trobat", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Amagar notificacions d'aquest usuari?", "navigation_bar.blocks": "Usuaris bloquejats", "navigation_bar.community_timeline": "Línia de temps Local", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "La línia de temps d'Inici mostra missatges de les persones que segueixes.", "onboarding.page_four.notifications": "La columna Notificacions mostra quan algú interactua amb tu.", "onboarding.page_one.federation": "Mastodon és una xarxa de servidors independents que s'uneixen per fer una més gran xarxa social. A aquests servidors els hi diem instàncies.", - "onboarding.page_one.handle": "Ets a {domain}, per tant el teu usuari complert és {handle}", + "onboarding.page_one.full_handle": "El teu usuari complet", + "onboarding.page_one.handle_hint": "Això és el que els hi diries als teus amics que cerquin.", "onboarding.page_one.welcome": "Benvingut a Mastodon!", "onboarding.page_six.admin": "L'administrador de la teva instància és {admin}.", "onboarding.page_six.almost_done": "Quasi fet...", @@ -197,6 +199,8 @@ "privacy.public.short": "Públic", "privacy.unlisted.long": "No publicar en línies de temps públiques", "privacy.unlisted.short": "No llistat", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "fa {number} dies", "relative_time.hours": "fa {number} hores", "relative_time.just_now": "ara", @@ -223,7 +227,7 @@ "status.media_hidden": "Multimèdia amagat", "status.mention": "Esmentar @{name}", "status.more": "Més", - "status.mute": "Mute @{name}", + "status.mute": "Silenciar @{name}", "status.mute_conversation": "Silenciar conversació", "status.open": "Ampliar aquest estat", "status.pin": "Fixat en el perfil", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 9b6c857e4..4e6b721da 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Wird geladen …", "media_gallery.toggle_visible": "Sichtbarkeit umschalten", "missing_indicator.label": "Nicht gefunden", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Benachrichtigungen von diesem Account verbergen?", "navigation_bar.blocks": "Blockierte Profile", "navigation_bar.community_timeline": "Lokale Zeitleiste", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "Die Startseite zeigt dir Beiträge von Leuten, denen du folgst.", "onboarding.page_four.notifications": "Wenn jemand mit dir interagiert, bekommst du eine Mitteilung.", "onboarding.page_one.federation": "Mastodon ist ein soziales Netzwerk, das aus unabhängigen Servern besteht. Diese Server nennen wir auch Instanzen.", - "onboarding.page_one.handle": "Du bist auf der Instanz {domain}, also ist dein vollständiger Profilname im Netzwerk {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Willkommen bei Mastodon!", "onboarding.page_six.admin": "Für deine Instanz ist {admin} zuständig.", "onboarding.page_six.almost_done": "Fast fertig …", @@ -197,6 +199,8 @@ "privacy.public.short": "Öffentlich", "privacy.unlisted.long": "Nicht in öffentlichen Zeitleisten anzeigen", "privacy.unlisted.short": "Nicht gelistet", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "now", diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json index acf051de5..a27f17b42 100644 --- a/app/javascript/mastodon/locales/defaultMessages.json +++ b/app/javascript/mastodon/locales/defaultMessages.json @@ -136,6 +136,10 @@ { "defaultMessage": "Not found", "id": "missing_indicator.label" + }, + { + "defaultMessage": "This resource could not be found", + "id": "missing_indicator.sublabel" } ], "path": "app/javascript/mastodon/components/missing_indicator.json" @@ -258,6 +262,19 @@ { "descriptors": [ { + "defaultMessage": "Loading…", + "id": "regeneration_indicator.label" + }, + { + "defaultMessage": "Your home feed is being prepared!", + "id": "regeneration_indicator.sublabel" + } + ], + "path": "app/javascript/mastodon/components/status_list.json" + }, + { + "descriptors": [ + { "defaultMessage": "{name} boosted", "id": "status.reblogged_by" } @@ -1220,6 +1237,15 @@ "id": "standalone.public_title" } ], + "path": "app/javascript/mastodon/features/standalone/community_timeline/index.json" + }, + { + "descriptors": [ + { + "defaultMessage": "A look inside...", + "id": "standalone.public_title" + } + ], "path": "app/javascript/mastodon/features/standalone/public_timeline/index.json" }, { @@ -1459,8 +1485,12 @@ "id": "onboarding.page_one.federation" }, { - "defaultMessage": "You are on {domain}, so your full handle is {handle}", - "id": "onboarding.page_one.handle" + "defaultMessage": "Your full handle", + "id": "onboarding.page_one.full_handle" + }, + { + "defaultMessage": "This is what you would tell your friends to search for.", + "id": "onboarding.page_one.handle_hint" }, { "defaultMessage": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.", diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index ac25a57a2..028f9aefd 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -144,6 +144,7 @@ "loading_indicator.label": "Loading...", "media_gallery.toggle_visible": "Toggle visibility", "missing_indicator.label": "Not found", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Hide notifications from this user?", "navigation_bar.blocks": "Blocked users", "navigation_bar.community_timeline": "Local timeline", @@ -205,6 +206,8 @@ "privacy.public.short": "Public", "privacy.unlisted.long": "Do not post to public timelines", "privacy.unlisted.short": "Unlisted", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "now", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index eab8c09a6..694b35ad2 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Ŝarganta…", "media_gallery.toggle_visible": "Baskuli videblecon", "missing_indicator.label": "Ne trovita", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Hide notifications from this user?", "navigation_bar.blocks": "Blokitaj uzantoj", "navigation_bar.community_timeline": "Loka tempolinio", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "La hejma tempolinio enhavas la mesaĝojn de ĉiuj uzantoj, kiuj vi sekvas.", "onboarding.page_four.notifications": "La sciiga kolumno informas vin kiam iu interagas kun vi.", "onboarding.page_one.federation": "Mastodono estas reto de nedependaj serviloj, unuiĝintaj por krei pligrandan socian retejon. Ni nomas tiujn servilojn instancoj.", - "onboarding.page_one.handle": "Vi estas ĉe {domain}, unu el la multaj instancoj de Mastodono. Via kompleta uznomo do estas {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Bonvenon al Mastodono!", "onboarding.page_six.admin": "Via instancestro estas {admin}.", "onboarding.page_six.almost_done": "Estas preskaŭ finita…", @@ -197,6 +199,8 @@ "privacy.public.short": "Publika", "privacy.unlisted.long": "Ne vidigi en publikaj tempolinioj", "privacy.unlisted.short": "Nelistigita", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}t", "relative_time.hours": "{number}h", "relative_time.just_now": "nun", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index 8a8110b1e..cc131fba1 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Cargando…", "media_gallery.toggle_visible": "Cambiar visibilidad", "missing_indicator.label": "No encontrado", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Ocultar notificaciones de este usuario?", "navigation_bar.blocks": "Usuarios bloqueados", "navigation_bar.community_timeline": "Historia local", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "La línea de tiempo principal muestra toots de gente que sigues.", "onboarding.page_four.notifications": "Las notificaciones se muestran cuando alguien interactúa contigo.", "onboarding.page_one.federation": "Mastodon es una red de servidores federados que conforman una red social aún más grande. Llamamos a estos servidores instancias.", - "onboarding.page_one.handle": "Estás en {domain}, así que tu nombre de usuario completo es {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "¡Bienvenido a Mastodon!", "onboarding.page_six.admin": "El administrador de tu instancia es {admin}.", "onboarding.page_six.almost_done": "Ya casi…", @@ -197,6 +199,8 @@ "privacy.public.short": "Público", "privacy.unlisted.long": "No mostrar en la historia federada", "privacy.unlisted.short": "Sin federar", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "ahora", diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index 8c52ffdb4..6846da66d 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -139,6 +139,7 @@ "loading_indicator.label": "بارگیری...", "media_gallery.toggle_visible": "تغییر پیدایی", "missing_indicator.label": "پیدا نشد", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "اعلانهای این کاربر پنهان شود؟", "navigation_bar.blocks": "کاربران مسدودشده", "navigation_bar.community_timeline": "نوشتههای محلی", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "ستون «خانه» نوشتههای کسانی را نشان میدهد که شما پی میگیرید.", "onboarding.page_four.notifications": "ستون «اعلانها» ارتباطهای شما با دیگران را نشان میدهد.", "onboarding.page_one.federation": "ماستدون شبکهای از سرورهای مستقل است که با پیوستن به یکدیگر یک شبکهٔ اجتماعی بزرگ را تشکیل میدهند.", - "onboarding.page_one.handle": "شما روی سرور {domain} هستید، بنابراین شناسهٔ کامل شما {handle} است", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "به ماستدون خوش آمدید!", "onboarding.page_six.admin": "نشانی مسئول سرور شما {admin} است.", "onboarding.page_six.almost_done": "الان تقریباً آمادهاید...", @@ -197,6 +199,8 @@ "privacy.public.short": "عمومی", "privacy.unlisted.long": "عمومی، ولی فهرست نکن", "privacy.unlisted.short": "فهرستنشده", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "الان", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index 74ab699c4..eb81e7eb4 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Ladataan...", "media_gallery.toggle_visible": "Toggle visibility", "missing_indicator.label": "Not found", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Hide notifications from this user?", "navigation_bar.blocks": "Blocked users", "navigation_bar.community_timeline": "Paikallinen aikajana", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "The home timeline shows posts from people you follow.", "onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.", "onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.", - "onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Welcome to Mastodon!", "onboarding.page_six.admin": "Your instance's admin is {admin}.", "onboarding.page_six.almost_done": "Almost done...", @@ -197,6 +199,8 @@ "privacy.public.short": "Public", "privacy.unlisted.long": "Do not show in public timelines", "privacy.unlisted.short": "Unlisted", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "now", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index e77107fc5..66592eecd 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -36,7 +36,7 @@ "column.favourites": "Favoris", "column.follow_requests": "Demandes de suivi", "column.home": "Accueil", - "column.lists": "Lists", + "column.lists": "Listes", "column.mutes": "Comptes masqués", "column.notifications": "Notifications", "column.pins": "Pouets épinglés", @@ -50,7 +50,7 @@ "column_header.unpin": "Retirer", "column_subheading.navigation": "Navigation", "column_subheading.settings": "Paramètres", - "compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.", + "compose_form.hashtag_warning": "Ce pouet ne sera pas listé dans les recherches par hashtag car sa visibilité est réglée sur \"non-listé\". Seuls les pouets avec une visibilité \"publique\" peuvent être recherchés par hashtag.", "compose_form.lock_disclaimer": "Votre compte n’est pas {locked}. Tout le monde peut vous suivre et voir vos pouets privés.", "compose_form.lock_disclaimer.lock": "verrouillé", "compose_form.placeholder": "Qu’avez-vous en tête ?", @@ -73,7 +73,7 @@ "confirmations.unfollow.confirm": "Ne plus suivre", "confirmations.unfollow.message": "Voulez-vous arrêter de suivre {name} ?", "embed.instructions": "Intégrez ce statut à votre site en copiant le code ci-dessous.", - "embed.preview": "Il apparaîtra comme cela :", + "embed.preview": "Il apparaîtra comme cela :", "emoji_button.activity": "Activités", "emoji_button.custom": "Personnalisés", "emoji_button.flags": "Drapeaux", @@ -89,12 +89,12 @@ "emoji_button.symbols": "Symboles", "emoji_button.travel": "Lieux et voyages", "empty_column.community": "Le fil public local est vide. Écrivez donc quelque chose pour le remplir !", - "empty_column.hashtag": "Il n’y a encore aucun contenu associé à ce hashtag", + "empty_column.hashtag": "Il n’y a encore aucun contenu associé à ce hashtag.", "empty_column.home": "Vous ne suivez encore personne. Visitez {public} ou bien utilisez la recherche pour vous connecter à d’autres utilisateur⋅ice⋅s.", "empty_column.home.public_timeline": "le fil public", "empty_column.list": "Il n'y a rien dans cette liste pour l'instant. Dès que des personnes de cette liste publierons de nouveaux statuts, ils apparaîtront ici.", "empty_column.notifications": "Vous n’avez pas encore de notification. Interagissez avec d’autres utilisateur⋅ice⋅s pour débuter la conversation.", - "empty_column.public": "Il n’y a rien ici ! Écrivez quelque chose publiquement, ou bien suivez manuellement des utilisateur⋅ice⋅s d’autres instances pour remplir le fil public.", + "empty_column.public": "Il n’y a rien ici ! Écrivez quelque chose publiquement, ou bien suivez manuellement des utilisateur⋅ice·s d’autres instances pour remplir le fil public", "follow_request.authorize": "Accepter", "follow_request.reject": "Rejeter", "getting_started.appsshort": "Applications", @@ -121,10 +121,10 @@ "keyboard_shortcuts.legend": "pour afficher cette légende", "keyboard_shortcuts.mention": "pour mentionner l'auteur", "keyboard_shortcuts.reply": "pour répondre", - "keyboard_shortcuts.search": "to focus search", + "keyboard_shortcuts.search": "pour cibler la recherche", "keyboard_shortcuts.toot": "pour démarrer un tout nouveau pouet", - "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", - "keyboard_shortcuts.up": "to move up in the list", + "keyboard_shortcuts.unfocus": "pour recentrer composer textarea/search", + "keyboard_shortcuts.up": "pour remonter dans la liste", "lightbox.close": "Fermer", "lightbox.next": "Suivant", "lightbox.previous": "Précédent", @@ -139,6 +139,7 @@ "loading_indicator.label": "Chargement…", "media_gallery.toggle_visible": "Modifier la visibilité", "missing_indicator.label": "Non trouvé", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Masquer les notifications de cet utilisateur ?", "navigation_bar.blocks": "Comptes bloqués", "navigation_bar.community_timeline": "Fil public local", @@ -154,14 +155,14 @@ "navigation_bar.preferences": "Préférences", "navigation_bar.public_timeline": "Fil public global", "notification.favourite": "{name} a ajouté à ses favoris :", - "notification.follow": "{name} vous suit.", + "notification.follow": "{name} vous suit", "notification.mention": "{name} vous a mentionné⋅e :", "notification.reblog": "{name} a partagé votre statut :", "notifications.clear": "Nettoyer", "notifications.clear_confirmation": "Voulez-vous vraiment supprimer toutes vos notifications ?", "notifications.column_settings.alert": "Notifications locales", "notifications.column_settings.favourite": "Favoris :", - "notifications.column_settings.follow": "Nouveaux⋅elles abonné⋅e⋅s :", + "notifications.column_settings.follow": "Nouveaux⋅elles abonné⋅e·s :", "notifications.column_settings.mention": "Mentions :", "notifications.column_settings.push": "Notifications push", "notifications.column_settings.push_meta": "Cet appareil", @@ -171,15 +172,16 @@ "onboarding.done": "Effectué", "onboarding.next": "Suivant", "onboarding.page_five.public_timelines": "Le fil public global affiche les posts de tou⋅te⋅s les utilisateur⋅ice⋅s suivi⋅es par les membres de {domain}. Le fil public local est identique mais se limite aux utilisateur⋅ice⋅s de {domain}.", - "onboarding.page_four.home": "L’Accueil affiche les posts de tou⋅te⋅s les utilisateur⋅ice⋅s que vous suivez", - "onboarding.page_four.notifications": "Les Notifications vous informent lorsque quelqu’un interagit avec vous", + "onboarding.page_four.home": "L’Accueil affiche les posts de tou⋅te·s les utilisateur⋅ice·s que vous suivez.", + "onboarding.page_four.notifications": "Les Notifications vous informent lorsque quelqu’un interagit avec vous.", "onboarding.page_one.federation": "Mastodon est un réseau social qui appartient à tou⋅te⋅s.", - "onboarding.page_one.handle": "Vous êtes sur {domain}, une des nombreuses instances indépendantes de Mastodon. Votre nom d’utilisateur⋅ice complet est {handle}", + "onboarding.page_one.full_handle": "Votre pleine maîtrise", + "onboarding.page_one.handle_hint": "C'est ce que vous diriez à vos amis de rechercher.", "onboarding.page_one.welcome": "Bienvenue sur Mastodon !", "onboarding.page_six.admin": "L’administrateur⋅ice de votre instance est {admin}", "onboarding.page_six.almost_done": "Nous y sommes presque…", "onboarding.page_six.appetoot": "Bon appouétit !", - "onboarding.page_six.apps_available": "De nombreuses {apps} sont disponibles pour iOS, Android et autres. Et maintenant… Bon appouétit !", + "onboarding.page_six.apps_available": "De nombreuses {apps} sont disponibles pour iOS, Android et autres.", "onboarding.page_six.github": "Mastodon est un logiciel libre, gratuit et open-source. Vous pouvez rapporter des bogues, suggérer des fonctionnalités, ou contribuer à son développement sur {github}.", "onboarding.page_six.guidelines": "règles de la communauté", "onboarding.page_six.read_guidelines": "S’il vous plaît, n’oubliez pas de lire les {guidelines} !", @@ -197,6 +199,8 @@ "privacy.public.short": "Public", "privacy.unlisted.long": "Ne pas afficher dans les fils publics", "privacy.unlisted.short": "Non-listé", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number} j", "relative_time.hours": "{number} h", "relative_time.just_now": "à l’instant", @@ -223,7 +227,7 @@ "status.media_hidden": "Média caché", "status.mention": "Mentionner", "status.more": "Plus", - "status.mute": "Mute @{name}", + "status.mute": "Masquer @{name}", "status.mute_conversation": "Masquer la conversation", "status.open": "Déplier ce statut", "status.pin": "Épingler sur le profil", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index 77f6b82ab..562bc0593 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -50,7 +50,7 @@ "column_header.unpin": "Soltar", "column_subheading.navigation": "Navegación", "column_subheading.settings": "Axustes", - "compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.", + "compose_form.hashtag_warning": "Esta mensaxe non será listada baixo ningunha etiqueta xa que está marcada como non listada. Só os toots públicos poden buscarse por etiquetas.", "compose_form.lock_disclaimer": "A súa conta non está {locked}. Calquera pode seguila para ver as súas mensaxes só-para-seguidoras.", "compose_form.lock_disclaimer.lock": "bloqueado", "compose_form.placeholder": "A qué andas?", @@ -139,6 +139,7 @@ "loading_indicator.label": "Cargando...", "media_gallery.toggle_visible": "Dar visibilidade", "missing_indicator.label": "Non atopado", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Esconder notificacións deste usuario?", "navigation_bar.blocks": "Usuarios bloqueados", "navigation_bar.community_timeline": "Liña temporal local", @@ -156,7 +157,7 @@ "notification.favourite": "{name} marcou como favorito o seu estado", "notification.follow": "{name} está a seguila", "notification.mention": "{name} mencionoute", - "notification.reblog": "{name} promocionou o seu estado", + "notification.reblog": "{name} promoveu o seu estado", "notifications.clear": "Limpar notificacións", "notifications.clear_confirmation": "Estás seguro de que queres limpar permanentemente todas as túas notificacións?", "notifications.column_settings.alert": "Notificacións de escritorio", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "A liña de tempo local mostra as publicacións das persoas que segues.", "onboarding.page_four.notifications": "A columna de notificacións mostra cando alguén interactúa contigo.", "onboarding.page_one.federation": "Mastodon é unha rede de servidores independentes que se unen para facer unha rede social máis grande. Chamamos instancias a estes servidores.", - "onboarding.page_one.handle": "Estás en {domain}, polo que o teu nome de usuario completo é {handle}", + "onboarding.page_one.full_handle": "O seu alcume completo", + "onboarding.page_one.handle_hint": "Esto é o que lle debe dicir a quen queira seguila.", "onboarding.page_one.welcome": "Benvido a Mastodon!", "onboarding.page_six.admin": "O administrador da túa instancia é {admin}.", "onboarding.page_six.almost_done": "Case feito...", @@ -197,6 +199,8 @@ "privacy.public.short": "Pública", "privacy.unlisted.long": "Non publicar en liñas temporais públicas", "privacy.unlisted.short": "Non listada", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "agora", @@ -223,7 +227,7 @@ "status.media_hidden": "Medios ocultos", "status.mention": "Mencionar @{name}", "status.more": "Máis", - "status.mute": "Mute @{name}", + "status.mute": "Acalar @{name}", "status.mute_conversation": "Acalar conversa", "status.open": "Expandir este estado", "status.pin": "Fixar no perfil", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index 2eb186173..d6665295f 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -139,6 +139,7 @@ "loading_indicator.label": "טוען...", "media_gallery.toggle_visible": "נראה\\בלתי נראה", "missing_indicator.label": "לא נמצא", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "להסתיר הודעות מחשבון זה?", "navigation_bar.blocks": "חסימות", "navigation_bar.community_timeline": "ציר זמן מקומי", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "ציר זמן הבית מראה הודעות מהנעקבים שלך.", "onboarding.page_four.notifications": "טור ההתראות מראה כשמישהו מתייחס להודעות שלך.", "onboarding.page_one.federation": "מסטודון היא רשת של שרתים עצמאיים מצורפים ביחד לכדי רשת חברתית אחת גדולה. אנחנו מכנים את השרתים האלו קהילות.", - "onboarding.page_one.handle": "אתם בקהילה {domain}, ולכן מזהה המשתמש המלא שלכם הוא {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "ברוכים הבאים למסטודון!", "onboarding.page_six.admin": "הקהילה מנוהלת בידי {admin}.", "onboarding.page_six.almost_done": "כמעט סיימנו...", @@ -197,6 +199,8 @@ "privacy.public.short": "פומבי", "privacy.unlisted.long": "לא יופיע בפידים הציבוריים המשותפים", "privacy.unlisted.short": "לא לפיד הכללי", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "כרגע", diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json index 00dea67f7..c49ae160f 100644 --- a/app/javascript/mastodon/locales/hr.json +++ b/app/javascript/mastodon/locales/hr.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Učitavam...", "media_gallery.toggle_visible": "Preklopi vidljivost", "missing_indicator.label": "Nije nađen", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Hide notifications from this user?", "navigation_bar.blocks": "Blokirani korisnici", "navigation_bar.community_timeline": "Lokalni timeline", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "The home timeline prikazuje postove ljudi koje slijediš.", "onboarding.page_four.notifications": "Stupac za notifikacije pokazuje poruke drugih upućene tebi.", "onboarding.page_one.federation": "Mastodon čini mreža neovisnih servera udruženih u jednu veću socialnu mrežu. Te servere nazivamo instancama.", - "onboarding.page_one.handle": "Ti si na {domain}, i tvoja puna handle je {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Dobro došli na Mastodon!", "onboarding.page_six.admin": "Administrator tvoje instance je {admin}.", "onboarding.page_six.almost_done": "Još malo pa gotovo...", @@ -197,6 +199,8 @@ "privacy.public.short": "Javno", "privacy.unlisted.long": "Ne prikazuj u javnim timelineovima", "privacy.unlisted.short": "Unlisted", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "now", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index e1048519b..0ed43ae6b 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Betöltés...", "media_gallery.toggle_visible": "Toggle visibility", "missing_indicator.label": "Not found", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Hide notifications from this user?", "navigation_bar.blocks": "Blocked users", "navigation_bar.community_timeline": "Local timeline", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "The home timeline shows posts from people you follow.", "onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.", "onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.", - "onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Welcome to Mastodon!", "onboarding.page_six.admin": "Your instance's admin is {admin}.", "onboarding.page_six.almost_done": "Almost done...", @@ -197,6 +199,8 @@ "privacy.public.short": "Public", "privacy.unlisted.long": "Do not show in public timelines", "privacy.unlisted.short": "Unlisted", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "now", diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json index 152f0c525..f46db5b00 100644 --- a/app/javascript/mastodon/locales/hy.json +++ b/app/javascript/mastodon/locales/hy.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Բեռնվում է…", "media_gallery.toggle_visible": "Ցուցադրել/թաքցնել", "missing_indicator.label": "Չգտնվեց", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Թաքցնե՞լ ցանուցումներն այս օգտատիրոջից։", "navigation_bar.blocks": "Արգելափակված օգտատերեր", "navigation_bar.community_timeline": "Տեղական հոսք", @@ -198,6 +199,8 @@ "privacy.public.short": "Հրապարակային", "privacy.unlisted.long": "Չթթել հրապարակային հոսքերում", "privacy.unlisted.short": "Ծածուկ", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}օր", "relative_time.hours": "{number}ժ", "relative_time.just_now": "նոր", @@ -260,4 +263,4 @@ "video.pause": "Դադար տալ", "video.play": "Նվագել", "video.unmute": "Միացնել ձայնը" -} \ No newline at end of file +} diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json index 0942bc33c..6edf855d3 100644 --- a/app/javascript/mastodon/locales/id.json +++ b/app/javascript/mastodon/locales/id.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Tunggu sebentar...", "media_gallery.toggle_visible": "Tampil/Sembunyikan", "missing_indicator.label": "Tidak ditemukan", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Hide notifications from this user?", "navigation_bar.blocks": "Pengguna diblokir", "navigation_bar.community_timeline": "Linimasa lokal", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "Linimasa beranda menampilkan postingan dari orang-orang yang anda ikuti.", "onboarding.page_four.notifications": "Kolom notifikasi menampilkan ketika seseorang berinteraksi dengan anda.", "onboarding.page_one.federation": "Mastodon adalah jaringan dari beberapa server independen yang bergabung untuk membuat jejaring sosial yang besar.", - "onboarding.page_one.handle": "Ada berada dalam {domain}, jadi nama user lengkap anda adalah {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Selamat datang di Mastodon!", "onboarding.page_six.admin": "Admin serveer anda adalah {admin}.", "onboarding.page_six.almost_done": "Hampir selesei...", @@ -197,6 +199,8 @@ "privacy.public.short": "Publik", "privacy.unlisted.long": "Tidak ditampilkan di linimasa publik", "privacy.unlisted.short": "Tak Terdaftar", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "now", diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json index cfd8e299f..7aa7cb144 100644 --- a/app/javascript/mastodon/locales/io.json +++ b/app/javascript/mastodon/locales/io.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Kargante...", "media_gallery.toggle_visible": "Chanjar videbleso", "missing_indicator.label": "Ne trovita", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Hide notifications from this user?", "navigation_bar.blocks": "Blokusita uzeri", "navigation_bar.community_timeline": "Lokala tempolineo", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "The home timeline shows posts from people you follow.", "onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.", "onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.", - "onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Welcome to Mastodon!", "onboarding.page_six.admin": "Your instance's admin is {admin}.", "onboarding.page_six.almost_done": "Almost done...", @@ -197,6 +199,8 @@ "privacy.public.short": "Publike", "privacy.unlisted.long": "Ne montrar en publika tempolinei", "privacy.unlisted.short": "Ne enlistigota", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "now", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index e14fa410c..61467df16 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Carico...", "media_gallery.toggle_visible": "Imposta visibilità", "missing_indicator.label": "Non trovato", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Hide notifications from this user?", "navigation_bar.blocks": "Utenti bloccati", "navigation_bar.community_timeline": "Timeline locale", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "The home timeline shows posts from people you follow.", "onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.", "onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.", - "onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Welcome to Mastodon!", "onboarding.page_six.admin": "Your instance's admin is {admin}.", "onboarding.page_six.almost_done": "Almost done...", @@ -197,6 +199,8 @@ "privacy.public.short": "Pubblico", "privacy.unlisted.long": "Non mostrare sulla timeline pubblica", "privacy.unlisted.short": "Non elencato", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "now", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index 19885056c..beb522189 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -1,5 +1,5 @@ { - "account.block": "ブロック", + "account.block": "@{name}さんをブロック", "account.block_domain": "{domain}全体を非表示", "account.disclaimer_full": "以下の情報は不正確な可能性があります。", "account.edit_profile": "プロフィールを編集", @@ -11,18 +11,18 @@ "account.media": "メディア", "account.mention": "返信", "account.moved_to": "{name}さんは引っ越しました:", - "account.mute": "ミュート", - "account.mute_notifications": "@{name}さんからの通知を受け取る", + "account.mute": "@{name}さんをミュート", + "account.mute_notifications": "@{name}さんからの通知を受け取らない", "account.posts": "投稿", - "account.report": "通報", - "account.requested": "承認待ち", + "account.report": "@{name}さんを通報", + "account.requested": "フォロー承認待ちです。クリックしてキャンセル。", "account.share": "@{name}さんのプロフィールを共有する", "account.show_reblogs": "@{name}さんからのブーストを表示", - "account.unblock": "ブロック解除", + "account.unblock": "@{name}さんのブロック解除", "account.unblock_domain": "{domain}を表示", "account.unfollow": "フォロー解除", "account.unmute": "ミュート解除", - "account.unmute_notifications": "@{name}さんからの通知を受け取らない", + "account.unmute_notifications": "@{name}さんからの通知を受け取る", "account.view_full_profile": "全ての情報を見る", "boost_modal.combo": "次からは{combo}を押せば、これをスキップできます", "bundle_column_error.body": "コンポーネントの読み込み中に問題が発生しました。", @@ -144,6 +144,7 @@ "loading_indicator.label": "読み込み中...", "media_gallery.toggle_visible": "表示切り替え", "missing_indicator.label": "見つかりません", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "このユーザーからの通知を隠しますか?", "navigation_bar.blocks": "ブロックしたユーザー", "navigation_bar.community_timeline": "ローカルタイムライン", @@ -181,7 +182,8 @@ "onboarding.page_four.home": "「ホーム」タイムラインではあなたがフォローしている人の投稿を表示します。", "onboarding.page_four.notifications": "「通知」ではあなたへの他の人からの関わりを表示します。", "onboarding.page_one.federation": "Mastodonは誰でも参加できるSNSです。", - "onboarding.page_one.handle": "今あなたは数あるMastodonインスタンスの1つである{domain}にいます。あなたのフルハンドルは{handle}です", + "onboarding.page_one.full_handle": "あなたのフルハンドル", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Mastodonへようこそ!", "onboarding.page_six.admin": "あなたのインスタンスの管理者は{admin}です。", "onboarding.page_six.almost_done": "以上です。", @@ -204,6 +206,8 @@ "privacy.public.short": "公開", "privacy.unlisted.long": "公開TLで表示しない", "privacy.unlisted.short": "未収載", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}日前", "relative_time.hours": "{number}時間前", "relative_time.just_now": "今", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index 31e5e377e..18d8a80a7 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -139,6 +139,7 @@ "loading_indicator.label": "불러오는 중...", "media_gallery.toggle_visible": "표시 전환", "missing_indicator.label": "찾을 수 없습니다", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "이 사용자로부터의 알림을 뮤트하시겠습니까?", "navigation_bar.blocks": "차단한 사용자", "navigation_bar.community_timeline": "로컬 타임라인", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "홈 타임라인에서는 내가 팔로우 중인 사람들의 포스트를 표시합니다.", "onboarding.page_four.notifications": "알림에서는 다른 사람들과의 연결을 표시합니다.", "onboarding.page_one.federation": "Mastodon은 누구나 참가할 수 있는 SNS입니다.", - "onboarding.page_one.handle": "여러분은 지금 수많은 Mastodon 인스턴스 중 하나인 {domain}에 있습니다. 당신의 유저 이름은 {handle} 입니다.", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Mastodon에 어서 오세요!", "onboarding.page_six.admin": "이 인스턴스의 관리자는 {admin}입니다.", "onboarding.page_six.almost_done": "이상입니다.", @@ -197,6 +199,8 @@ "privacy.public.short": "공개", "privacy.unlisted.long": "공개 타임라인에 표시하지 않음", "privacy.unlisted.short": "타임라인에 비표시", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}일 전", "relative_time.hours": "{number}시간 전", "relative_time.just_now": "방금", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index 6dc7292f1..060aa229e 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Laden…", "media_gallery.toggle_visible": "Media wel/niet tonen", "missing_indicator.label": "Niet gevonden", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Verberg meldingen van deze persoon?", "navigation_bar.blocks": "Geblokkeerde gebruikers", "navigation_bar.community_timeline": "Lokale tijdlijn", @@ -174,9 +175,10 @@ "onboarding.page_four.home": "Deze tijdlijn laat toots zien van mensen die jij volgt.", "onboarding.page_four.notifications": "De kolom met meldingen toont alle interacties die je met andere Mastodon-gebruikers hebt.", "onboarding.page_one.federation": "Mastodon is een netwerk van onafhankelijke servers die samen een groot sociaal netwerk vormen.", - "onboarding.page_one.handle": "Je bevindt je nu op {domain}, dus is jouw volledige Mastodon-adres {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Welkom op Mastodon!", - "onboarding.page_six.admin": "De beheerder van jouw Mastodon-server is {admin}.", + "onboarding.page_six.admin": "De beheerder van jouw Mastodonserver is {admin}.", "onboarding.page_six.almost_done": "Bijna klaar...", "onboarding.page_six.appetoot": "Veel succes!", "onboarding.page_six.apps_available": "Er zijn {apps} beschikbaar voor iOS, Android en andere platformen.", @@ -185,7 +187,7 @@ "onboarding.page_six.read_guidelines": "Vergeet niet de {guidelines} van {domain} te lezen!", "onboarding.page_six.various_app": "mobiele apps", "onboarding.page_three.profile": "Bewerk jouw profiel om jouw avatar, bio en weergavenaam te veranderen. Daar vind je ook andere instellingen.", - "onboarding.page_three.search": "Gebruik de zoekbalk linksboven om andere mensen op Mastodon te vinden en om te zoeken op hashtags, zoals {illustration} en {introductions}. Om iemand te vinden die niet op deze Mastodon-server zit, moet je het volledige Mastodon-adres van deze persoon invoeren.", + "onboarding.page_three.search": "Gebruik de zoekbalk linksboven om andere mensen op Mastodon te vinden en om te zoeken op hashtags, zoals {illustration} en {introductions}. Om iemand te vinden die niet op deze Mastodonserver zit, moet je het volledige Mastodonadres van deze persoon invoeren.", "onboarding.page_two.compose": "Schrijf berichten (wij noemen dit toots) in het tekstvak in de linkerkolom. Je kan met de pictogrammen daaronder afbeeldingen uploaden, privacy-instellingen veranderen en je tekst een waarschuwing meegeven.", "onboarding.skip": "Overslaan", "privacy.change": "Zichtbaarheid toot aanpassen", @@ -197,6 +199,8 @@ "privacy.public.short": "Openbaar", "privacy.unlisted.long": "Niet op openbare tijdlijnen tonen", "privacy.unlisted.short": "Minder openbaar", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "nu", diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json index 5fbc51ff3..6bd57c222 100644 --- a/app/javascript/mastodon/locales/no.json +++ b/app/javascript/mastodon/locales/no.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Laster...", "media_gallery.toggle_visible": "Veksle synlighet", "missing_indicator.label": "Ikke funnet", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Hide notifications from this user?", "navigation_bar.blocks": "Blokkerte brukere", "navigation_bar.community_timeline": "Lokal tidslinje", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "Hjem er tidslinjen med alle brukere som du følger.", "onboarding.page_four.notifications": "Kolonnen med varsler viser når noen interakterer med deg.", "onboarding.page_one.federation": "Mastdodon er et nettverk med uavhengige servere som sammarbeider om å danne et stort sosialt nettverk. Vi kaller disse serverene instanser.", - "onboarding.page_one.handle": "Du er på {domain}, så ditt fulle brukernavn er {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Velkommen til Mastodon!", "onboarding.page_six.admin": "Administratoren på din instans er {admin}.", "onboarding.page_six.almost_done": "Snart ferdig...", @@ -197,6 +199,8 @@ "privacy.public.short": "Offentlig", "privacy.unlisted.long": "Ikke vis i offentlige tidslinjer", "privacy.unlisted.short": "Uoppført", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "now", diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json index 6ebd40f5b..104ba48c5 100644 --- a/app/javascript/mastodon/locales/oc.json +++ b/app/javascript/mastodon/locales/oc.json @@ -1,13 +1,13 @@ { "account.block": "Blocar @{name}", "account.block_domain": "Tot amagar del domeni {domain}", - "account.disclaimer_full": "Aquelas informacions de perfil pòdon èsser incompletas.", + "account.disclaimer_full": "Aquelas informacions de perfil pòdon èsser incomplètas.", "account.edit_profile": "Modificar lo perfil", "account.follow": "Sègre", "account.followers": "Seguidors", "account.follows": "Abonaments", "account.follows_you": "Vos sèc", - "account.hide_reblogs": "Rescondre los partages de @{name}", + "account.hide_reblogs": "Rescondre los partatges de @{name}", "account.media": "Mèdias", "account.mention": "Mencionar @{name}", "account.moved_to": "{name} a mudat los catons a :", @@ -17,13 +17,13 @@ "account.report": "Senhalar @{name}", "account.requested": "Invitacion mandada. Clicatz per anullar", "account.share": "Partejar lo perfil a @{name}", - "account.show_reblogs": "Mostrar los partages de @{name}", + "account.show_reblogs": "Mostrar los partatges de @{name}", "account.unblock": "Desblocar @{name}", "account.unblock_domain": "Desblocar {domain}", "account.unfollow": "Quitar de sègre", "account.unmute": "Quitar de rescondre @{name}", "account.unmute_notifications": "Mostrar las notificacions de @{name}", - "account.view_full_profile": "Veire lo perfil complet", + "account.view_full_profile": "Veire lo perfil complèt", "boost_modal.combo": "Podètz botar {combo} per passar aquò lo còp que ven", "bundle_column_error.body": "Quicòm a fach mèuca pendent lo cargament d’aqueste compausant.", "bundle_column_error.retry": "Tornar ensajar", @@ -67,7 +67,7 @@ "confirmations.delete_list.confirm": "Suprimir", "confirmations.delete_list.message": "Sètz segur de voler suprimir aquesta lista per totjorn ?", "confirmations.domain_block.confirm": "Amagar tot lo domeni", - "confirmations.domain_block.message": "Sètz segur segur de voler blocar completament {domain} ? De còps cal pas que blocar o rescondre unas personas solament.", + "confirmations.domain_block.message": "Sètz segur segur de voler blocar complètament {domain} ? De còps cal pas que blocar o rescondre unas personas solament.", "confirmations.mute.confirm": "Rescondre", "confirmations.mute.message": "Sètz segur de voler rescondre {name} ?", "confirmations.unfollow.confirm": "Quitar de sègre", @@ -80,7 +80,7 @@ "emoji_button.food": "Beure e manjar", "emoji_button.label": "Inserir un emoji", "emoji_button.nature": "Natura", - "emoji_button.not_found": "Cap emoji ! (╯°□°)╯︵ ┻━┻", + "emoji_button.not_found": "Cap d’emoji ! (╯°□°)╯︵ ┻━┻", "emoji_button.objects": "Objèctes", "emoji_button.people": "Gents", "emoji_button.recent": "Sovent utilizats", @@ -108,23 +108,23 @@ "home.column_settings.show_reblogs": "Mostrar los partatges", "home.column_settings.show_replies": "Mostrar las responsas", "home.settings": "Paramètres de la colomna", - "keyboard_shortcuts.back": "per anar enrèire", - "keyboard_shortcuts.boost": "per partejar", - "keyboard_shortcuts.column": "per centrar un estatut a una colomna", - "keyboard_shortcuts.compose": "per anar al camp tèxte", + "keyboard_shortcuts.back": "anar enrèire", + "keyboard_shortcuts.boost": "partejar", + "keyboard_shortcuts.column": "centrar un estatut a una colomna", + "keyboard_shortcuts.compose": "anar al camp tèxte", "keyboard_shortcuts.description": "Descripcion", - "keyboard_shortcuts.down": "per far davalar dins la lista", - "keyboard_shortcuts.enter": "per dobrir los estatuts", - "keyboard_shortcuts.favourite": "per apondre als favorits", + "keyboard_shortcuts.down": "far davalar dins la lista", + "keyboard_shortcuts.enter": "dobrir los estatuts", + "keyboard_shortcuts.favourite": "apondre als favorits", "keyboard_shortcuts.heading": "Acorchis clavièr", "keyboard_shortcuts.hotkey": "Acorchis", - "keyboard_shortcuts.legend": "per mostrar aquesta legenda", - "keyboard_shortcuts.mention": "per mencionar l’autor", - "keyboard_shortcuts.reply": "per respondre", - "keyboard_shortcuts.search": "per anar a la recèrca", - "keyboard_shortcuts.toot": "per començar un estatut tot novèl", - "keyboard_shortcuts.unfocus": "per quitar lo camp tèxte/de recèrca", - "keyboard_shortcuts.up": "per far montar dins la lista", + "keyboard_shortcuts.legend": "mostrar aquesta legenda", + "keyboard_shortcuts.mention": "mencionar l’autor", + "keyboard_shortcuts.reply": "respondre", + "keyboard_shortcuts.search": "anar a la recèrca", + "keyboard_shortcuts.toot": "començar un estatut tot novèl", + "keyboard_shortcuts.unfocus": "quitar lo camp tèxte/de recèrca", + "keyboard_shortcuts.up": "far montar dins la lista", "lightbox.close": "Tampar", "lightbox.next": "Seguent", "lightbox.previous": "Precedent", @@ -139,6 +139,7 @@ "loading_indicator.label": "Cargament…", "media_gallery.toggle_visible": "Modificar la visibilitat", "missing_indicator.label": "Pas trobat", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Rescondre las notificacions d’aquesta persona ?", "navigation_bar.blocks": "Personas blocadas", "navigation_bar.community_timeline": "Flux public local", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "Lo flux d’acuèlh mòstra los estatuts del mond que seguètz.", "onboarding.page_four.notifications": "La colomna de notificacions vos fa veire quand qualqu’un interagís amb vos.", "onboarding.page_one.federation": "Mastodon es un malhum de servidors independents que comunican per construire un malhum mai larg. Òm los apèla instàncias.", - "onboarding.page_one.handle": "Sètz sus {domain}, doncas vòstre identificant complet es {handle}", + "onboarding.page_one.full_handle": "Vòstre escais-nom complèt", + "onboarding.page_one.handle_hint": "Vos cal dire a vòstres amics de cercar aquò.", "onboarding.page_one.welcome": "Benvengut a Mastodon !", "onboarding.page_six.admin": "Vòstre administrator d’instància es {admin}.", "onboarding.page_six.almost_done": "Gaireben acabat…", @@ -185,7 +187,7 @@ "onboarding.page_six.read_guidelines": "Mercés de legir la {guidelines} de {domain} !", "onboarding.page_six.various_app": "aplicacions per mobil", "onboarding.page_three.profile": "Modificatz vòstre perfil per cambiar vòstre avatar, bio e escais-nom. I a enlà totas las preferéncias.", - "onboarding.page_three.search": "Emplegatz la barra de recèrca per trobar de mond e engachatz las etiquetas coma {illustration} e {introductions}. Per trobar una persona d’una autra instància, picatz son identificant complet.", + "onboarding.page_three.search": "Emplegatz la barra de recèrca per trobar de mond e engachatz las etiquetas coma {illustration} e {introductions}. Per trobar una persona d’una autra instància, picatz son identificant complèt.", "onboarding.page_two.compose": "Escrivètz un estatut dempuèi la colomna per compausar. Podètz mandar un imatge, cambiar la confidencialitat e ajustar un avertiment amb las icònas cai-jos.", "onboarding.skip": "Passar", "privacy.change": "Ajustar la confidencialitat del messatge", @@ -197,6 +199,8 @@ "privacy.public.short": "Public", "privacy.unlisted.long": "Mostrar pas dins los fluxes publics", "privacy.unlisted.short": "Pas-listat", + "regeneration_indicator.label": "Cargament…", + "regeneration_indicator.sublabel": "Sèm a preparar vòstre flux d’acuèlh !", "relative_time.days": "fa {number} d", "relative_time.hours": "fa {number} h", "relative_time.just_now": "ara", @@ -253,7 +257,7 @@ "video.close": "Tampar la vidèo", "video.exit_fullscreen": "Sortir plen ecran", "video.expand": "Agrandir la vidèo", - "video.fullscreen": "Ecran complet", + "video.fullscreen": "Ecran complèt", "video.hide": "Amagar la vidèo", "video.mute": "Copar lo son", "video.pause": "Pausa", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index d36b1e6ed..b45ab5cee 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -144,6 +144,7 @@ "loading_indicator.label": "Ładowanie…", "media_gallery.toggle_visible": "Przełącz widoczność", "missing_indicator.label": "Nie znaleziono", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Chcesz ukryć powiadomienia od tego użytkownika?", "navigation_bar.blocks": "Zablokowani użytkownicy", "navigation_bar.community_timeline": "Lokalna oś czasu", @@ -181,7 +182,8 @@ "onboarding.page_four.home": "Główna oś czasu wyświetla publiczne wpisy.", "onboarding.page_four.notifications": "Kolumna powiadomień wyświetla, gdy ktoś dokonuje interakcji z tobą.", "onboarding.page_one.federation": "Mastodon jest siecią niezależnych serwerów połączonych w jeden portal społecznościowy. Nazywamy te serwery instancjami.", - "onboarding.page_one.handle": "Jesteś na domenie {domain}, więc Twój pełny adres to {handle}", + "onboarding.page_one.full_handle": "Twój pełny adres", + "onboarding.page_one.handle_hint": "Należy go podać znajomym, aby mogli Cię odnaleźć.", "onboarding.page_one.welcome": "Witamy w Mastodon!", "onboarding.page_six.admin": "Administratorem tej instancji jest {admin}.", "onboarding.page_six.almost_done": "Prawie gotowe…", @@ -204,6 +206,8 @@ "privacy.public.short": "Publiczny", "privacy.unlisted.long": "Niewidoczny na publicznych osiach czasu", "privacy.unlisted.short": "Niewidoczny", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number} dni", "relative_time.hours": "{number} godz.", "relative_time.just_now": "teraz", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index 381b80639..d70202413 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Carregando...", "media_gallery.toggle_visible": "Esconder/Mostrar", "missing_indicator.label": "Não encontrado", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Esconder notificações deste usuário?", "navigation_bar.blocks": "Usuários bloqueados", "navigation_bar.community_timeline": "Local", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "A página inicial mostra postagens de pessoas que você segue.", "onboarding.page_four.notifications": "A coluna de notificações te mostra quando alguém interage com você.", "onboarding.page_one.federation": "Mastodon é uma rede d servidores independentes se juntando para fazer uma grande rede social. Nós chamamos estes servidores de instâncias.", - "onboarding.page_one.handle": "Você está no {domain}, então o seu nome de usuário completo é {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Seja bem-vindo(a) ao Mastodon!", "onboarding.page_six.admin": "O administrador de sua instância é {admin}.", "onboarding.page_six.almost_done": "Quase acabando...", @@ -197,6 +199,8 @@ "privacy.public.short": "Pública", "privacy.unlisted.long": "Não publicar em feeds públicos", "privacy.unlisted.short": "Não listada", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "agora", diff --git a/app/javascript/mastodon/locales/pt.json b/app/javascript/mastodon/locales/pt.json index f566f551b..97a46b9a1 100644 --- a/app/javascript/mastodon/locales/pt.json +++ b/app/javascript/mastodon/locales/pt.json @@ -139,6 +139,7 @@ "loading_indicator.label": "A carregar...", "media_gallery.toggle_visible": "Esconder/Mostrar", "missing_indicator.label": "Não encontrado", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Esconder notificações deste utilizador?", "navigation_bar.blocks": "Utilizadores bloqueados", "navigation_bar.community_timeline": "Local", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "A timeline home mostra as publicações de pessoas que tu segues.", "onboarding.page_four.notifications": "A coluna de notificações mostra-te quando alguém interage contigo.", "onboarding.page_one.federation": "Mastodon é uma rede de servidores independentes ligados entre si para fazer uma grande rede social. Nós chamamos instâncias a estes servidores.", - "onboarding.page_one.handle": "Tu estás em {domain}, por isso o teu endereço completo de utilizador é {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Bem-vindo(a) ao Mastodon!", "onboarding.page_six.admin": "O administrador da tua instância é {admin}.", "onboarding.page_six.almost_done": "Quase pronto...", @@ -197,6 +199,8 @@ "privacy.public.short": "Público", "privacy.unlisted.long": "Não publicar nos feeds públicos", "privacy.unlisted.short": "Não listar", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "agora", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index 0fec70df0..29dbe84c5 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Загрузка...", "media_gallery.toggle_visible": "Показать/скрыть", "missing_indicator.label": "Не найдено", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Hide notifications from this user?", "navigation_bar.blocks": "Список блокировки", "navigation_bar.community_timeline": "Локальная лента", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "Домашняя лента показывает посты от тех, на кого Вы подписаны.", "onboarding.page_four.notifications": "Колонка уведомлений сообщает о взаимодействии с Вами других людей.", "onboarding.page_one.federation": "Mastodon - это сеть независимых серверов, которые вместе образуют единую социальную сеть. Мы называем эти сервера узлами.", - "onboarding.page_one.handle": "Вы находитесь на {domain}, поэтому Ваше полное имя пользователя - {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Добро пожаловать в Mastodon!", "onboarding.page_six.admin": "Админ Вашего узла - {admin}.", "onboarding.page_six.almost_done": "Почти готово...", @@ -197,6 +199,8 @@ "privacy.public.short": "Публичный", "privacy.unlisted.long": "Не показывать в лентах", "privacy.unlisted.short": "Скрытый", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}д", "relative_time.hours": "{number}ч", "relative_time.just_now": "только что", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index c38bfd3c6..465976aa5 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Nahrávam...", "media_gallery.toggle_visible": "Zapnúť/Vypnúť viditeľnosť", "missing_indicator.label": "Nenájdené", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Hide notifications from this user?", "navigation_bar.blocks": "Blokovaní používatelia", "navigation_bar.community_timeline": "Lokálna časová os", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "Domovská časová os zobrazí správy od ľudí ktorých sleduješ.", "onboarding.page_four.notifications": "Stĺpec s notifikáciami zobrazí keď budeš s niekým komunikovať.", "onboarding.page_one.federation": "Mastodon je sieť nezávislých serverov spojením ktorých vzniká jedna veľká federovaná sociálna sieť.", - "onboarding.page_one.handle": "Ty si na {domain}, takže tvoje celý nickname je {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Vitajte v Mastodon!", "onboarding.page_six.admin": "Správca tohto servera je {admin}.", "onboarding.page_six.almost_done": "Takmer hotovo...", @@ -197,6 +199,8 @@ "privacy.public.short": "Verejne", "privacy.unlisted.long": "Neposielať do verejných časových osí", "privacy.unlisted.short": "Verejne mimo osí", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "now", diff --git a/app/javascript/mastodon/locales/sr-Latn.json b/app/javascript/mastodon/locales/sr-Latn.json index 88631e332..cd48967cb 100644 --- a/app/javascript/mastodon/locales/sr-Latn.json +++ b/app/javascript/mastodon/locales/sr-Latn.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Učitavam...", "media_gallery.toggle_visible": "Uključi/isključi vidljivost", "missing_indicator.label": "Nije pronađeno", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Sakrij obaveštenja od ovog korisnika?", "navigation_bar.blocks": "Blokirani korisnici", "navigation_bar.community_timeline": "Lokalna lajna", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "Početna lajna prikazuje statuse ljudi koje Vi pratite.", "onboarding.page_four.notifications": "Kolona sa obaveštenjima Vam prikazuje kada neko priča sa Vama.", "onboarding.page_one.federation": "Mastodont je mreža nezavisnih servera koji se uvezuju da naprave jednu veću društvenu mrežu. Ove servere zovemo instancama.", - "onboarding.page_one.handle": "Vi ste na domenu {domain}, pa je Vaša puna identifikacija {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Dobrodošli na Mastodont!", "onboarding.page_six.admin": "Administrator Vaše instance je {admin}.", "onboarding.page_six.almost_done": "Još malo, pa gotovo...", @@ -197,6 +199,8 @@ "privacy.public.short": "Javno", "privacy.unlisted.long": "Ne objavljuj na javnim lajnama", "privacy.unlisted.short": "Neizlistano", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "sada", diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json index e65c02ab7..595a70ea6 100644 --- a/app/javascript/mastodon/locales/sr.json +++ b/app/javascript/mastodon/locales/sr.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Учитавам...", "media_gallery.toggle_visible": "Укључи/искључи видљивост", "missing_indicator.label": "Није пронађено", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Сакриј обавештења од овог корисника?", "navigation_bar.blocks": "Блокирани корисници", "navigation_bar.community_timeline": "Локална лајна", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "Почетна лајна приказује статусе људи које Ви пратите.", "onboarding.page_four.notifications": "Колона са обавештењима Вам приказује када неко прича са Вама.", "onboarding.page_one.federation": "Мастодонт је мрежа независних сервера који се увезују да направе једну већу друштвену мрежу. Ове сервере зовемо инстанцама.", - "onboarding.page_one.handle": "Ви сте на домену {domain}, па је Ваша пуна идентификација {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Добродошли на Мастодонт!", "onboarding.page_six.admin": "Администратор Ваше инстанце је {admin}.", "onboarding.page_six.almost_done": "Још мало, па готово...", @@ -197,6 +199,8 @@ "privacy.public.short": "Јавно", "privacy.unlisted.long": "Не објављуј на јавним лајнама", "privacy.unlisted.short": "Неизлистано", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "сада", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index edfa9b8c2..4e3175306 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Laddar...", "media_gallery.toggle_visible": "Växla synlighet", "missing_indicator.label": "Hittades inte", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Hide notifications from this user?", "navigation_bar.blocks": "Blockerade användare", "navigation_bar.community_timeline": "Lokal tidslinje", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "Hemmatidslinjen visar inlägg från personer du följer.", "onboarding.page_four.notifications": "Meddelandekolumnen visar när någon interagerar med dig.", "onboarding.page_one.federation": "Mastodon är ett nätverk av oberoende servrar som ansluter för att skapa ett större socialt nätverk. Vi kallar dessa servrar instanser.", - "onboarding.page_one.handle": "Du är på {domain}, så din fulla hantering är {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Välkommen till Mastodon!", "onboarding.page_six.admin": "Din instansadmin är {admin}.", "onboarding.page_six.almost_done": "Snart klart...", @@ -197,6 +199,8 @@ "privacy.public.short": "Publik", "privacy.unlisted.long": "Skicka inte till publik tidslinje", "privacy.unlisted.short": "Olistad", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "now", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index 06323ebfc..740fb80e7 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Loading...", "media_gallery.toggle_visible": "Toggle visibility", "missing_indicator.label": "Not found", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Hide notifications from this user?", "navigation_bar.blocks": "Blocked users", "navigation_bar.community_timeline": "Local timeline", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "The home timeline shows posts from people you follow.", "onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.", "onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.", - "onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Welcome to Mastodon!", "onboarding.page_six.admin": "Your instance's admin is {admin}.", "onboarding.page_six.almost_done": "Almost done...", @@ -197,6 +199,8 @@ "privacy.public.short": "Public", "privacy.unlisted.long": "Do not post to public timelines", "privacy.unlisted.short": "Unlisted", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "now", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index ce6434ca6..8805e52f4 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Yükleniyor...", "media_gallery.toggle_visible": "Görünürlüğü değiştir", "missing_indicator.label": "Bulunamadı", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Hide notifications from this user?", "navigation_bar.blocks": "Engellenen kullanıcılar", "navigation_bar.community_timeline": "Yerel zaman tüneli", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "Takip ettiğiniz insanlardan gelen gönderileri gosteren zaman tünelidir", "onboarding.page_four.notifications": "Herkimse sizinle iletişime geçtiğinde gelen bildirimleri gösterir.", "onboarding.page_one.federation": "Mastodon, geniş bir sosyal ağ kurmak için birleşen bağımsız sunuculardan oluşan bir ağdır.", - "onboarding.page_one.handle": "{domain} sunucundasınız, bu yüzden tüm kontrol {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Mastodon'a hoş geldiniz.", "onboarding.page_six.admin": "{admin}, şu anda bulunduğunuz sunucunun yöneticisidir.", "onboarding.page_six.almost_done": "Neredeyse tamam...", @@ -197,6 +199,8 @@ "privacy.public.short": "Herkese açık", "privacy.unlisted.long": "Herkese açık zaman tüneline gönderme", "privacy.unlisted.short": "Listelenmemiş", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "now", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index 46d22ac83..2cdaba0ac 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -139,6 +139,7 @@ "loading_indicator.label": "Завантаження...", "media_gallery.toggle_visible": "Показати/приховати", "missing_indicator.label": "Не знайдено", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Hide notifications from this user?", "navigation_bar.blocks": "Заблоковані користувачі", "navigation_bar.community_timeline": "Локальна стрічка", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "Домашня стрічка показує пости користувачів, на яких Ви підписані.", "onboarding.page_four.notifications": "Колонка сповіщень показує моменти, коли хтось звертається до Вас.", "onboarding.page_one.federation": "Mastodon - це мережа незалежних серверів, які разом образовують єдину соціальну мережу. Ми называємо ці сервери інстанціями.", - "onboarding.page_one.handle": "Ви знаходитесь на домені {domain}, тому Ваш повний нік - {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "Ласкаво просимо до Mastodon!", "onboarding.page_six.admin": "Адміністратором Вашої інстанції є {admin}.", "onboarding.page_six.almost_done": "Майже готово...", @@ -197,6 +199,8 @@ "privacy.public.short": "Публічний", "privacy.unlisted.long": "Не показувати у публічних стрічках", "privacy.unlisted.short": "Прихований", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "now", diff --git a/app/javascript/mastodon/locales/whitelist_hy.json b/app/javascript/mastodon/locales/whitelist_hy.json new file mode 100644 index 000000000..0d4f101c7 --- /dev/null +++ b/app/javascript/mastodon/locales/whitelist_hy.json @@ -0,0 +1,2 @@ +[ +] diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json index 7745da622..0a3ae423d 100644 --- a/app/javascript/mastodon/locales/zh-HK.json +++ b/app/javascript/mastodon/locales/zh-HK.json @@ -139,6 +139,7 @@ "loading_indicator.label": "載入中...", "media_gallery.toggle_visible": "打開或關上", "missing_indicator.label": "找不到內容", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Hide notifications from this user?", "navigation_bar.blocks": "被你封鎖的用戶", "navigation_bar.community_timeline": "本站時間軸", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "「主頁」顯示你所關注用戶的文章", "onboarding.page_four.notifications": "「通知」欄顯示你和其他人的互動。", "onboarding.page_one.federation": "Mastodon(萬象社交)是由一批獨立網站組成的龐大網絡,我們將這些獨立又互連網站稱為「服務站」(instance)", - "onboarding.page_one.handle": "你的帳戶在 {domain} 上面,由 {handle} 代理", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "歡迎使用 Mastodon(萬象社交)", "onboarding.page_six.admin": "你服務站的管理員是{admin}", "onboarding.page_six.almost_done": "差不多了……", @@ -197,6 +199,8 @@ "privacy.public.short": "公共", "privacy.unlisted.long": "公開,但不在公共時間軸顯示", "privacy.unlisted.short": "公開", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "now", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index 65b174ab5..1201fe3c7 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -139,6 +139,7 @@ "loading_indicator.label": "讀取中...", "media_gallery.toggle_visible": "切換可見性", "missing_indicator.label": "找不到", + "missing_indicator.sublabel": "This resource could not be found", "mute_modal.hide_notifications": "Hide notifications from this user?", "navigation_bar.blocks": "封鎖的使用者", "navigation_bar.community_timeline": "本地時間軸", @@ -174,7 +175,8 @@ "onboarding.page_four.home": "家時間軸顯示所有你關注的人的貼文。", "onboarding.page_four.notifications": "通知欄顯示別人和你的互動。", "onboarding.page_one.federation": "Mastodon 是由獨立的伺服器連結起來,形成的大社群網路。我們把這些伺服器稱為副本。", - "onboarding.page_one.handle": "你在 {domain} 上,所以你的帳號全名是 {handle}", + "onboarding.page_one.full_handle": "Your full handle", + "onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.", "onboarding.page_one.welcome": "歡迎來到 Mastodon !", "onboarding.page_six.admin": "你的副本的管理員是 {admin} 。", "onboarding.page_six.almost_done": "快好了…", @@ -197,6 +199,8 @@ "privacy.public.short": "公開貼", "privacy.unlisted.long": "不要貼到公開時間軸", "privacy.unlisted.short": "不列出來", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", "relative_time.days": "{number}d", "relative_time.hours": "{number}h", "relative_time.just_now": "now", diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 3eb941a23..b023b208d 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -2393,7 +2393,6 @@ .column-header { display: flex; - padding: 15px; font-size: 16px; background: lighten($ui-base-color, 4%); flex: 0 0 auto; @@ -2408,7 +2407,7 @@ flex: auto; margin: 0; border: none; - padding: 0; + padding: 15px; color: inherit; background: transparent; font: inherit; @@ -2433,7 +2432,6 @@ .column-header__buttons { height: 48px; display: flex; - margin: -15px; margin-left: 0; } diff --git a/app/models/account.rb b/app/models/account.rb index 6df9668d5..1abd49b1e 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -165,7 +165,7 @@ class Account < ApplicationRecord def refresh! return if local? - ResolveRemoteAccountService.new.call(acct) + ResolveAccountService.new.call(acct) end def unsuspend! diff --git a/app/models/form/migration.rb b/app/models/form/migration.rb index b74987337..c2a8655e1 100644 --- a/app/models/form/migration.rb +++ b/app/models/form/migration.rb @@ -20,6 +20,6 @@ class Form::Migration private def set_account - self.account = (ResolveRemoteAccountService.new.call(acct) if account.nil? && acct.present?) + self.account = (ResolveAccountService.new.call(acct) if account.nil? && acct.present?) end end diff --git a/app/models/user.rb b/app/models/user.rb index 3cf9900bd..603b72e2b 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -129,7 +129,7 @@ class User < ApplicationRecord new_user = !confirmed? super - update_statistics! if new_user + prepare_new_user! if new_user end def confirm! @@ -137,7 +137,12 @@ class User < ApplicationRecord skip_confirmation! save! - update_statistics! if new_user + prepare_new_user! if new_user + end + + def update_tracked_fields!(request) + super + prepare_returning_user! end def promote! @@ -220,9 +225,23 @@ class User < ApplicationRecord filtered_languages.reject!(&:blank?) end - def update_statistics! + def prepare_new_user! BootstrapTimelineWorker.perform_async(account_id) ActivityTracker.increment('activity:accounts:local') UserMailer.welcome(self).deliver_later end + + def prepare_returning_user! + ActivityTracker.record('activity:logins', id) + regenerate_feed! if needs_feed_update? + end + + def regenerate_feed! + Redis.current.setnx("account:#{account_id}:regeneration", true) && Redis.current.expire("account:#{account_id}:regeneration", 1.day.seconds) + RegenerationWorker.perform_async(account_id) + end + + def needs_feed_update? + last_sign_in_at < ACTIVE_DURATION.ago + end end diff --git a/app/services/account_search_service.rb b/app/services/account_search_service.rb index 3be110665..3860a9cbd 100644 --- a/app/services/account_search_service.rb +++ b/app/services/account_search_service.rb @@ -18,7 +18,7 @@ class AccountSearchService < BaseService return [] if query_blank_or_hashtag? || limit < 1 if resolving_non_matching_remote_account? - [ResolveRemoteAccountService.new.call("#{query_username}@#{query_domain}")].compact + [ResolveAccountService.new.call("#{query_username}@#{query_domain}")].compact else search_results_and_exact_match.compact.uniq.slice(0, limit) end diff --git a/app/services/concerns/author_extractor.rb b/app/services/concerns/author_extractor.rb index c2366188a..1e00eb803 100644 --- a/app/services/concerns/author_extractor.rb +++ b/app/services/concerns/author_extractor.rb @@ -18,6 +18,6 @@ module AuthorExtractor acct = "#{username}@#{domain}" end - ResolveRemoteAccountService.new.call(acct, update_profile) + ResolveAccountService.new.call(acct, update_profile) end end diff --git a/app/services/follow_service.rb b/app/services/follow_service.rb index ac0207a0a..60a389afd 100644 --- a/app/services/follow_service.rb +++ b/app/services/follow_service.rb @@ -9,7 +9,7 @@ class FollowService < BaseService # @param [true, false, nil] reblogs Whether or not to show reblogs, defaults to true def call(source_account, uri, reblogs: nil) reblogs = true if reblogs.nil? - target_account = uri.is_a?(Account) ? uri : ResolveRemoteAccountService.new.call(uri) + target_account = uri.is_a?(Account) ? uri : ResolveAccountService.new.call(uri) raise ActiveRecord::RecordNotFound if target_account.nil? || target_account.id == source_account.id || target_account.suspended? raise Mastodon::NotPermittedError if target_account.blocking?(source_account) || source_account.blocking?(target_account) diff --git a/app/services/process_mentions_service.rb b/app/services/process_mentions_service.rb index 46401f298..8e285e1f7 100644 --- a/app/services/process_mentions_service.rb +++ b/app/services/process_mentions_service.rb @@ -16,7 +16,7 @@ class ProcessMentionsService < BaseService if mention_undeliverable?(status, mentioned_account) begin - mentioned_account = resolve_remote_account_service.call($1) + mentioned_account = resolve_account_service.call($1) rescue Goldfinger::Error, HTTP::Error mentioned_account = nil end @@ -63,7 +63,7 @@ class ProcessMentionsService < BaseService ).as_json).sign!(status.account)) end - def resolve_remote_account_service - ResolveRemoteAccountService.new + def resolve_account_service + ResolveAccountService.new end end diff --git a/app/services/resolve_remote_account_service.rb b/app/services/resolve_account_service.rb index d7d0be210..fd6d30605 100644 --- a/app/services/resolve_remote_account_service.rb +++ b/app/services/resolve_account_service.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class ResolveRemoteAccountService < BaseService +class ResolveAccountService < BaseService include OStatus2::MagicKey include JsonLdHelper diff --git a/app/services/fetch_remote_resource_service.rb b/app/services/resolve_url_service.rb index 6d40796f2..1f2b24524 100644 --- a/app/services/fetch_remote_resource_service.rb +++ b/app/services/resolve_url_service.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class FetchRemoteResourceService < BaseService +class ResolveURLService < BaseService include JsonLdHelper attr_reader :url diff --git a/app/services/search_service.rb b/app/services/search_service.rb index 85ad94463..5f763b8f7 100644 --- a/app/services/search_service.rb +++ b/app/services/search_service.rb @@ -8,7 +8,7 @@ class SearchService < BaseService default_results.tap do |results| if url_query? - results.merge!(remote_resource_results) unless remote_resource.nil? + results.merge!(url_resource_results) unless url_resource.nil? elsif query.present? results[:accounts] = AccountSearchService.new.call(query, limit, account, resolve: resolve) results[:hashtags] = Tag.search_for(query.gsub(/\A#/, ''), limit) unless query.start_with?('@') @@ -24,15 +24,15 @@ class SearchService < BaseService query =~ /\Ahttps?:\/\// end - def remote_resource_results - { remote_resource_symbol => [remote_resource] } + def url_resource_results + { url_resource_symbol => [url_resource] } end - def remote_resource - @_remote_resource ||= FetchRemoteResourceService.new.call(query) + def url_resource + @_url_resource ||= ResolveURLService.new.call(query) end - def remote_resource_symbol - remote_resource.class.name.downcase.pluralize.to_sym + def url_resource_symbol + url_resource.class.name.downcase.pluralize.to_sym end end diff --git a/app/views/admin/accounts/show.html.haml b/app/views/admin/accounts/show.html.haml index 5f5d0995c..dbbf5fc09 100644 --- a/app/views/admin/accounts/show.html.haml +++ b/app/views/admin/accounts/show.html.haml @@ -18,7 +18,10 @@ %tr %th= t('admin.accounts.role') %td - = t("admin.accounts.roles.#{@account.user&.role}") + - if @account.user.nil? + = t("admin.accounts.moderation.suspended") + - else + = t("admin.accounts.roles.#{@account.user&.role}") = table_link_to 'angle-double-up', t('admin.accounts.promote'), promote_admin_account_role_path(@account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:promote, @account.user) = table_link_to 'angle-double-down', t('admin.accounts.demote'), demote_admin_account_role_path(@account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:demote, @account.user) %tr diff --git a/app/views/authorize_follows/success.html.haml b/app/views/authorize_follows/success.html.haml index f0b495689..63ff3bcf1 100644 --- a/app/views/authorize_follows/success.html.haml +++ b/app/views/authorize_follows/success.html.haml @@ -12,5 +12,5 @@ .post-follow-actions %div= link_to t('authorize_follow.post_follow.web'), web_url("accounts/#{@account.id}"), class: 'button button--block' - %div= link_to t('authorize_follow.post_follow.return'), @account.url, class: 'button button--block' + %div= link_to t('authorize_follow.post_follow.return'), TagManager.instance.url_for(@account), class: 'button button--block' %div= t('authorize_follow.post_follow.close') diff --git a/app/workers/import/relationship_worker.rb b/app/workers/import/relationship_worker.rb index ed4c962c1..1dd8bf8fb 100644 --- a/app/workers/import/relationship_worker.rb +++ b/app/workers/import/relationship_worker.rb @@ -7,7 +7,7 @@ class Import::RelationshipWorker def perform(account_id, target_account_uri, relationship) from_account = Account.find(account_id) - target_account = ResolveRemoteAccountService.new.call(target_account_uri) + target_account = ResolveAccountService.new.call(target_account_uri) return if target_account.nil? diff --git a/app/workers/resolve_remote_account_worker.rb b/app/workers/resolve_account_worker.rb index 5dd84ccb6..cd7c4d7dd 100644 --- a/app/workers/resolve_remote_account_worker.rb +++ b/app/workers/resolve_account_worker.rb @@ -1,11 +1,11 @@ # frozen_string_literal: true -class ResolveRemoteAccountWorker +class ResolveAccountWorker include Sidekiq::Worker sidekiq_options queue: 'pull', unique: :until_executed def perform(uri) - ResolveRemoteAccountService.new.call(uri) + ResolveAccountService.new.call(uri) end end |