);
- 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();
- 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 fdf9aab1a5..e8bdd8054f 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 = ;
+ if (icon) {
+ iconElement = ;
}
return (
-
- {icon}
- {type}
-
+
+
+
);
}
diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json
index 795b27707a..f43d7ca006 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 c0a24dacb3..8188ae2c07 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 3eb0e3d26c..a37f38fd1e 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 9b6c857e4f..4e6b721da4 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 acf051de5d..a27f17b429 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"
@@ -255,6 +259,19 @@
],
"path": "app/javascript/mastodon/components/status_content.json"
},
+ {
+ "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": [
{
@@ -1213,6 +1230,15 @@
],
"path": "app/javascript/mastodon/features/public_timeline/index.json"
},
+ {
+ "descriptors": [
+ {
+ "defaultMessage": "A look inside...",
+ "id": "standalone.public_title"
+ }
+ ],
+ "path": "app/javascript/mastodon/features/standalone/community_timeline/index.json"
+ },
{
"descriptors": [
{
@@ -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 ac25a57a2c..028f9aefd0 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 eab8c09a6f..694b35ad28 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 8a8110b1e1..cc131fba1f 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 8c52ffdb4b..6846da66d5 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 74ab699c4a..eb81e7eb48 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 e77107fc52..66592eecd6 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 77f6b82ab3..562bc05931 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 2eb1861738..d6665295fc 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 00dea67f72..c49ae160ff 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 e1048519b3..0ed43ae6b9 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 152f0c5250..f46db5b001 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 0942bc33c1..6edf855d34 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 cfd8e299f5..7aa7cb1448 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 e14fa410c1..61467df16d 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 19885056c0..beb5221896 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 31e5e377ea..18d8a80a7c 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 6dc7292f1e..060aa229ec 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 5fbc51ff38..6bd57c2221 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 6ebd40f5bc..104ba48c5f 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 d36b1e6ed3..b45ab5ceec 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 381b80639b..d702024139 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 f566f551b3..97a46b9a17 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 0fec70df09..29dbe84c57 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 c38bfd3c6f..465976aa50 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 88631e332d..cd48967cba 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 e65c02ab7f..595a70ea6d 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 edfa9b8c23..4e31753062 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 06323ebfce..740fb80e71 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 ce6434ca68..8805e52f45 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 46d22ac833..2cdaba0ac1 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 0000000000..0d4f101c7a
--- /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 7745da622c..0a3ae423d5 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 65b174ab5e..1201fe3c71 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 3eb941a238..b023b208d0 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 6df9668d5a..1abd49b1e4 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 b749873376..c2a8655e13 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 3cf9900bd7..603b72e2bd 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 3be1106654..3860a9cbd0 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 c2366188ab..1e00eb803b 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 ac0207a0ab..60a389afd3 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 46401f298a..8e285e1f73 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
similarity index 99%
rename from app/services/resolve_remote_account_service.rb
rename to app/services/resolve_account_service.rb
index d7d0be2105..fd6d306056 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
similarity index 97%
rename from app/services/fetch_remote_resource_service.rb
rename to app/services/resolve_url_service.rb
index 6d40796f24..1f2b24524a 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 85ad94463b..5f763b8f77 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 5f5d0995cd..dbbf5fc092 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 f0b495689b..63ff3bcf13 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 ed4c962c19..1dd8bf8fbb 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
similarity index 64%
rename from app/workers/resolve_remote_account_worker.rb
rename to app/workers/resolve_account_worker.rb
index 5dd84ccb6b..cd7c4d7dda 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
diff --git a/config/locales/ca.yml b/config/locales/ca.yml
index 1092da38d5..12aa9bf9f6 100644
--- a/config/locales/ca.yml
+++ b/config/locales/ca.yml
@@ -338,9 +338,12 @@ ca:
body: "%{reporter} ha informat de %{target}"
subject: Nou informe per a %{instance} (#%{id})
application_mailer:
+ notification_preferences: Canviar preferències de correu
salutation: "%{name},"
settings: 'Canvia les preferències de correu: %{link}'
view: 'Vista:'
+ view_profile: Veure perfil
+ view_status: Veure estat
applications:
created: L'aplicació s'ha creat correctament
destroyed: L'aplicació s'ha suprimit correctament
@@ -481,29 +484,38 @@ ca:
title: Moderació
notification_mailer:
digest:
- body: 'Un resum del que et vas perdre en %{instance} desde la darrera visita el %{since}:'
+ action: Veure totes les notificacions
+ body: Un resum del que et vas perdre en %{instance} desde la darrera visita el %{since}
mention: "%{name} t'ha mencionat en:"
new_followers_summary:
- one: Visca!. Algú més t´ha començat a seguir!
- other: Genial!. Et segueixen %{count} persones més!
+ one: A més, has adquirit un nou seguidor durant la teva absència! Visca!
+ other: A més, has adquirit %{count} nous seguidors mentre estaves fora! Increïble!
subject:
one: "1 notificació nova des de la darrera visita \U0001F418"
other: "%{count} notificacions noves des de la darrera visita \U0001F418"
+ title: Durant la teva absència…
favourite:
body: "%{name} ha marcat com a favorit el teu estat:"
subject: "%{name} ha marcat com a favorit el teu estat"
+ title: Favorit nou
follow:
body: "%{name} t'està seguint!"
subject: "%{name} t'està seguint"
+ title: Seguidor nou
follow_request:
+ action: Gestiona les sol·licituds de seguiment
body: "%{name} ha sol·licitat seguir-te"
subject: 'Seguidor pendent: %{name}'
+ title: Nova sol·licitud de seguiment
mention:
+ action: Respon
body: "%{name} t'ha mencionat en:"
subject: "%{name} t'ha mencionat"
+ title: Menció nova
reblog:
body: "%{name} ha impulsat el teu estat:"
subject: "%{name} ha retootejat el teu estat"
+ title: Nou impuls
number:
human:
decimal_units:
@@ -619,7 +631,7 @@ ca:
stream_entries:
click_to_show: Clic per mostrar
pinned: Toot fixat
- reblogged: impulsat
+ reblogged: ha impulsat
sensitive_content: Contingut sensible
terms:
body_html: |
@@ -710,6 +722,25 @@ ca:
recovery_instructions_html: Si mai perds l'accéss al teu telèfon pots utilitzar un dels codis de recuperació a continuació per a recuperar l'accés al teu compte. Cal mantenir els codis de recuperació en lloc segur. Per exemple, imprimint-los i guardar-los amb altres documents importants.
setup: Establir
wrong_code: El codi introduït no és vàlid! És correcta l'hora del servidor i del dispositiu?
+ user_mailer:
+ welcome:
+ edit_profile_action: Configurar perfil
+ edit_profile_step: Pots personalitzar el teu perfil penjant un avatar, un encapçalament, canviant el teu nom de visualització i molt més. Si prefereixes revisar els seguidors nous abans de que et puguin seguir, pots bloquejar el teu compte.
+ explanation: Aquests són alguns consells per començar
+ final_action: Comença a publicar
+ final_step: 'Comença a publicar! Fins i tot sense seguidors, els altres poden veure els teus missatges públics, per exemple, a la línia de temps local i a les etiquetes ("hashtags"). És possible que vulguis presentar-te amb l''etiqueta #introductions.'
+ full_handle: El teu nom d'usuari sencer
+ full_handle_hint: Això és el que has de dir als teus amics perquè puguin enviar-te missatges o seguir-te des d'una altra instància.
+ review_preferences_action: Canviar preferències
+ review_preferences_step: Assegura't d'establir les teves preferències, com ara els correus electrònics que vols rebre o el nivell de privadesa per defecte que t'agradaria que tinguin les teves entrades. Si no tens malaltia de moviment, pots optar per habilitar la reproducció automàtica de GIF.
+ subject: Benvingut/da a Mastodon
+ tip_bridge_html: Si vens de Twitter, pots trobar els teus amics a Mastodon mitjançant l'aplicació bridge . Només funciona si també ells usen aquesta aplicació pont!
+ tip_federated_timeline: La línia de temps federada és el cabal principal de la xarxa Mastodon. Però només inclou les persones a les quals els teus veïns estan subscrits, de manera que no està complet.
+ tip_following: Per defecte segueixes als administradors del servidor. Per trobar més persones interessants, consulta les línies de temps local i federada.
+ tip_local_timeline: La línia de temps local és la vista del flux de publicacions dels usuaris de %{instance}. Aquests usuaris són els teus veïns més propers!
+ tip_mobile_webapp: Si el teu navegador del mòbil t'ofereix afegir Mastodon a la teva pantalla d'inici, podràs rebre notificacions "push". Es comporta com una aplicació nativa en molts aspectes!
+ tips: Consells
+ title: Benvingut a bord, %{name}!
users:
invalid_email: L'adreça de correu no és correcta
invalid_otp_token: El codi de dos factors no és correcte
diff --git a/config/locales/devise.fr.yml b/config/locales/devise.fr.yml
index a9817044d8..7e10f83b4b 100644
--- a/config/locales/devise.fr.yml
+++ b/config/locales/devise.fr.yml
@@ -6,7 +6,7 @@ fr:
send_instructions: Vous allez recevoir les instructions nécessaires à la confirmation de votre compte dans quelques minutes. Veuillez, dans le cas où vous ne recevriez pas ce message, vérifier votre dossier d’indésirables.
send_paranoid_instructions: Si votre adresse électronique existe dans notre base de données, vous allez bientôt recevoir un courriel contenant les instructions de confirmation de votre compte. Veuillez, dans le cas où vous ne recevriez pas ce message, vérifier votre dossier d’indésirables.
failure:
- already_authenticated: Vous êtes déjà connecté⋅e
+ already_authenticated: Vous êtes déjà connecté⋅e.
inactive: Votre compte n’est pas encore activé.
invalid: Courriel ou mot de passe incorrect.
last_attempt: Vous avez droit à une tentative avant que votre compte ne soit verrouillé.
@@ -17,11 +17,32 @@ fr:
unconfirmed: Vous devez valider votre compte pour continuer.
mailer:
confirmation_instructions:
+ action: Vérifier l'adresse courriel
+ explanation: Vous avez créé un compte sur %{host} avec cette adresse courriel. Vous êtes à un clic de l'activer. Si ce n'était pas vous, veuillez ignorer ce courriel.
+ extra_html: S'il vous plaît, consultez également 1les règles de l'instance 2 et 3nos termes de service 4.
subject: Merci de confirmer votre inscription sur %{instance}
+ title: Vérifier l'adresse courriel
+ email_changed:
+ explanation: 'L''adresse courriel de votre compte est en cours de modification pour devenir :'
+ extra: Si vous n'avez pas changé votre adresse courriel, il est probable que quelqu'un ait eu accès à votre compte. Veuillez changer votre mot de passe immédiatement ou contacter l'administrateur de l'instance si vous êtes bloqué hors de votre compte.
+ subject: 'Mastodon : Courriel modifié'
+ title: Nouvelle adresse courriel
password_change:
- subject: Votre mot de passe a été modifié avec succès.
+ explanation: Le mot de passe de votre compte a été changé.
+ extra: Si vous n'avez pas changé votre mot de passe, il est probable que quelqu'un ait eu accès à votre compte. Veuillez changer votre mot de passe immédiatement ou contacter l'administrateur de l'instance si vous êtes bloqué hors de votre compte.
+ subject: Votre mot de passe a été modifié avec succès
+ title: Mot de passe modifié
+ reconfirmation_instructions:
+ explanation: Confirmez la nouvelle adresse pour changer votre courriel.
+ extra: Si ce changement n' a pas été initié par vous, veuillez ignorer ce courriel. L'adresse courriel du compte Mastodon ne changera pas tant que vous n'aurez pas cliqué sur le lien ci-dessus.
+ subject: 'Mastodon : Confirmez l''email pour %{instance}'
+ title: Vérifier l'adresse courriel
reset_password_instructions:
+ action: Modifier le mot de passe
+ explanation: Vous avez demandé un nouveau mot de passe pour votre compte.
+ extra: Si vous ne l'avez pas demandé, veuillez ignorer ce courriel. Votre mot de passe ne changera pas tant que vous n'aurez pas cliqué sur le lien ci-dessus et que vous n'en aurez pas créé un nouveau.
subject: Instructions pour changer votre mot de passe
+ title: Réinitialisation du mot de passe
unlock_instructions:
subject: Instructions pour déverrouiller votre compte
omniauth_callbacks:
@@ -31,7 +52,7 @@ fr:
no_token: Vous ne pouvez accéder à cette page sans passer par un courriel de réinitialisation de mot de passe. Si vous êtes passé⋅e par un courriel de ce type, assurez-vous d’utiliser l’URL complète.
send_instructions: Vous allez recevoir les instructions de réinitialisation du mot de passe dans quelques instants. Veuillez, dans le cas où vous ne recevriez pas ce message, vérifier votre dossier d’indésirables.
send_paranoid_instructions: Si votre adresse électronique existe dans notre base de données, vous allez recevoir un lien de réinitialisation par courriel. Veuillez, dans le cas où vous ne recevriez pas ce message, vérifier votre dossier d’indésirables.
- updated: Votre mot de passe a été modifié avec succès, vous êtes maintenant connecté⋅e
+ updated: Votre mot de passe a été modifié avec succès, vous êtes maintenant connecté⋅e.
updated_not_active: Votre mot de passe a été modifié avec succès.
registrations:
destroyed: Votre compte a été supprimé avec succès. Nous espérons vous revoir bientôt.
@@ -42,16 +63,16 @@ fr:
update_needs_confirmation: Votre compte a bien été mis à jour mais nous devons vérifier votre nouvelle adresse courriel. Merci de vérifier vos courriels et de cliquer sur le lien de confirmation pour finaliser la validation de votre nouvelle adresse.
updated: Votre compte a été modifié avec succès.
sessions:
- already_signed_out: Déconnecté.
- signed_in: Connecté.
- signed_out: Déconnecté.
+ already_signed_out: Déconnecté·e.
+ signed_in: Connecté·e.
+ signed_out: Déconnecté·e.
unlocks:
send_instructions: Vous allez recevoir les instructions nécessaires au déverrouillage de votre compte dans quelques instants. Veuillez, dans le cas où vous ne recevriez pas ce message, vérifier votre dossier d’indésirables.
send_paranoid_instructions: Si votre compte existe, vous allez bientôt recevoir un courriel contenant les instructions pour le déverrouiller. Veuillez, dans le cas où vous ne recevriez pas ce message, vérifier votre dossier d’indésirables.
unlocked: Votre compte a été déverrouillé avec succès, vous êtes maintenant connecté⋅e.
errors:
messages:
- already_confirmed: a déjà été validé⋅e, veuillez essayer de vous connecter
+ already_confirmed: a déjà été validée, veuillez essayer de vous connecter
confirmation_period_expired: à confirmer dans les %{period}, merci de faire une nouvelle demande
expired: a expiré, merci d’en faire une nouvelle demande
not_found: n’a pas été trouvé⋅e
diff --git a/config/locales/devise.gl.yml b/config/locales/devise.gl.yml
index c0fc53834a..a8fe6a2a5b 100644
--- a/config/locales/devise.gl.yml
+++ b/config/locales/devise.gl.yml
@@ -17,15 +17,32 @@ gl:
unconfirmed: Debe confirmar o seu enderezo de correo antes de continuar.
mailer:
confirmation_instructions:
+ action: Validar enderezo de correo-e
+ explanation: Creou unha conta en %{host} con este enderezo de correo. Está a punto de activalo, si non foi vostede quen fixo a petición, por favor ignore este correo.
+ extra_html: Por favor, lea tamén as normas da instancia e os termos do servizo.
subject: 'Mastodon: Instruccións de confirmación para %{instance}'
+ title: Verificar enderezo de correo-e
email_changed:
+ explanation: 'O seu enderezo de correo para esta conta foi cambiado a:'
+ extra: Si non fixo a petición de cambio de correo-e é probable que alguén obtivese acceso a súa conta. Por favor, cambie o contrasinal inmediatamente ou contacte coa administración da instancia si non ten acceso a súa conta.
subject: 'Mastodon: email cambiado'
+ title: Novo enderezo de correo
password_change:
+ explanation: Cambiouse o contrasinal da súa conta.
+ extra: Si non cambio o contrasinal, é probable que alguén obtivese acceso a súa conta. Por favor cambie o contrasinal inmediatamente ou contacte coa administración da instancia si non ten acceso a súa conta.
subject: 'Mastodon: contrasinal cambiado'
+ title: Contrainal cambiado
reconfirmation_instructions:
+ explanation: Confirme o novo enderezo para cambiar o correo-e.
+ extra: Si vostede non fixo esta petición, ignore este correo por favor. Este enderezo de correo-e para a conta Mastodon non cambiará ate que acceda a ligazón superior.
subject: 'Mastodon: Confirme email para %{instance}'
+ title: Verificación do enderezo de correo-e
reset_password_instructions:
+ action: Cambiar contrasinal
+ explanation: Solicitou un novo contrasinal para a súa conta.
+ extra: Si non fixo esta solicitude, por favor ignore este correo. O seu contrasinal non cambiará ate que acceda a ligazón superior e cree unha nova.
subject: 'Mastodon: Instruccións para restablecer o contrasinal'
+ title: Restablecer contrasinal
unlock_instructions:
subject: 'Mastodon: Instruccións para desbloquear'
omniauth_callbacks:
diff --git a/config/locales/devise.oc.yml b/config/locales/devise.oc.yml
index de87ac1e26..bd2437f3fc 100644
--- a/config/locales/devise.oc.yml
+++ b/config/locales/devise.oc.yml
@@ -17,28 +17,45 @@ oc:
unconfirmed: Vos cal confirmar vòstra adreça de corrièl abans de contunhar.
mailer:
confirmation_instructions:
- subject: Mercés de confirmar vòstra inscripcion sus %{instance}
+ action: Verificar l’adreça de corrièl
+ explanation: Venètz de crear un compte sus %{host} amb aquesta adreça de corrièl. Vos manca pas qu’un clic per l’activar. S’èra pas vosautre mercés de far pas cas a aqueste messatge.
+ extra_html: Pensatz tanben de gaitar las règlas de l’instància e nòstres tèrmes e condicions d’utilizacion.
+ subject: 'Mastodon : consignas de confirmacion per %{instance}'
+ title: Verificatz l’adreça de corrièl
email_changed:
+ explanation: 'L’adreça per aqueste compte es ara :'
+ extra: S’avètz pas demandat aqueste cambiament d’adreça, poiriá arribar que qualqu’un mai aguèsse agut accès a vòstre compte. Mercés de cambiar sulpic vòstre senhal o de contactar vòstre administrator d’instància se l’accès a vòstre compte vos es barrat.
subject: 'Mastodon : corrièl cambiat'
+ title: Nòva adreça de corrièl
password_change:
+ explanation: Lo senhal per vòstre compte a cambiat.
+ extra: S’avètz pas demandat aqueste cambiament de senhal, poiriá arribar que qualqu’un mai aguèsse agut accès a vòstre compte. Mercés de cambiar sulpic vòstre senhal o de contactar vòstre administrator d’instància se l’accès a vòstre compte vos es barrat.
subject: Mastodon : senhal cambiat
+ title: Senhal cambiat
reconfirmation_instructions:
- subject: 'Mastodon : Confirmatz l’adreça per %{instance}'
+ explanation: Confirmar la nòva adreça per cambiar lo corrièl.
+ extra: S’avètz pas res demandat, fasquètz pas cas a aqueste corrièl. Vòstre corrièl per Mastodon cambiarà pas se clicatz pas lo ligam dessús.
+ subject: 'Mastodon : confirmatz l’adreça per %{instance}'
+ title: Verificatz l’adreça de corrièl
reset_password_instructions:
- subject: Mastodon : instruccions per reïnicializar lo senhal
+ action: Cambiament de senhal
+ explanation: Avètz demandat un nòu senhal per vòstre compte
+ extra: S’avètz pas res demandat, fasquètz pas cas a aqueste corrièl. Vòstre senhal cambiarà pas se clicatz pas lo ligam e que ne causissètz pas un novèl.
+ subject: Mastodon : consignas per reïnicializar lo senhal
+ title: Reïnicializacion del senhal
unlock_instructions:
- subject: Mastodon : instuccions de desblocatge
+ subject: Mastodon : consignas de desblocatge
omniauth_callbacks:
failure: Fracàs al moment de vos autentificar de %{kind} perque "%{reason}".
success: Sètz ben autentificat dempuèi lo compte %{kind}.
passwords:
no_token: Podètz pas accedir a aquesta pagina sens venir d’un corriel de reïnicializacion de senhal. S’es lo cas, mercés de verificar qu’avètz ben utilizat l’URL donada de manièra complèta.
- send_instructions: Recebretz un corrièl amb las instruccions per reĩnicializar vòstre senhal dins una estona. Mercés de verificar tanben vòstre dorsièr de corrièls indesirables.
+ send_instructions: Recebretz un corrièl amb las consignas per reĩnicializar vòstre senhal dins una estona. Mercés de verificar tanben vòstre dorsièr de corrièls indesirables.
send_paranoid_instructions: Se vòstra adreça de corrièl existís dins nòstra basa de donadas, recebretz un ligam per reĩnicializar vòstre senhal dins una estona. Mercés de verificar tanben vòstre dorsièr de corrièls indesirables.
updated: Vòstre senhal es ben estat cambiat. Sètz ara connectat.
updated_not_active: Vòstre senhal es ben estat cambiat.
registrations:
- destroyed: Adiu ! Vòstra inscripcion es estada anullada amb succès. Esperem vos tornar veire lèu.
+ destroyed: Adieu-siatz ! Vòstra inscripcion es estada anullada amb succès. Esperem vos tornar veire lèu.
signed_up: La benvenguda ! Sètz ben marcat al malhum.
signed_up_but_inactive: Sètz ben marcat. Pasmens, avèm pas pogut vos connectar perque vòstre compte es pas encara validat.
signed_up_but_locked: Sètz ben marcat. Pasmens, avèm pas pogut vos connectar perque vòstre compte es pas encara blocat.
@@ -50,8 +67,8 @@ oc:
signed_in: Connectat amb succès.
signed_out: Desconnectat amb succès.
unlocks:
- send_instructions: Recebretz un corrièl amb las instruccions per o desblocar dins una estona. Mercés de verificar tanben vòstre dorsièr de corrièls indesirables.
- send_paranoid_instructions: Se vòstre compte existís recebretz un corrièl amb las instruccions per o desblocar dins una estona. Mercés de verificar tanben vòstre dorsièr de corrièls indesirables.
+ send_instructions: Recebretz un corrièl amb las consignas per o desblocar dins una estona. Mercés de verificar tanben vòstre dorsièr de corrièls indesirables.
+ send_paranoid_instructions: Se vòstre compte existís recebretz un corrièl amb las consignas per o desblocar dins una estona. Mercés de verificar tanben vòstre dorsièr de corrièls indesirables.
unlocked: Vòstre compte es estat desblocat amb succès. Mercés de vos connectar per contunhar.
errors:
messages:
diff --git a/config/locales/devise.pt-BR.yml b/config/locales/devise.pt-BR.yml
index eab86c8029..09e6ed3de4 100644
--- a/config/locales/devise.pt-BR.yml
+++ b/config/locales/devise.pt-BR.yml
@@ -17,15 +17,32 @@ pt-BR:
unconfirmed: Você precisa confirmar o seu endereço de e-mail antes de continuar.
mailer:
confirmation_instructions:
+ action: Verificar endereço de e-mail
+ explanation: Você criou uma conta em %{host} com esse endereço de e-mail. Você está a um clique de ativá-la. Se não foi você, por favor ignore esse e-mail.
+ extra_html: Por favor confira também as regras da instância e nossos termos de serviço.
subject: 'Mastodon: Instruções de confirmação'
+ title: Verifique o endereço de e-mail
email_changed:
+ explanation: 'O e-mail associado à sua conta está sendo mudado para:'
+ extra: Se você não mudou seu e-mail é possível que alguém tenha conseguido acesso à sua conta. Por favor mude sua senha imediatamente ou entre em contato com um administrador da sua instância se você ficou sem acesso à sua conta.
subject: 'Mastodon: Email alterado'
+ title: Novo endereço de e-mail
password_change:
+ explanation: A senha da sua conta foi mudada.
+ extra: Se você não mudou a sua senha, é possível que alguém tenha conseguido acesso à sua conta. Por favor mude sua senha imediatamente ou entre em contato com um administrador da sua instância se você ficou sem acesso à sua conta.
subject: 'Mastodon: Senha modificada'
+ title: A senha mudou
reconfirmation_instructions:
+ explanation: Confirme o seu novo endereço para mudar seu e-mail.
+ extra: Se essa mudança não foi iniciada por você, por favor ignore esse e-mail. O endereço de e-mail para essa conta do Mastodon não irá mudar até que você acesse o link acima.
subject: 'Mastodon: Confirmar emai para %{instance}'
+ title: Verifique o endereço de e-mail
reset_password_instructions:
+ action: Mudar a senha
+ explanation: Você pediu uma nova senha para sua conta.
+ extra: Se você não fez esse pedido, por favor ignore esse e-mail. Sua senha não irá mudar até que você acesse o link acima e crie uma nova.
subject: 'Mastodon: Instruções para mudança de senha'
+ title: Reiniciar a senha
unlock_instructions:
subject: 'Mastodon: Instruções de desbloqueio'
omniauth_callbacks:
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index 09338fdfdf..884fb30e4a 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -265,12 +265,18 @@ fr:
unresolved: Non résolus
view: Voir
settings:
+ activity_api_enabled:
+ desc_html: Nombre de statuts affichés localement, d'utilisateurs actifs et de nouveaux enregistrements dans les registres hebdomadaires
+ title: Publier des statistiques agrégées sur l'activité des utilisateurs
bootstrap_timeline_accounts:
desc_html: Séparez les noms d’utilisateur·ice par des virgules. Ne fonctionne qu’avec des comptes locaux et non-verrouillés. Si laissé vide, tous les administrateur⋅ice⋅s locaux sont sélectionné⋅e⋅s.
title: Abonnements par défaut pour les nouveaux·elles utilisateur·ice·s
contact_information:
email: Entrez une adresse courriel publique
username: Entrez un nom d’utilisateur⋅ice
+ peers_api_enabled:
+ desc_html: Noms des domaines que cette instance a découvert dans le fediverse
+ title: Publier la liste des instances découvertes
registrations:
closed_message:
desc_html: Affiché sur la page d’accueil lorsque les inscriptions sont fermées Vous pouvez utiliser des balises HTML
@@ -332,9 +338,12 @@ fr:
body: "%{reporter} a signalé %{target}"
subject: Nouveau signalement sur %{instance} (#%{id})
application_mailer:
+ notification_preferences: Modifier les préférences de courriel
salutation: "%{name},"
settings: 'Changer les préférences courriel : %{link}'
view: 'Voir :'
+ view_profile: Voir le profil
+ view_status: Afficher le statut
applications:
created: Application créée avec succès
destroyed: Application supprimée avec succès
@@ -475,29 +484,38 @@ fr:
title: Modération
notification_mailer:
digest:
+ action: Voir toutes les notifications
body: 'Voici ce que vous avez raté sur ${instance} depuis votre dernière visite le %{since} :'
mention: "%{name} vous a mentionné⋅e dans :"
new_followers_summary:
one: Vous avez un⋅e nouvel⋅le abonné⋅e ! Youpi !
- other: Vous avez %{count} nouveaux⋅elles abonné⋅e⋅s ! Incroyable !
+ other: Vous avez %{count} nouveaux⋅elles abonné⋅e·s ! Incroyable !
subject:
one: "Une nouvelle notification depuis votre dernière visite \U0001F418"
other: "%{count} nouvelles notifications depuis votre dernière visite \U0001F418"
+ title: Pendant votre absence…
favourite:
body: "%{name} a ajouté votre post à ses favoris :"
subject: "%{name} a ajouté votre post à ses favoris"
+ title: Nouveau favori
follow:
body: "%{name} vous suit !"
subject: "%{name} vous suit"
+ title: Nouvel·le abonné·e
follow_request:
+ action: Gérer les demandes d'abonnement
body: "%{name} a demandé à vous suivre"
subject: 'Abonné⋅es en attente : %{name}'
+ title: Nouvelle demande d'abonnement
mention:
+ action: Répondre
body: "%{name} vous a mentionné⋅e dans :"
subject: "%{name} vous a mentionné·e"
+ title: Nouvelle mention
reblog:
body: "%{name} a partagé votre statut :"
subject: "%{name} a partagé votre statut"
+ title: Nouveau partage
number:
human:
decimal_units:
@@ -533,7 +551,7 @@ fr:
reblog:
title: "%{name} a partagé votre statut"
remote_follow:
- acct: Entrez votre pseudo@instance depuis lequel vous voulez suivre ce⋅tte utilisateur⋅rice
+ acct: Entrez votre pseudo@instance depuis lequel vous voulez suivre cet·te utilisateur⋅ice
missing_resource: L’URL de redirection n’a pas pu être trouvée
proceed: Continuez pour suivre
prompt: 'Vous allez suivre :'
@@ -545,12 +563,14 @@ fr:
blackberry: Blackberry
chrome: Chrome
edge: Microsoft Edge
+ electron: Electron
firefox: Firefox
generic: Navigateur inconnu
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
opera: Opera
+ otter: Autre
phantom_js: PhantomJS
qq: QQ Browser
safari: Safari
@@ -702,6 +722,25 @@ fr:
recovery_instructions_html: Si vous perdez l’accès à votre téléphone, vous pouvez utiliser un des codes de récupération ci-dessous pour retrouver l’accès à votre compte. Conservez les codes de récupération en sécurité. Par exemple, en les imprimant et en les stockant avec vos autres documents importants.
setup: Installer
wrong_code: Les codes entrés sont incorrects ! L’heure du serveur et celle de votre appareil sont-elles correctes ?
+ user_mailer:
+ welcome:
+ edit_profile_action: Configuration du profil
+ edit_profile_step: Vous pouvez personnaliser votre profil en téléchargeant un avatar, une image d'en-tête, en changeant votre pseudo et plus encore. Si vous souhaitez examiner les nouveaux abonnés avant qu'ils ne soient autorisés à vous suivre, vous pouvez verrouiller votre compte.
+ explanation: Voici quelques conseils pour vous aider à démarrer
+ final_action: Commencer à publier
+ final_step: 'Commencez à poster ! Même sans abonné·es, vos messages publics peuvent être vus par d''autres, par exemple sur la chronologie locale et dans les hashtags. Vous pouvez vous présenter sur le hashtag #introductions.'
+ full_handle: Votre pleine maîtrise
+ full_handle_hint: C'est ce que vous diriez à vos amis pour qu'ils puissent vous envoyer un message ou vous suivre à partir d'une autre instance.
+ review_preferences_action: Modifier les préférences
+ review_preferences_step: Assurez-vous de définir vos préférences, telles que les courriels que vous aimeriez recevoir ou le niveau de confidentialité auquel vous aimeriez que vos messages soient soumis par défaut. Si vous n'avez pas le mal des transports, vous pouvez choisir d'activer la lecture automatique GIF.
+ subject: Bienvenue sur Mastodon
+ tip_bridge_html: Si vous venez de Twitter, vous pouvez retrouver vos amis sur Mastodon en utilisant le 1bridge app 2. Cela ne fonctionne que s'ils ont aussi utilisé cette application !
+ tip_federated_timeline: La chronologie fédérée est une vue en direct du réseau Mastodon. Mais elle n'inclut que les personnes auxquelles vos voisin·es sont abonné·es, donc elle n'est pas complète.
+ tip_following: Vous suivez les administrateurs et administratrices de votre serveur par défaut. Pour trouver d'autres personnes intéressantes, consultez les chronologies locales et fédérées.
+ tip_local_timeline: La chronologie locale est une vue des personnes sur %{instance}. Ce sont vos voisines et voisins immédiats !
+ tip_mobile_webapp: Si votre navigateur mobile vous propose d'ajouter Mastodon à votre écran d'accueil, vous pouvez recevoir des notifications push. Il agit comme une application native de bien des façons !
+ tips: Astuces
+ title: Bienvenue à bord, %{name} !
users:
invalid_email: L’adresse courriel est invalide
invalid_otp_token: Le code d’authentification à deux facteurs est invalide
diff --git a/config/locales/gl.yml b/config/locales/gl.yml
index 100e2954ca..40d72cbe4e 100644
--- a/config/locales/gl.yml
+++ b/config/locales/gl.yml
@@ -338,9 +338,12 @@ gl:
body: "%{reporter} informou sobre %{target}"
subject: Novo informe sobre %{instance} (#%{id})
application_mailer:
+ notification_preferences: Cambiar os axustes de correo-e
salutation: "%{name},"
settings: 'Mudar as preferencias de e-mail: %{link}'
view: 'Vista:'
+ view_profile: Ver perfil
+ view_status: Ver estado
applications:
created: Creouse con éxito este aplicativo
destroyed: Eliminouse con éxito o aplicativo
@@ -481,29 +484,38 @@ gl:
title: Moderación
notification_mailer:
digest:
- body: 'Aquí ten un breve sumario do que perdeu en %{instance} desde a última visita en %{since}:'
+ action: Ver todas as notificacións
+ body: Aquí ten un breve resumo das mensaxes publicadas desde a súa última visita en %{since}
mention: "%{name} mencionouna en:"
new_followers_summary:
- one: Ten unha nova seguidora! Ben!
- other: Obtivo %{count} novas seguidoras! Tremendo!
+ one: Ademáis, ten unha nova seguidora desde entón! Ben!
+ other: Ademáis, obtivo %{count} novas seguidoras desde entón! Tremendo!
subject:
one: "1 nova notificación desde a súa última visita \U0001F418"
other: "%{count} novas notificacións desde a súa última visita \U0001F418"
+ title: Na súa ausencia…
favourite:
body: 'O seu estado foi marcado favorito por %{name}:'
subject: "%{name} marcou favorito o seu estado"
+ title: Nova favorita
follow:
body: "%{name} agora está a seguila!"
subject: "%{name} agora está a seguila"
+ title: Nova seguidora
follow_request:
+ action: Xestionar peticións de seguimento
body: "%{name} solicitou poder seguila"
subject: 'Seguidora pendente: %{name}'
+ title: Nova petición de seguimento
mention:
+ action: Respostar
body: 'Foi mencionada por %{name} en:'
subject: Vostede foi mencionada por %{name}
+ title: Nova mención
reblog:
body: 'O seu estado foi promocionado por %{name}:'
- subject: "%{name} promocionou o seu estado"
+ subject: "%{name} promoveu o seu estado"
+ title: Nova promoción
number:
human:
decimal_units:
@@ -537,7 +549,7 @@ gl:
action_favourite: Favorito
title: "%{name} mencionouna"
reblog:
- title: "%{name} promocionou un dos seus estados"
+ title: "%{name} promoveu un dos seus estados"
remote_follow:
acct: Introduza o seu nomedeusuaria@dominio desde onde quere facer seguimento
missing_resource: Non se puido atopar o URL de redirecionamento requerido para a súa conta
@@ -551,12 +563,14 @@ gl:
blackberry: Blackberry
chrome: Chrome
edge: Microsoft Edge
+ electron: Electron
firefox: Firefox
generic: Navegador descoñecido
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Navegador Nokia S40 Ovi
opera: Opera
+ otter: Otter
phantom_js: PhantomJS
qq: Navegador QQ
safari: Safari
@@ -710,6 +724,25 @@ gl:
recovery_instructions_html: Si perdese o acceso ao seu teléfono, pode utilizar un dos códigos inferiores de recuperación para recuperar o acceso a súa conta. Garde os códigos en lugar seguro. Por exemplo, pode imprimilos e gardalos xunto con outros documentos importantes.
setup: Configurar
wrong_code: O código introducido non é válido! Son correctas as horas no dispositivo e o servidor?
+ user_mailer:
+ welcome:
+ edit_profile_action: Configurar perfil
+ edit_profile_step: Vostede pode personalizar o seu perfil subindo un avatar, cabeceira, cambiar o seu nome público e aínda máis. Si restrinxe a súa conta pode revisar a conta das personas que solicitan seguilas antes de permitirlles o acceso aos seus toots.
+ explanation: Aquí ten alunhas endereitas para ir aprendendo
+ final_action: Comece a publicar
+ final_step: 'Publique! Incluso sin seguidoras as súas mensaxes serán vistas por outras, por exemplo na liña temporal local e nas etiquetas. Podería presentarse no #fediverso utilizando a etiqueta #introductions.'
+ full_handle: O seu alcume completo
+ full_handle_hint: Esto é o que lle dirá aos seus amigos para que poidan seguila ou enviarlle mensaxes desde outra instancia.
+ review_preferences_action: Cambiar preferencias
+ review_preferences_step: Lembre establecer as preferencias, tales como qué correos-e lle querería recibir, ou o nivel de intimidade por omisión para as súas mensaxes. Se non lle molestan as imaxes con movemento, pode escoller que os GIF se reproduzan automáticamente.
+ subject: Benvida a Mastodon
+ tip_bridge_html: Si chega desde a Twitter, pode atopar aos seus amigos en Mastodon utilizando o aplicativo ponte. Só funciona si eles tamén utilizan o aplicativo ponte!
+ tip_federated_timeline: A liña temporal federada é unha visión ampla da rede Mastodon. Pero so inclúe xente a que segue xente que vostede segue, así que non é completa.
+ tip_following: Por omisión vostede segue ao Admin do seu servidor. Para atopar máis xente interesante, mire nas liñas temporais local e federada.
+ tip_local_timeline: A liña temporal local é unha ollada xeral sobre a xente en %{instance}. Son as súas veciñas máis próximas!
+ tip_mobile_webapp: Si o navegador móbil lle ofrece engadir Mastodon a pantalla de inicio, pode recibir notificacións push. En moitos aspectos comportarase como un aplicativo nativo!
+ tips: Consellos
+ title: Benvida, %{name}!
users:
invalid_email: O enderezo de correo non é válido
invalid_otp_token: Código de doble-factor non válido
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index 141b5141a6..715826899d 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -266,7 +266,7 @@ ja:
view: 表示
settings:
activity_api_enabled:
- desc_html: ローカルに投稿されたトゥート数、アクティブなユーザー数、週ごとの新規登録者数
+ desc_html: 週ごとのローカルに投稿されたトゥート数、アクティブなユーザー数、新規登録者数
title: ユーザーアクティビティに関する統計を公開する
bootstrap_timeline_accounts:
desc_html: 複数のユーザー名はコンマで区切ります。ローカルの公開アカウントのみ有効です。指定しない場合は管理者がデフォルトで指定されます。
@@ -350,7 +350,7 @@ ja:
invalid_url: URLが無効です
regenerate_token: アクセストークンの再生成
token_regenerated: アクセストークンが再生成されました
- warning: このデータは気をつけて取り扱ってください。不特定多数の人と共有しないでください!
+ warning: このデータは気をつけて取り扱ってください。他の人と共有しないでください!
your_token: アクセストークン
auth:
agreement_html: 登録すると インスタンスのルール と 利用規約 に従うことに同意したことになります。
@@ -422,7 +422,7 @@ ja:
domain: ドメイン
explanation_html: あなたの投稿のプライバシーを確保したい場合、誰があなたをフォローしているのかを把握している必要があります。 プライベート投稿は、あなたのフォロワーがいる全てのインスタンスに配信されます。 フォロワーのインスタンスの管理者やソフトウェアがあなたのプライバシーを尊重してくれるかどうか怪しい場合は、そのフォロワーを削除した方がよいかもしれません。
followers_count: フォロワー数
- lock_link: 非公開アカウント
+ lock_link: 非公開アカウントにする
purge: フォロワーから削除する
success:
one: 1個のドメインからソフトブロックするフォロワーを処理中...
@@ -494,7 +494,7 @@ ja:
notification_mailer:
digest:
action: 全ての通知を表示
- body: "%{instance} での最後のログインからの出来事:"
+ body: '最後のログイン(%{since})からの出来事:'
mention: "%{name} さんがあなたに返信しました:"
new_followers_summary:
one: また、離れている間に新たなフォロワーを獲得しました!
@@ -572,12 +572,14 @@ ja:
blackberry: Blackberry
chrome: Chrome
edge: Microsoft Edge
+ electron: Electron
firefox: Firefox
generic: 不明なブラウザ
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
opera: Opera
+ otter: Otter
phantom_js: PhantomJS
qq: QQ Browser
safari: Safari
@@ -711,6 +713,8 @@ ja:
title: "%{instance} 利用規約・プライバシーポリシー"
+ themes:
+ default: Mastodon
time:
formats:
default: "%Y年%m月%d日 %H:%M"
@@ -730,6 +734,25 @@ ja:
recovery_instructions_html: 携帯電話を紛失した場合、以下の内どれかのリカバリーコードを使用してアカウントへアクセスすることができます。リカバリーコードは大切に保全してください。たとえば印刷してほかの重要な書類と一緒に保管することができます。
setup: 初期設定
wrong_code: コードが間違っています。サーバー上の時間とデバイス上の時間が一致していることを確認してください。
+ user_mailer:
+ welcome:
+ edit_profile_action: プロフィールを設定
+ edit_profile_step: アバター画像やヘッダー画像をアップロードしたり、表示名やその他プロフィールを変更しカスタマイズすることができます。新しいフォロワーからのフォローを許可する前に検討したい場合、アカウントを非公開にすることができます。
+ explanation: 始めるにあたってのアドバイスです
+ final_action: 始めましょう
+ final_step: 'さあ始めましょう!たとえフォロワーがいなくても、あなたの公開した投稿はローカルタイムラインやハッシュタグなどで誰かの目に止まるかもしれません。自己紹介をしたい時は #introductions ハッシュタグを使うといいかもしれません。'
+ full_handle: あなたの正式なユーザー名
+ full_handle_hint: これは別のインスタンスからフォローしてもらったりメッセージのやり取りをする際に、友達に伝えるといいでしょう。
+ review_preferences_action: 設定の変更
+ review_preferences_step: 受け取りたいメールや投稿の公開範囲などの設定を必ず行ってください。不快でないならアニメーション GIF の自動再生を有効にすることもできます。
+ subject: Mastodon へようこそ
+ tip_bridge_html: もし Twitter から来られたのであれば、bridge app を使用することで Mastodon での友達のアカウントを探すこともできます。ただし bridge app を使用したことのある相手に限ります!
+ tip_federated_timeline: 連合タイムラインは Mastodon ネットワークの流れを見られるものです。ただしあなたと同じインスタンスの人がフォローしている人だけが含まれるので、それが全てではありません。
+ tip_following: 標準では自動でインスタンスの管理者をフォローしています。もっと興味のある人たちを見つけるには、ローカルタイムラインと連合タイムラインを確認してください。
+ tip_local_timeline: ローカルタイムラインは %{instance} にいる人々の流れを見られるものです。彼らはあなたと同じインスタンスにいる隣人のようなものです!
+ tip_mobile_webapp: もしモバイル端末のブラウザで Mastodon をホーム画面に追加できる場合、プッシュ通知を受け取ることができます。それはまるでネイティブアプリのように動作します!
+ tips: 豆知識
+ title: ようこそ、 %{name}!
users:
invalid_email: メールアドレスが無効です
invalid_otp_token: 二段階認証コードが間違っています
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index b254636f3c..23932a919b 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -651,6 +651,25 @@ ko:
recovery_instructions_html: 휴대전화를 분실한 경우, 아래 복구 코드 중 하나를 사용해 계정에 접근할 수 있습니다. 복구 코드는 안전하게 보관해 주십시오. 이 코드를 인쇄해 중요한 서류와 함께 보관하는 것도 좋습니다.
setup: 초기 설정
wrong_code: 코드가 올바르지 않습니다. 서버와 휴대전화 간의 시간이 일치하는지 확인해 주십시오.
+ user_mailer:
+ welcome:
+ edit_profile_action: 프로필 설정
+ edit_profile_step: 아바타, 헤더를 업로드하고, 사람들에게 표시 될 이름을 바꾸는 것으로 당신의 프로필을 커스텀 할 수 있습니다. 사람들이 당신을 팔로우 하기 전에 리뷰를 거치게 하고 싶다면 계정을 잠그면 됩니다.
+ explanation: 시작하기 전에 몇가지 팁들을 준비했습니다
+ final_action: 포스팅 시작하기
+ final_step: '포스팅을 시작하세요! 팔로워가 없더라도 퍼블릭 메시지는 다른 사람들이 볼 수 있습니다, 예를 들면 로컬 타임라인이나 해시태그에서요. 사람들에게 자신을 소개하고 싶다면 #introductions 해시태그를 이용해보세요.'
+ full_handle: 당신의 풀 핸들
+ full_handle_hint: 이것을 당신의 친구들에게 알려주면 다른 인스턴스에서 팔로우 하거나 메시지를 보낼 수 있습니다.
+ review_preferences_action: 설정 바꾸기
+ review_preferences_step: 당신의 설정을 확인하세요. 어떤 이메일로 알림을 받을 것인지, 기본적으로 어떤 프라이버시 설정을 사용할 것인지, 멀미가 없다면 GIF를 자동 재생하도록 설정할 수도 있습니다.
+ subject: 마스토돈에 오신 것을 환영합니다.
+ tip_bridge_html: 만약 트위터에서 오셨다면 브리지 앱을 통해 마스토돈에 있는 친구들을 찾을 수 있습니다. 친구들도 이 앱을 사용했을 때만 작동합니다!
+ tip_federated_timeline: 연합 타임라인은 마스토돈 네트워크의 소방호스입니다. 다만 여기엔 당신의 이웃들이 구독 중인 것만 뜹니다, 모든 것이 다 오는 것은 아니예요.
+ tip_following: 기본적으로 서버의 관리자를 팔로우 하도록 되어 있습니다. 흥미로운 사람들을 더 찾으려면 로컬과 연합 타임라인을 확인해 보세요.
+ tip_local_timeline: 로컬 타임라인은 %{instance}의 소방호스입니다. 여기 있는 사람들은 당신의 이웃들이에요!
+ tip_mobile_webapp: 모바일 브라우저가 홈 스크린에 바로가기를 추가해 줬다면 푸시 알림도 받을 수 있습니다. 이건 거의 네이티브 앱처럼 작동해요!
+ tips: 팁
+ title: 환영합니다 %{name} 님!
users:
invalid_email: 메일 주소가 올바르지 않습니다
invalid_otp_token: 2단계 인증 코드가 올바르지 않습니다
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index 973dc65d1b..f10722f20f 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -295,17 +295,17 @@ nl:
title: Medewerkersbadge tonen
site_description:
desc_html: Dit wordt als een alinea op de voorpagina getoond en gebruikt als meta-tag in de paginabron. Je kan HTML gebruiken, zoals <a> en <em>.
- title: Omschrijving Mastodon-server
+ title: Omschrijving Mastodonserver
site_description_extended:
desc_html: Wordt op de uitgebreide informatiepagina weergegeven Je kan ook hier HTML gebruiken
- title: Uitgebreide omschrijving Mastodon-server
+ title: Uitgebreide omschrijving Mastodonserver
site_terms:
desc_html: Je kan hier jouw eigen privacybeleid, gebruikersvoorwaarden en ander juridisch jargon kwijt. Je kan HTML gebruiken
title: Aangepaste gebruikersvoorwaarden
- site_title: Naam Mastodon-server
+ site_title: Naam Mastodonserver
thumbnail:
desc_html: Gebruikt als voorvertoning voor OpenGraph en de API. 1200x630px aanbevolen
- title: Thumbnail Mastodon-server
+ title: Thumbnail Mastodonserver
timeline_preview:
desc_html: Toon de openbare tijdlijn op de startpagina
title: Voorbeeld tijdlijn
@@ -338,9 +338,12 @@ nl:
body: "%{reporter} heeft %{target} gerapporteerd"
subject: Nieuwe toots gerapporteerd op %{instance} (#%{id})
application_mailer:
+ notification_preferences: E-mailvoorkeuren wijzigen
salutation: "%{name},"
settings: 'E-mailvoorkeuren wijzigen: %{link}'
view: 'Bekijk:'
+ view_profile: Profiel bekijken
+ view_status: Status bekijken
applications:
created: Aanmaken toepassing geslaagd
destroyed: Verwijderen toepassing geslaagd
@@ -417,7 +420,7 @@ nl:
storage: Mediaopslag
followers:
domain: Domein
- explanation_html: Wanneer je de privacy van jouw toots wilt garanderen, moet je goed weten wie jouw volgers zijn. Toots die alleen aan jouw volgers zijn gericht, worden aan de Mastodon-servers van jouw volgers afgeleverd. Daarom wil je ze misschien controleren en desnoods volgers verwijderen die zich op een Mastodon-server bevinden die jij niet vertrouwd. Bijvoorbeeld omdat de beheerder(s) of de software van zo'n server jouw privacy niet respecteert.
+ explanation_html: Wanneer je de privacy van jouw toots wilt garanderen, moet je goed weten wie jouw volgers zijn. Toots die alleen aan jouw volgers zijn gericht, worden aan de Mastodonservers van jouw volgers afgeleverd. Daarom wil je ze misschien controleren en desnoods volgers verwijderen die zich op een Mastodonserver bevinden die jij niet vertrouwd. Bijvoorbeeld omdat de beheerder(s) of de software van zo'n server jouw privacy niet respecteert.
followers_count: Aantal volgers
lock_link: Maak jouw account besloten
purge: Volgers verwijderen
@@ -458,7 +461,7 @@ nl:
one: 1 keer
other: "%{count} keer"
max_uses_prompt: Onbeperkt
- prompt: Genereer en deel speciale links om mensen toegang tot deze Mastodon-server te geven
+ prompt: Genereer en deel speciale links om mensen toegang tot deze Mastodonserver te geven
table:
expires_at: Verloopt op
uses: Aantal keer te gebruiken
@@ -481,6 +484,7 @@ nl:
title: Moderatie
notification_mailer:
digest:
+ action: Alle meldingen bekijken
body: Hier is een korte samenvatting van de berichten die je sinds jouw laatste bezoek op %{since} hebt gemist
mention: "%{name} vermeldde jou in:"
new_followers_summary:
@@ -489,21 +493,29 @@ nl:
subject:
one: "1 nieuwe melding sinds jouw laatste bezoek \U0001F418"
other: "%{count} nieuwe meldingen sinds jouw laatste bezoek \U0001F418"
+ title: Tijdens jouw afwezigheid…
favourite:
body: 'Jouw toot werd door %{name} als favoriet gemarkeerd:'
subject: "%{name} markeerde jouw toot als favoriet"
+ title: Nieuwe favoriet
follow:
body: "%{name} volgt jou nu!"
subject: "%{name} volgt jou nu"
+ title: Nieuwe volger
follow_request:
+ action: Volgverzoeken beheren
body: "%{name} wil jou graag volgen"
subject: 'Volgen in afwachting: %{name}'
+ title: Nieuw volgverzoek
mention:
+ action: Reageren
body: 'Jij bent door %{name} vermeld in:'
subject: Jij bent vermeld door %{name}
+ title: Nieuwe vermelding
reblog:
body: 'Jouw toot werd door %{name} geboost:'
subject: "%{name} boostte jouw toot"
+ title: Nieuwe boost
number:
human:
decimal_units:
@@ -551,12 +563,14 @@ nl:
blackberry: Blackberry
chrome: Chrome
edge: Microsoft Edge
+ electron: Electron
firefox: Firefox
generic: Onbekende webbrowser
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
opera: Opera
+ otter: Otter
phantom_js: PhantomJS
qq: QQ Browser
safari: Safari
@@ -708,6 +722,16 @@ nl:
recovery_instructions_html: Wanneer je ooit de toegang verliest tot jouw telefoon, kan je met behulp van een van de herstelcodes hieronder opnieuw toegang krijgen tot jouw account. Zorg ervoor dat je de herstelcodes op een veilige plek bewaard. Je kunt ze bijvoorbeeld printen en ze samen met andere belangrijke documenten bewaren.
setup: Instellen
wrong_code: De ingevoerde code is ongeldig! Klopt de systeemtijd van de server en die van jouw apparaat?
+ user_mailer:
+ welcome:
+ edit_profile_action: Profiel instellen
+ edit_profile_step: Je kunt jouw profiel aanpassen door een avatar (profielfoto) en omslagfoto te uploaden, jouw weergavenaam in te stellen en iets over jezelf te vertellen. Wanneer je nieuwe volgers eerst wilt goedkeuren, kun je jouw account besloten maken.
+ explanation: Hier zijn enkele tips om je op weg te helpen
+ final_action: Begin berichten te plaatsen
+ final_step: 'Begin berichten te plaatsen! Zelfs zonder volgers kunnen jouw openbare berichten door anderen gezien worden, bijvoorbeeld op de lokale tijdlijn en via hashtags. Je wilt jezelf misschien introduceren met de hashtag #introductions.'
+ full_handle: Jouw volledige Mastodonadres
+ full_handle_hint: Dit geef je aan jouw vrienden, zodat ze jouw berichten kunnen sturen of (vanaf een andere Mastodonserver) kunnen volgen.
+ review_preferences_action: Instellingen veranderen
users:
invalid_email: E-mailadres is ongeldig
invalid_otp_token: Ongeldige tweestaps-aanmeldcode
diff --git a/config/locales/oc.yml b/config/locales/oc.yml
index beb5d1f87d..f517e64ef9 100644
--- a/config/locales/oc.yml
+++ b/config/locales/oc.yml
@@ -159,7 +159,7 @@ oc:
unsuspend_account: "%{name} restabliguèt lo compte a %{target}"
update_custom_emoji: "%{name} metèt a jorn l’emoji %{target}"
update_status: "%{name} metèt a jorn l’estatut a %{target}"
- title: Audit log
+ title: Audit dels jornals
custom_emojis:
by_domain: Domeni
copied_msg: Còpia locala de l’emoji ben creada
@@ -167,7 +167,7 @@ oc:
copy_failed_msg: Fracàs de la còpia locala de l’emoji
created_msg: Emoji ben creat !
delete: Suprimir
- destroyed_msg: Emojo ben suprimit !
+ destroyed_msg: Emoji ben suprimit !
disable: Desactivar
disabled_msg: Aqueste emoji es ben desactivat
emoji: Emoji
@@ -282,13 +282,13 @@ oc:
desc_html: Afichat sus las pagina d’acuèlh quand las inscripcions son tampadas. Podètz utilizar de balisas HTML
title: Messatge de barradura de las inscripcions
deletion:
- desc_html: Autorizar lo monde a suprimir lor compte
+ desc_html: Autorizar lo mond a suprimir lor compte
title: Possibilitat de suprimir lo compte
min_invite_role:
disabled: Degun
title: Autorizat amb invitacions
open:
- desc_html: Autorizar lo monde a se marcar
+ desc_html: Autorizar lo mond a se marcar
title: Inscripcions
show_staff_badge:
desc_html: Mostrar lo badge Personal sus la pagina de perfil
@@ -338,9 +338,12 @@ oc:
body: "%{reporter} a senhalat %{target}"
subject: Novèl senhalament per %{instance} (#%{id})
application_mailer:
+ notification_preferences: Cambiar las preferéncias de corrièl
salutation: "%{name},"
settings: 'Cambiar las preferéncias de corrièl : %{link}'
view: 'Veire :'
+ view_profile: Veire lo perfil
+ view_status: Veire los estatuts
applications:
created: Aplicacion ben creada
destroyed: Aplication ben suprimida
@@ -535,12 +538,12 @@ oc:
max_uses:
one: 1 persona
other: "%{count} personas"
- max_uses_prompt: Cap limit
+ max_uses_prompt: Cap de limit
prompt: Generatz e partejatz los ligams per donar accès a aquesta instància
table:
expires_at: Expirats
uses: Usatges
- title: Convidar de monde
+ title: Convidar de mond
landing_strip_html: "%{name} utiliza %{link_to_root_path}. Podètz lo/la sègre o interagir amb el o ela s’avètz un compte ont que siasque sul fediverse."
landing_strip_signup_html: S’es pas lo cas, podètz vos marcar aquí.
lists:
@@ -567,21 +570,27 @@ oc:
subject:
one: "Una nòva notificacion dempuèi vòstra darrièra visita \U0001F418"
other: "%{count} nòvas notificacions dempuèi vòstra darrièra visita \U0001F418"
+ title: Pendent vòstra abséncia…
favourite:
body: "%{name} a mes vòstre estatut en favorit :"
subject: "%{name} a mes vòstre estatut en favorit"
+ title: Novèl apondut als favorits
follow:
body: "%{name} vos sèc ara !"
subject: "%{name} vos sèc ara"
+ title: Nòu seguidor
follow_request:
body: "%{name} a demandat a vos sègre"
subject: 'Demanda d’abonament : %{name}'
+ title: Novèla demanda d’abonament
mention:
body: "%{name} vos a mencionat dins :"
subject: "%{name} vos a mencionat"
+ title: Novèla mencion
reblog:
body: "%{name} a tornat partejar vòstre estatut :"
subject: "%{name} a tornat partejar vòstre estatut"
+ title: Novèl partatge
number:
human:
decimal_units:
@@ -629,12 +638,14 @@ oc:
blackberry: Blackberry
chrome: Chrome
edge: Microsoft Edge
+ electron: Electron
firefox: Firefox
generic: Navigator desconegut
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
opera: Opera
+ otter: Otter
phantom_js: PhantomJS
qq: QQ Browser
safari: Safari
@@ -786,6 +797,25 @@ oc:
recovery_instructions_html: Se vos arriba de perdre vòstre mobil, podètz utilizar un dels còdis de recuperacion cai-jos per poder tornar accedir a vòstre compte. Gardatz los còdis en seguretat, per exemple, imprimissètz los e gardatz los amb vòstres documents importants.
setup: Paramètres
wrong_code: Lo còdi picat es invalid ! L’ora es la bona sul servidor e lo mobil ?
+ user_mailer:
+ welcome:
+ edit_profile_action: Configuracion del perfil
+ edit_profile_step: Podètz personalizar lo perfil en mandar un avatard, cambiar l’escais-nom e mai. Se volètz repassar las demandas d’abonaments abans que los nòus seguidors pòscan veire vòstre perfil, podètz clavar vòstre compte.
+ explanation: Vaquí qualques astúcias per vos preparar
+ final_action: Començar de publicar
+ final_step: 'Començatz de publicar ! Quitament s’avètz pas de seguidors los autres pòdon veire vòstres messatges publics, per exemple pel flux d’actualitat local e per las etiquetas. Benlèu que volètz vos presentar amb l’etiquetas #introductions.'
+ full_handle: Vòstre escais-nom complèt
+ full_handle_hint: Es aquò que vos cal donar a vòstres amics per que pòscan vos escriure o sègre a partir d’una autra instància.
+ review_preferences_action: Cambiar las preferéncias
+ review_preferences_step: Pensatz de configurar vòstras preferéncias, tal coma los corrièls que volètz recebrer o lo nivèl de confidencialitat de vòstres tuts per defaut. O se l’animacion vos dòna pas enveja de rendre, podètz activar la lectura automatica dels GIF.
+ subject: Benvengut a Mastodon
+ tip_bridge_html: Se venètz de Twitter, podètz trobar vòstres amics sus Mastodon en utilizant l‘aplicacion de Pont. Aquò fonciona pas que s’utilizan lo Pont tanben !
+ tip_federated_timeline: Lo flux d’actualitat federat es una vista generala del malhum Mastodon. Mas aquò inclutz solament lo mond que vòstres vesins sègon, doncas es pas complèt.
+ tip_following: Seguètz l’administrator del servidor per defaut. Per trobar de mond mai interessant, agachatz lo flux d’actualitat local e lo global.
+ tip_local_timeline: Lo flux d’actualitat local es una vista del mond de %{instance}. Son vòstres vesins dirèctes !
+ tip_mobile_webapp: Se vòstre navigator mobil nos permet d’apondre Mastodon a l’ecran d‘acuèlh, podètz recebre de notificacions. Aquò se compòrta coma una aplicacion nativa !
+ tips: Astúcias
+ title: Vos desirem la benvenguda a bòrd %{name} !
users:
invalid_email: L’adreça de corrièl es invalida
invalid_otp_token: Còdi d’autentificacion en dos temps invalid
diff --git a/config/locales/pl.yml b/config/locales/pl.yml
index 949099a712..cb5f7da44f 100644
--- a/config/locales/pl.yml
+++ b/config/locales/pl.yml
@@ -343,6 +343,7 @@ pl:
salutation: "%{name},"
settings: 'Zmień ustawienia powiadamiania: %{link}'
view: 'Zobacz:'
+ view_profile: Wyświetl profil
view_status: Wyświetl wpis
applications:
created: Pomyślnie utworzono aplikację
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index c2830b7543..e549865440 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -338,9 +338,12 @@ pt-BR:
body: "%{reporter} denunciou %{target}"
subject: Nova denúncia sobre %{instance} (#%{id})
application_mailer:
+ notification_preferences: Mudar preferências de e-mail
salutation: "%{name},"
settings: 'Mudar e-mail de preferência: %{link}'
view: 'Visualizar:'
+ view_profile: Ver perfil
+ view_status: Ver status
applications:
created: Aplicação criada com sucesso
destroyed: Aplicação excluída com sucesso
@@ -481,7 +484,8 @@ pt-BR:
title: Moderação
notification_mailer:
digest:
- body: 'Aqui está um resumo do que você perdeu no %{instance} desde o seu último acesso em %{since}:'
+ action: Ver todas as notificações
+ body: Aqui está um pequeno resumo das mensagens que você perdeu desde o seu último acesso em %{since}
mention: "%{name} te mencionou em:"
new_followers_summary:
one: Você tem um novo seguidor! Yay!
@@ -489,21 +493,29 @@ pt-BR:
subject:
one: "Uma nova notificação desde o seu último acesso \U0001F418"
other: "%{count} novas notificações desde o seu último acesso \U0001F418"
+ title: Enquanto você estava ausente…
favourite:
body: 'Sua postagem foi favoritada por %{name}:'
subject: "%{name} favoritou a sua postagem"
+ title: Novo favorito
follow:
body: "%{name} está te seguindo!"
subject: "%{name} está te seguindo"
+ title: Novo seguidor
follow_request:
+ action: Gerenciar pedidos de seguidores
body: "%{name} requisitou autorização para te seguir"
subject: 'Seguidor pendente: %{name}'
+ title: Nova solicitação de seguidor
mention:
+ action: Responder
body: 'Você foi mencionado por %{name} em:'
subject: Você foi mencionado por %{name}
+ title: Nova menção
reblog:
body: 'Sua postagem foi compartilhada por %{name}:'
subject: "%{name} compartilhou a sua postagem"
+ title: Novo compartilhamento
number:
human:
decimal_units:
@@ -551,12 +563,14 @@ pt-BR:
blackberry: Blackberry
chrome: Chrome
edge: Microsoft Edge
+ electron: Electron
firefox: Firefox
generic: Navegador desconhecido
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Navegador Nokia S40 Ovi
opera: Opera
+ otter: Otter
phantom_js: PhantomJS
qq: QQ Browser
safari: Safari
@@ -708,6 +722,25 @@ pt-BR:
recovery_instructions_html: Se você perder acesso ao seu celular, você pode usar um dos códigos de recuperação abaixo para reganhar acesso à sua conta. Mantenha os códigos de recuperação em um local seguro. Por exemplo, você pode imprimi-los e guardá-los com outros documentos importantes.
setup: Configurar
wrong_code: O código inserido é invalido! O horário do servidor e o horário do seu aparelho estão corretos?
+ user_mailer:
+ welcome:
+ edit_profile_action: Configurar perfil
+ edit_profile_step: Você pode customizar o seu perfil enviando um avatar, uma imagem de topo, mudando seu nome de exibição, dentre outros. Se você gostaria de aprovar novos seguidores antes que eles possam seguir você, você pode trancar a sua conta.
+ explanation: Aqui estão algumas dicas para te ajudar a começar
+ final_action: Comece a postar
+ final_step: 'Comece a postar! Mesmo sem seguidores, suas mensagens públicas podem ser vistas por outros, por exemplo nas timelines locais e buscando hashtags. Você pode querer fazer uma introdução usando a hashtag #introduções, ou em inglês usando a hashtag #introductions.'
+ full_handle: Seu nome de usuário completo
+ full_handle_hint: Isso é o que você diz aos seus amigos para que eles possam te mandar mensagens ou te seguir a partir de outra instância.
+ review_preferences_action: Mudar as preferências
+ review_preferences_step: Não se esqueça de configurar suas preferências, como quais e-mails você gostaria de receber, que nível de privacidade você gostaria que seus posts tenham por padrão. Se você não sofre de enjôo com movimento, você pode habilitar GIFs animando automaticamente.
+ subject: Boas-vindas ao Mastodon
+ tip_bridge_html: Se você está vindo do Twitter, você pode encontrar pessoas amigas que estão no Mastodon usando app de associação. Mas só funciona se as pessoas também estiverem usando o app!
+ tip_federated_timeline: A timeline global é uma visão contínua da rede do Mastodon. Mas ela só inclui pessoas que outras pessoas da sua instância estão seguindo, então não é a rede completa.
+ tip_following: Você vai seguir administradores da sua instância por padrão. Para encontrar mais gente interessante, confira as timelines local e global.
+ tip_local_timeline: A timeline local é uma visão contínua das pessoas que estão em %{instance}. Esses são seus vizinhos próximos!
+ tip_mobile_webapp: Se o seu navegador móvel oferecer a opção de adicionar Mastodon à tela inicial, você pode receber notificações push. Vai funcionar quase como um aplicativo nativo!
+ tips: Dicas
+ title: Boas-vindas à bordo, %{name}!
users:
invalid_email: O endereço de e-mail é inválido
invalid_otp_token: Código de autenticação inválido
diff --git a/config/locales/simple_form.gl.yml b/config/locales/simple_form.gl.yml
index d7e5601f26..2e51cf6913 100644
--- a/config/locales/simple_form.gl.yml
+++ b/config/locales/simple_form.gl.yml
@@ -4,7 +4,7 @@ gl:
hints:
defaults:
avatar: PNG, GIF ou JPG. Como moito 2MB. Será reducida ate 120x120px
- digest: Enviar despois de un período longo de inactividade con un resumo das mencións que recibeu na súa ausencia
+ digest: Enviar só tras un longo período de inactividade e só si recibeu algunha mensaxe personal na súa ausencia
display_name:
one: 1 caracter restante
other: %{count} caracteres restantes
diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml
index 17b9647a45..cd36fd44fd 100644
--- a/config/locales/simple_form.nl.yml
+++ b/config/locales/simple_form.nl.yml
@@ -16,7 +16,7 @@ nl:
setting_noindex: Heeft invloed op jouw openbare profiel en toots
setting_theme: Heeft invloed op hoe de webapp van Mastodon eruitziet (op elk apparaat waarmee je inlogt).
imports:
- data: CSV-bestand dat op een andere Mastodon-server werd geëxporteerd
+ data: CSV-bestand dat op een andere Mastodonserver werd geëxporteerd
sessions:
otp: Voer de tweestaps-aanmeldcode vanaf jouw mobiele telefoon in of gebruik een van jouw herstelcode's.
user:
diff --git a/config/locales/simple_form.oc.yml b/config/locales/simple_form.oc.yml
index 06c23ace2c..aa26d036d4 100644
--- a/config/locales/simple_form.oc.yml
+++ b/config/locales/simple_form.oc.yml
@@ -4,7 +4,7 @@ oc:
hints:
defaults:
avatar: PNG, GIF o JPG. Maximum 2 Mo. Serà retalhat en 120x120px
- digest: Enviat aprèp un long moment d’inactivitat amb un resumit de las mencions qu’avètz recebudas pendent vòstra abséncia
+ digest: Solament enviat aprèp un long moment d’inactivitat e solament s’avètz recebut de messatges personals pendent vòstra abséncia
display_name:
one: Demòra encara 1 caractèr
other: Demòran encara %{count} caractèrs
diff --git a/config/webpack/configuration.js b/config/webpack/configuration.js
index c58d8028e3..a38d9d11de 100644
--- a/config/webpack/configuration.js
+++ b/config/webpack/configuration.js
@@ -73,7 +73,7 @@ function formatPublicPath(host = '', path = '') {
const output = {
path: resolve('public', settings.public_output_path),
- publicPath: formatPublicPath(env.ASSET_HOST || env.WEB_DOMAIN || env.LOCAL_DOMAIN, settings.public_output_path),
+ publicPath: formatPublicPath(env.ASSET_HOST, settings.public_output_path),
};
module.exports = {
diff --git a/docker-compose.yml b/docker-compose.yml
index f280d4ecc9..cfe70c5e8f 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -53,4 +53,5 @@ services:
- db
- redis
volumes:
+ - ./public/packs:/mastodon/public/packs
- ./public/system:/mastodon/public/system
diff --git a/lib/mastodon/premailer_webpack_strategy.rb b/lib/mastodon/premailer_webpack_strategy.rb
index 84d83cc660..3382ef3b4c 100644
--- a/lib/mastodon/premailer_webpack_strategy.rb
+++ b/lib/mastodon/premailer_webpack_strategy.rb
@@ -2,16 +2,21 @@
module PremailerWebpackStrategy
def load(url)
- public_path_host = ENV['ASSET_HOST'] || ENV['LOCAL_DOMAIN']
- url = url.gsub(/\A\/\/#{public_path_host}/, '')
+ asset_host = ENV['ASSET_HOST'] || ENV['WEB_DOMAIN'] || ENV['LOCAL_DOMAIN']
if Webpacker.dev_server.running?
- url = File.join("#{Webpacker.dev_server.protocol}://#{Webpacker.dev_server.host_with_port}", url)
- HTTP.get(url).to_s
- else
- url = url[1..-1] if url.start_with?('/')
- File.read(Rails.root.join('public', url))
+ asset_host = "#{Webpacker.dev_server.protocol}://#{Webpacker.dev_server.host_with_port}"
+ url = File.join(asset_host, url)
end
+
+ css = if url.start_with?('http')
+ HTTP.get(url).to_s
+ else
+ url = url[1..-1] if url.start_with?('/')
+ File.read(Rails.root.join('public', url))
+ end
+
+ css.gsub(/url\(\//, "url(#{asset_host}/")
end
module_function :load
diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb
index 098ab46ac7..dba09a0700 100644
--- a/lib/mastodon/version.rb
+++ b/lib/mastodon/version.rb
@@ -21,7 +21,7 @@ module Mastodon
end
def flags
- 'rc1'
+ 'rc2'
end
def to_a
diff --git a/spec/controllers/authorize_follows_controller_spec.rb b/spec/controllers/authorize_follows_controller_spec.rb
index 26e46a23c2..b1cbef7ea9 100644
--- a/spec/controllers/authorize_follows_controller_spec.rb
+++ b/spec/controllers/authorize_follows_controller_spec.rb
@@ -30,7 +30,7 @@ describe AuthorizeFollowsController do
it 'renders error when account cant be found' do
service = double
- allow(ResolveRemoteAccountService).to receive(:new).and_return(service)
+ allow(ResolveAccountService).to receive(:new).and_return(service)
allow(service).to receive(:call).with('missing@hostname').and_return(nil)
get :show, params: { acct: 'acct:missing@hostname' }
@@ -54,7 +54,7 @@ describe AuthorizeFollowsController do
it 'sets account from acct uri' do
account = Account.new
service = double
- allow(ResolveRemoteAccountService).to receive(:new).and_return(service)
+ allow(ResolveAccountService).to receive(:new).and_return(service)
allow(service).to receive(:call).with('found@hostname').and_return(account)
get :show, params: { acct: 'acct:found@hostname' }
diff --git a/spec/controllers/settings/imports_controller_spec.rb b/spec/controllers/settings/imports_controller_spec.rb
index 4810be7015..59b10e0da2 100644
--- a/spec/controllers/settings/imports_controller_spec.rb
+++ b/spec/controllers/settings/imports_controller_spec.rb
@@ -17,7 +17,7 @@ RSpec.describe Settings::ImportsController, type: :controller do
describe 'POST #create' do
it 'redirects to settings path with successful following import' do
service = double(call: nil)
- allow(ResolveRemoteAccountService).to receive(:new).and_return(service)
+ allow(ResolveAccountService).to receive(:new).and_return(service)
post :create, params: {
import: {
type: 'following',
@@ -30,7 +30,7 @@ RSpec.describe Settings::ImportsController, type: :controller do
it 'redirects to settings path with successful blocking import' do
service = double(call: nil)
- allow(ResolveRemoteAccountService).to receive(:new).and_return(service)
+ allow(ResolveAccountService).to receive(:new).and_return(service)
post :create, params: {
import: {
type: 'blocking',
diff --git a/spec/models/account_spec.rb b/spec/models/account_spec.rb
index 7501c498ce..3ac7208edb 100644
--- a/spec/models/account_spec.rb
+++ b/spec/models/account_spec.rb
@@ -185,8 +185,8 @@ RSpec.describe Account, type: :model do
expect(account.refresh!).to be_nil
end
- it 'calls not ResolveRemoteAccountService#call' do
- expect_any_instance_of(ResolveRemoteAccountService).not_to receive(:call).with(acct)
+ it 'calls not ResolveAccountService#call' do
+ expect_any_instance_of(ResolveAccountService).not_to receive(:call).with(acct)
account.refresh!
end
end
@@ -194,8 +194,8 @@ RSpec.describe Account, type: :model do
context 'domain is present' do
let(:domain) { 'example.com' }
- it 'calls ResolveRemoteAccountService#call' do
- expect_any_instance_of(ResolveRemoteAccountService).to receive(:call).with(acct).once
+ it 'calls ResolveAccountService#call' do
+ expect_any_instance_of(ResolveAccountService).to receive(:call).with(acct).once
account.refresh!
end
end
diff --git a/spec/services/account_search_service_spec.rb b/spec/services/account_search_service_spec.rb
index 4685e619f8..9bb27edad8 100644
--- a/spec/services/account_search_service_spec.rb
+++ b/spec/services/account_search_service_spec.rb
@@ -123,7 +123,7 @@ describe AccountSearchService do
describe 'when there is a domain but no exact match' do
it 'follows the remote account when resolve is true' do
service = double(call: nil)
- allow(ResolveRemoteAccountService).to receive(:new).and_return(service)
+ allow(ResolveAccountService).to receive(:new).and_return(service)
results = subject.call('newuser@remote.com', 10, nil, resolve: true)
expect(service).to have_received(:call).with('newuser@remote.com')
@@ -131,7 +131,7 @@ describe AccountSearchService do
it 'does not follow the remote account when resolve is false' do
service = double(call: nil)
- allow(ResolveRemoteAccountService).to receive(:new).and_return(service)
+ allow(ResolveAccountService).to receive(:new).and_return(service)
results = subject.call('newuser@remote.com', 10, nil, resolve: false)
expect(service).not_to have_received(:call)
diff --git a/spec/services/resolve_remote_account_service_spec.rb b/spec/services/resolve_account_service_spec.rb
similarity index 99%
rename from spec/services/resolve_remote_account_service_spec.rb
rename to spec/services/resolve_account_service_spec.rb
index d0bb6a1373..5f1b4467b6 100644
--- a/spec/services/resolve_remote_account_service_spec.rb
+++ b/spec/services/resolve_account_service_spec.rb
@@ -1,6 +1,6 @@
require 'rails_helper'
-RSpec.describe ResolveRemoteAccountService do
+RSpec.describe ResolveAccountService do
subject { described_class.new }
before do
diff --git a/spec/services/fetch_remote_resource_service_spec.rb b/spec/services/resolve_url_service_spec.rb
similarity index 97%
rename from spec/services/fetch_remote_resource_service_spec.rb
rename to spec/services/resolve_url_service_spec.rb
index b80fb24750..1e9be4c07a 100644
--- a/spec/services/fetch_remote_resource_service_spec.rb
+++ b/spec/services/resolve_url_service_spec.rb
@@ -2,7 +2,7 @@
require 'rails_helper'
-describe FetchRemoteResourceService do
+describe ResolveURLService do
subject { described_class.new }
describe '#call' do
diff --git a/spec/services/search_service_spec.rb b/spec/services/search_service_spec.rb
index 3ffcc389b1..957b60c7dd 100644
--- a/spec/services/search_service_spec.rb
+++ b/spec/services/search_service_spec.rb
@@ -26,7 +26,7 @@ describe SearchService do
context 'that does not find anything' do
it 'returns the empty results' do
service = double(call: nil)
- allow(FetchRemoteResourceService).to receive(:new).and_return(service)
+ allow(ResolveURLService).to receive(:new).and_return(service)
results = subject.call(@query, 10)
expect(service).to have_received(:call).with(@query)
@@ -38,7 +38,7 @@ describe SearchService do
it 'includes the account in the results' do
account = Account.new
service = double(call: account)
- allow(FetchRemoteResourceService).to receive(:new).and_return(service)
+ allow(ResolveURLService).to receive(:new).and_return(service)
results = subject.call(@query, 10)
expect(service).to have_received(:call).with(@query)
@@ -50,7 +50,7 @@ describe SearchService do
it 'includes the status in the results' do
status = Status.new
service = double(call: status)
- allow(FetchRemoteResourceService).to receive(:new).and_return(service)
+ allow(ResolveURLService).to receive(:new).and_return(service)
results = subject.call(@query, 10)
expect(service).to have_received(:call).with(@query)