- {banner}
+ {banner &&
+
+ {banner}
+
+ }
{signedIn && (
<>
diff --git a/app/javascript/flavours/glitch/features/ui/components/sign_in_banner.jsx b/app/javascript/flavours/glitch/features/ui/components/sign_in_banner.jsx
index 184a8d103ff304..5db3cb492bb6f1 100644
--- a/app/javascript/flavours/glitch/features/ui/components/sign_in_banner.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/sign_in_banner.jsx
@@ -2,6 +2,7 @@ import { useCallback } from 'react';
import { FormattedMessage } from 'react-intl';
+
import { openModal } from 'flavours/glitch/actions/modal';
import { registrationsOpen, sso_redirect } from 'flavours/glitch/initial_state';
import { useAppDispatch, useAppSelector } from 'flavours/glitch/store';
diff --git a/app/javascript/flavours/glitch/features/ui/components/upload_area.jsx b/app/javascript/flavours/glitch/features/ui/components/upload_area.jsx
index 621f8c22779ab4..9aa8e359f8938d 100644
--- a/app/javascript/flavours/glitch/features/ui/components/upload_area.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/upload_area.jsx
@@ -7,8 +7,6 @@ import spring from 'react-motion/lib/spring';
import Motion from '../util/optional_motion';
-
-
export default class UploadArea extends PureComponent {
static propTypes = {
diff --git a/app/javascript/flavours/glitch/features/ui/containers/bundle_container.js b/app/javascript/flavours/glitch/features/ui/containers/bundle_container.js
index ff5a35319e6441..6a476fe2483cf3 100644
--- a/app/javascript/flavours/glitch/features/ui/containers/bundle_container.js
+++ b/app/javascript/flavours/glitch/features/ui/containers/bundle_container.js
@@ -1,10 +1,8 @@
import { connect } from 'react-redux';
-import { fetchBundleRequest, fetchBundleSuccess, fetchBundleFail } from 'flavours/glitch/actions/bundles';
-
+import { fetchBundleRequest, fetchBundleSuccess, fetchBundleFail } from '../../../actions/bundles';
import Bundle from '../components/bundle';
-
const mapDispatchToProps = dispatch => ({
onFetch () {
dispatch(fetchBundleRequest());
diff --git a/app/javascript/flavours/glitch/features/ui/containers/modal_container.js b/app/javascript/flavours/glitch/features/ui/containers/modal_container.js
index 0d07d68a5d1ce2..1c3872cd50436f 100644
--- a/app/javascript/flavours/glitch/features/ui/containers/modal_container.js
+++ b/app/javascript/flavours/glitch/features/ui/containers/modal_container.js
@@ -1,7 +1,6 @@
import { connect } from 'react-redux';
-import { openModal, closeModal } from 'flavours/glitch/actions/modal';
-
+import { openModal, closeModal } from '../../../actions/modal';
import ModalRoot from '../components/modal_root';
const mapStateToProps = state => ({
diff --git a/app/javascript/flavours/glitch/features/ui/containers/notifications_container.js b/app/javascript/flavours/glitch/features/ui/containers/notifications_container.js
index 42a55a4b80ac2b..c1d19f710085d7 100644
--- a/app/javascript/flavours/glitch/features/ui/containers/notifications_container.js
+++ b/app/javascript/flavours/glitch/features/ui/containers/notifications_container.js
@@ -4,8 +4,8 @@ import { connect } from 'react-redux';
import { NotificationStack } from 'react-notification';
-import { dismissAlert } from 'flavours/glitch/actions/alerts';
-import { getAlerts } from 'flavours/glitch/selectors';
+import { dismissAlert } from '../../../actions/alerts';
+import { getAlerts } from '../../../selectors';
const mapStateToProps = (state, { intl }) => {
const notifications = getAlerts(state);
diff --git a/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js b/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
index 5f34f5cd2e3304..f34d099b24015f 100644
--- a/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
+++ b/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
@@ -4,9 +4,9 @@ import { createSelector } from 'reselect';
import { debounce } from 'lodash';
-import { scrollTopTimeline, loadPending } from 'flavours/glitch/actions/timelines';
-import StatusList from 'flavours/glitch/components/status_list';
-import { me } from 'flavours/glitch/initial_state';
+import { scrollTopTimeline, loadPending } from '../../../actions/timelines';
+import StatusList from '../../../components/status_list';
+import { me } from '../../../initial_state';
const getRegex = createSelector([
(state, { regex }) => regex,
diff --git a/app/javascript/flavours/glitch/features/ui/index.jsx b/app/javascript/flavours/glitch/features/ui/index.jsx
index 35b2a6db4e4817..566421e65cb23b 100644
--- a/app/javascript/flavours/glitch/features/ui/index.jsx
+++ b/app/javascript/flavours/glitch/features/ui/index.jsx
@@ -13,17 +13,17 @@ import { debounce } from 'lodash';
import { HotKeys } from 'react-hotkeys';
import { changeLayout } from 'flavours/glitch/actions/app';
-import { uploadCompose, resetCompose, changeComposeSpoilerness } from 'flavours/glitch/actions/compose';
-import { clearHeight } from 'flavours/glitch/actions/height_cache';
import { synchronouslySubmitMarkers, submitMarkers, fetchMarkers } from 'flavours/glitch/actions/markers';
-import { expandNotifications, notificationsSetVisibility } from 'flavours/glitch/actions/notifications';
-import { fetchServer, fetchServerTranslationLanguages } from 'flavours/glitch/actions/server';
-import { expandHomeTimeline } from 'flavours/glitch/actions/timelines';
import PermaLink from 'flavours/glitch/components/permalink';
import PictureInPicture from 'flavours/glitch/features/picture_in_picture';
import { layoutFromWindow } from 'flavours/glitch/is_mobile';
import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
+import { uploadCompose, resetCompose, changeComposeSpoilerness } from '../../actions/compose';
+import { clearHeight } from '../../actions/height_cache';
+import { expandNotifications, notificationsSetVisibility } from '../../actions/notifications';
+import { fetchServer, fetchServerTranslationLanguages } from '../../actions/server';
+import { expandHomeTimeline } from '../../actions/timelines';
import initialState, { me, owner, singleUserMode, trendsEnabled, trendsAsLanding } from '../../initial_state';
import BundleColumnError from './components/bundle_column_error';
diff --git a/app/javascript/flavours/glitch/features/ui/util/optional_motion.js b/app/javascript/flavours/glitch/features/ui/util/optional_motion.js
index 4ec687738493e3..0b6d4d97f7967f 100644
--- a/app/javascript/flavours/glitch/features/ui/util/optional_motion.js
+++ b/app/javascript/flavours/glitch/features/ui/util/optional_motion.js
@@ -1,6 +1,6 @@
import Motion from 'react-motion/lib/Motion';
-import { reduceMotion } from 'flavours/glitch/initial_state';
+import { reduceMotion } from '../../../initial_state';
import ReducedMotion from './reduced_motion';
diff --git a/app/javascript/flavours/glitch/features/ui/util/react_router_helpers.jsx b/app/javascript/flavours/glitch/features/ui/util/react_router_helpers.jsx
index 0847aa443534ac..c0ee31bf68041b 100644
--- a/app/javascript/flavours/glitch/features/ui/util/react_router_helpers.jsx
+++ b/app/javascript/flavours/glitch/features/ui/util/react_router_helpers.jsx
@@ -5,9 +5,9 @@ import { Switch, Route, useLocation } from 'react-router-dom';
import StackTrace from 'stacktrace-js';
-import BundleColumnError from 'flavours/glitch/features/ui/components/bundle_column_error';
-import ColumnLoading from 'flavours/glitch/features/ui/components/column_loading';
-import BundleContainer from 'flavours/glitch/features/ui/containers/bundle_container';
+import BundleColumnError from '../components/bundle_column_error';
+import ColumnLoading from '../components/column_loading';
+import BundleContainer from '../containers/bundle_container';
// Small wrapper to pass multiColumn to the route components
export const WrappedSwitch = ({ multiColumn, children }) => {
@@ -30,7 +30,7 @@ WrappedSwitch.propTypes = {
children: PropTypes.node,
};
-// Small Wraper to extract the params from the route and pass
+// Small Wrapper to extract the params from the route and pass
// them to the rendered component, together with the content to
// be rendered inside (the children)
export class WrappedRoute extends Component {
diff --git a/app/javascript/flavours/glitch/features/video/index.jsx b/app/javascript/flavours/glitch/features/video/index.jsx
index 022f6626996d4e..2d50f3d8ebc9a2 100644
--- a/app/javascript/flavours/glitch/features/video/index.jsx
+++ b/app/javascript/flavours/glitch/features/video/index.jsx
@@ -10,9 +10,9 @@ import { is } from 'immutable';
import { throttle } from 'lodash';
import { Blurhash } from 'flavours/glitch/components/blurhash';
-import { Icon } from 'flavours/glitch/components/icon';
-import { displayMedia, useBlurhash } from 'flavours/glitch/initial_state';
+import { Icon } from 'flavours/glitch/components/icon';
+import { displayMedia, useBlurhash } from '../../initial_state';
import { isFullscreen, requestFullscreen, exitFullscreen } from '../ui/util/fullscreen';
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/locales/cy.json b/app/javascript/flavours/glitch/locales/cy.json
index f7b668e4e6d6e8..487d2c08eb37db 100644
--- a/app/javascript/flavours/glitch/locales/cy.json
+++ b/app/javascript/flavours/glitch/locales/cy.json
@@ -1,4 +1,46 @@
{
+ "about.fork_disclaimer": "Mae Glitch-Soc yn feddalwedd di-dal a ffynhonnell agored wedi'i fforchio o Mastodon.",
+ "account.add_account_note": "Ychwanegu nodyn ar @{name}",
+ "account.disclaimer_full": "Mae'n bosib nad yw'r gwybodaeth isod yn rhoi darlun cyfan o broffil y defnyddiwr.",
+ "account.follows": "Yn dilyn",
+ "account.joined": "Ymunodd ar {date}",
+ "account.mute_notifications": "Diffodd hysbysiadau o @{name}",
+ "account.suspended_disclaimer_full": "Mae'r defnyddiwr yma wedi'i atal gan gymedrolwr.",
+ "account.unmute_notifications": "Dad-dawelu hysbysiadau o @{name}",
+ "account.view_full_profile": "Dangos proffil cyfan",
+ "account_note.cancel": "Canslo",
+ "account_note.edit": "Golygu",
+ "account_note.glitch_placeholder": "Dim sylw wedi'i roi",
+ "account_note.save": "Cadw",
+ "advanced_options.icon_title": "Dewisiadau uwch",
+ "advanced_options.local-only.short": "Lleol yn unig",
+ "advanced_options.local-only.tooltip": "Mae'r post yma'n lleol yn unig",
+ "advanced_options.threaded_mode.short": "Modd edafau",
+ "advanced_options.threaded_mode.tooltip": "Modd edafau wedi'i alluogi",
+ "boost_modal.missing_description": "Mae'r tŵt yma'n cynnwys ychydig gyfryngau heb ddisgrifiad",
+ "column.favourited_by": "Wedi'i hoffi gan",
+ "column.heading": "Misg",
+ "column.reblogged_by": "Wedi'i bŵstio gan",
+ "column.subheading": "Opsiynnau arall",
+ "column_header.profile": "Proffil",
+ "column_subheading.lists": "Rhestri",
+ "column_subheading.navigation": "Llywio",
+ "community.column_settings.allow_local_only": "Dangos tŵtiau lleol yn unig",
+ "compose.attach": "Atodi...",
+ "compose.attach.doodle": "Darlinio rhywbeth",
+ "compose.attach.upload": "Uwchlwythio ffeil",
+ "compose.content-type.html": "HTML",
+ "compose.content-type.markdown": "Markdown",
+ "compose.content-type.plain": "Testun plaen",
+ "compose_form.poll.multiple_choices": "Caniatau sawl dewis",
+ "compose_form.poll.single_choice": "Caniatau un dewis",
+ "compose_form.spoiler": "Cuddio testun tu ôl rhybydd",
+ "confirmations.missing_media_description.confirm": "Anfon beth bynnag",
+ "confirmations.missing_media_description.edit": "Golygu cyfryngau",
+ "confirmations.unfilter.author": "Awdur",
+ "confirmations.unfilter.confirm": "Dangos",
+ "confirmations.unfilter.edit_filter": "Golygi hidlydd",
+ "content-type.change": "Math cynnwys",
"empty_column.follow_recommendations": "Does dim awgrymiadau yma i chi. Gallwch geisio chwilio am bobl rydych yn eu hadnabod neu edrych drwy hashnodau sy'n trendio.",
"follow_recommendations.done": "Wedi gorffen",
"follow_recommendations.heading": "Dilynwch y bobl yr hoffech chi weld eu postiadau! Dyma ambell i awgrymiad.",
diff --git a/app/javascript/flavours/glitch/locales/de.json b/app/javascript/flavours/glitch/locales/de.json
index d0bb329ad324c7..a9ca2e9316129d 100644
--- a/app/javascript/flavours/glitch/locales/de.json
+++ b/app/javascript/flavours/glitch/locales/de.json
@@ -4,7 +4,9 @@
"account.disclaimer_full": "Die folgenden Informationen könnten das Profil des Nutzers unvollständig wiedergeben.",
"account.follows": "Folgt",
"account.joined": "Beigetreten am {date}",
+ "account.mute_notifications": "Benachrichtigungen von @{name} stummschalten",
"account.suspended_disclaimer_full": "Dieser Nutzer wurde durch einen Moderator gesperrt.",
+ "account.unmute_notifications": "Benachrichtigungen von @{name} nicht mehr stummschalten",
"account.view_full_profile": "Vollständiges Profil anzeigen",
"account_note.cancel": "Abbrechen",
"account_note.edit": "Bearbeiten",
@@ -47,9 +49,10 @@
"confirmations.unfilter.filters": "Passende{count, plural, one {r} other {}} Filter",
"content-type.change": "Inhaltstyp",
"direct.group_by_conversations": "Nach Unterhaltung gruppieren",
- "empty_column.follow_recommendations": "Es sieht so aus, als könnten keine Vorschläge für dich generiert werden. Du kannst versuchen, nach Leuten zu suchen, die du vielleicht kennst, oder du kannst angesagte Hashtags erkunden.",
+ "empty_column.follow_recommendations": "Es sieht so aus, als könnten keine Vorschläge für dich generiert werden. Du kannst versuchen, nach Leuten, die du vielleicht kennst, oder du kannst angesagte Hashtags erkunden.",
"endorsed_accounts_editor.endorsed_accounts": "Empfohlene Konten",
"favourite_modal.combo": "Mit {combo} wird dieses Fenster beim nächsten Mal nicht mehr angezeigt",
+ "firehose.column_settings.allow_local_only": "Zeige \"nur Lokal\"-Beiträge in \"Alle\"",
"follow_recommendations.done": "Fertig",
"follow_recommendations.heading": "Folge Leuten, deren Beiträge du sehen möchtest! Hier sind einige Vorschläge.",
"follow_recommendations.lead": "Beiträge von Leuten, denen du folgst, werden in chronologischer Reihenfolge auf deiner Startseite angezeigt. Sei unbesorgt, mal Fehler zu begehen. Du kannst Leuten jederzeit ganz einfach wieder entfolgen!",
diff --git a/app/javascript/flavours/glitch/locales/es-MX.json b/app/javascript/flavours/glitch/locales/es-MX.json
index 306a55c2df175c..7a8af6bed3db9d 100644
--- a/app/javascript/flavours/glitch/locales/es-MX.json
+++ b/app/javascript/flavours/glitch/locales/es-MX.json
@@ -4,7 +4,9 @@
"account.disclaimer_full": "La información aquí presentada puede reflejar de manera incompleta el perfil del usuario.",
"account.follows": "Seguir",
"account.joined": "Unido {date}",
+ "account.mute_notifications": "Silenciar notificaciones de @{name}",
"account.suspended_disclaimer_full": "Este usuario ha sido suspendido por un moderador.",
+ "account.unmute_notifications": "Dejar de silenciar notificaciones de @{name}",
"account.view_full_profile": "Ver perfil completo",
"account_note.cancel": "Cancelar",
"account_note.edit": "Editar",
@@ -50,6 +52,7 @@
"empty_column.follow_recommendations": "Parece que no se ha podido generar ninguna sugerencia para ti. Puedes probar a buscar a gente que quizá conozcas o explorar los hashtags que están en tendencia.",
"endorsed_accounts_editor.endorsed_accounts": "Cuentas destacadas",
"favourite_modal.combo": "Puedes presionar {combo} para omitir esto la próxima vez",
+ "firehose.column_settings.allow_local_only": "Mostrar mensajes solo-locales en \"Todo\"",
"follow_recommendations.done": "Hecho",
"follow_recommendations.heading": "¡Sigue a gente que publique cosas que te gusten! Aquí tienes algunas sugerencias.",
"follow_recommendations.lead": "Las publicaciones de la gente a la que sigas aparecerán ordenadas cronológicamente en Inicio. No tengas miedo de cometer errores, ¡puedes dejarles de seguir en cualquier momento con la misma facilidad!",
diff --git a/app/javascript/flavours/glitch/locales/es.json b/app/javascript/flavours/glitch/locales/es.json
index 0dddbcb99dddc8..690747d3057173 100644
--- a/app/javascript/flavours/glitch/locales/es.json
+++ b/app/javascript/flavours/glitch/locales/es.json
@@ -1,10 +1,12 @@
{
"about.fork_disclaimer": "Glitch-soc es software gratuito, de código abierto, bifurcado de Mastodon.",
"account.add_account_note": "Añadir nota para @{name}",
- "account.disclaimer_full": "La información aquí presentada puede reflejar de manera incompleta el perfil del usuario.",
+ "account.disclaimer_full": "La información que figura a continuación puede reflejar el perfil de la cuenta de forma incompleta.",
"account.follows": "Sigue",
- "account.joined": "Unido el {date}",
+ "account.joined": "Se unió el {date}",
+ "account.mute_notifications": "Silenciar notificaciones de @{name}",
"account.suspended_disclaimer_full": "Este usuario ha sido suspendido por un moderador.",
+ "account.unmute_notifications": "Dejar de silenciar notificaciones de @{name}",
"account.view_full_profile": "Ver perfil completo",
"account_note.cancel": "Cancelar",
"account_note.edit": "Editar",
@@ -25,7 +27,7 @@
"column_header.profile": "Perfil",
"column_subheading.lists": "Listas",
"column_subheading.navigation": "Navegación",
- "community.column_settings.allow_local_only": "Mostrar sólo toots locales",
+ "community.column_settings.allow_local_only": "Mostrar toots solo-locales",
"compose.attach": "Adjuntar...",
"compose.attach.doodle": "Dibujar algo",
"compose.attach.upload": "Subir un archivo",
@@ -50,6 +52,7 @@
"empty_column.follow_recommendations": "Parece que no se ha podido generar ninguna sugerencia para ti. Puedes probar a buscar a gente que quizá conozcas o explorar los hashtags que están en tendencia.",
"endorsed_accounts_editor.endorsed_accounts": "Cuentas destacadas",
"favourite_modal.combo": "Puedes presionar {combo} para omitir esto la próxima vez",
+ "firehose.column_settings.allow_local_only": "Mostrar mensajes solo-locales en \"Todo\"",
"follow_recommendations.done": "Hecho",
"follow_recommendations.heading": "¡Sigue a gente que publique cosas que te gusten! Aquí tienes algunas sugerencias.",
"follow_recommendations.lead": "Las publicaciones de la gente a la que sigas aparecerán ordenadas cronológicamente en Inicio. No tengas miedo de cometer errores, ¡puedes dejarles de seguir en cualquier momento con la misma facilidad!",
diff --git a/app/javascript/flavours/glitch/locales/nl.json b/app/javascript/flavours/glitch/locales/nl.json
index 51a96814da08eb..fb3ca80e4ea634 100644
--- a/app/javascript/flavours/glitch/locales/nl.json
+++ b/app/javascript/flavours/glitch/locales/nl.json
@@ -1,10 +1,74 @@
{
+ "account.follows": "Volgers",
+ "account.joined": "Lid sinds {date}",
+ "account.mute_notifications": "Meldingen dempen van @{name}",
+ "account.unmute_notifications": "Meldingen van @{name} niet langer dempen",
+ "account.view_full_profile": "Volledig profiel weergeven",
+ "account_note.cancel": "Annuleer",
+ "account_note.edit": "Bewerk",
+ "account_note.glitch_placeholder": "Geen notitie toegevoegd",
+ "account_note.save": "Opslaan",
+ "advanced_options.icon_title": "Geavanceerde opties",
+ "advanced_options.local-only.long": "Niet naar andere instanties sturen",
+ "advanced_options.local-only.short": "Alleen lokaal",
+ "advanced_options.local-only.tooltip": "Dit bericht alleen lokaal",
+ "advanced_options.threaded_mode.short": "Thread modus",
+ "advanced_options.threaded_mode.tooltip": "Thread modus ingeschakeld",
+ "boost_modal.missing_description": "Deze toot bevat media zonder beschrijving",
+ "column.favourited_by": "Favoriet door",
+ "column.heading": "Overige",
+ "column.reblogged_by": "Geboost door",
+ "column.subheading": "Diverse opties",
+ "column_header.profile": "Profiel",
+ "column_subheading.lists": "Lijsten",
+ "column_subheading.navigation": "Navigatie",
+ "community.column_settings.allow_local_only": "Toon alleen lokale toots",
+ "compose.attach.doodle": "Teken iets",
+ "compose.attach.upload": "Bestand uploaden",
+ "compose.content-type.html": "HTML",
+ "compose.content-type.markdown": "Markdown",
+ "compose.content-type.plain": "Onopgemaakte tekst",
+ "compose_form.poll.multiple_choices": "Meerdere keuzes toestaan",
+ "compose_form.poll.single_choice": "Eén keuze toestaan",
+ "compose_form.spoiler": "Verberg tekst achter waarschuwing",
+ "confirmation_modal.do_not_ask_again": "Vraag niet meer om bevestiging",
+ "confirmations.deprecated_settings.confirm": "Gebruik voorkeuren van Mastodon",
+ "confirmations.missing_media_description.confirm": "Toch verzenden",
+ "confirmations.missing_media_description.edit": "Media bewerken",
+ "confirmations.missing_media_description.message": "Minstens één media-bijlage mist een beschrijving. Overweeg om alle mediabijlagen voor slechtzienden te beschrijven voordat u uw toot verstuurt.",
+ "confirmations.unfilter.author": "Auteur",
+ "confirmations.unfilter.confirm": "Weergeven",
+ "confirmations.unfilter.edit_filter": "Filter bewerken",
+ "content-type.change": "Inhoudstype",
+ "direct.group_by_conversations": "Groeperen op gesprek",
"empty_column.follow_recommendations": "Het lijkt er op dat er geen aanbevelingen voor jou aangemaakt kunnen worden. Je kunt proberen te zoeken naar mensen die je wellicht kent, zoeken op hashtags, de lokale en globale tijdlijnen bekijken of de gebruikersgids doorbladeren.",
+ "endorsed_accounts_editor.endorsed_accounts": "Aanbevolen accounts",
"follow_recommendations.done": "Klaar",
"follow_recommendations.heading": "Volg mensen waarvan je graag berichten wil zien! Hier zijn enkele aanbevelingen.",
"follow_recommendations.lead": "Berichten van mensen die je volgt zullen in chronologische volgorde op jouw starttijdlijn verschijnen. Wees niet bang om hierin fouten te maken, want je kunt mensen op elk moment net zo eenvoudig ontvolgen!",
+ "home.column_settings.advanced": "Geavanceerd",
+ "navigation_bar.featured_users": "Aanbevolen gebruikers",
+ "notification_purge.btn_all": "Alles selecteren",
+ "notification_purge.btn_invert": "Selectie omkeren",
+ "notifications.marked_clear": "Wis geselecteerde meldingen",
+ "notifications.marked_clear_confirmation": "Weet je zeker dat je alle geselecteerde meldingen permanent wilt wissen?",
+ "onboarding.next": "Volgende",
+ "onboarding.page_four.notifications": "Het meldingenkolom toont wanneer iemand met je omgaat.",
"onboarding.page_one.federation": "{domain} is an \"instance\" of Mastodon. Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
"onboarding.page_six.github": "{domain} runs on Glitchsoc. Glitchsoc is a friendly {fork} of {Mastodon}. Glitchsoc is fully compatible with all Mastodon apps and instances. Glitchsoc is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
+ "settings.auto_collapse_height": "Hoogte (in pixels) voor een toot om als lang beschouwd te worden",
+ "settings.auto_collapse_lengthy": "Lange toots",
+ "settings.auto_collapse_media": "Toots met media",
+ "settings.auto_collapse_notifications": "Meldingen",
+ "settings.auto_collapse_reblogs": "Boosts",
+ "settings.auto_collapse_replies": "Antwoorden",
+ "settings.close": "Sluiten",
"settings.content_warnings": "Content warnings",
+ "settings.general": "Algemeen",
+ "settings.media": "Media",
+ "settings.notifications.favicon_badge": "Ongelezen meldingen badge op favicon",
+ "settings.notifications_opts": "Meldingsopties",
+ "settings.pop_in_left": "Linkerkant",
+ "settings.pop_in_right": "Rechterkant",
"settings.preferences": "Preferences"
}
diff --git a/app/javascript/flavours/glitch/locales/uk.json b/app/javascript/flavours/glitch/locales/uk.json
index a8f6e42e849a34..917bc2c0110d78 100644
--- a/app/javascript/flavours/glitch/locales/uk.json
+++ b/app/javascript/flavours/glitch/locales/uk.json
@@ -4,7 +4,9 @@
"account.disclaimer_full": "Наведена нижче інформація може не повністю відображати профіль користувача.",
"account.follows": "Підписки",
"account.joined": "Приєднався {date}",
+ "account.mute_notifications": "Не показувати сповіщення від @{name}",
"account.suspended_disclaimer_full": "Цей користувач був призупинений модератором.",
+ "account.unmute_notifications": "Показувати сповіщення від @{name}",
"account.view_full_profile": "Переглянути повний профіль",
"account_note.cancel": "Скасувати",
"account_note.edit": "Змінити",
@@ -50,6 +52,7 @@
"empty_column.follow_recommendations": "Схоже, для вас не було створено жодної пропозиції. Ви можете спробувати скористатися пошуком людей, яких ви можете знати, або переглянути популярні гештеґи.",
"endorsed_accounts_editor.endorsed_accounts": "Рекомендовані облікові записи",
"favourite_modal.combo": "Ви можете натиснути {combo}, щоб пропустити це наступного разу",
+ "firehose.column_settings.allow_local_only": "Відображати локальні повідомлення в \"Все\"",
"follow_recommendations.done": "Готово",
"follow_recommendations.heading": "Підпишіться на людей, чиї дописи ви хочете бачити! Ось деякі пропозиції.",
"follow_recommendations.lead": "Дописи від людей, за якими ви стежите, з'являться в хронологічному порядку у вашій домашній стрічці. Не бійся помилятися, ви можете відписатися від людей так само легко в будь-який час!",
diff --git a/app/javascript/flavours/glitch/locales/zh-TW.json b/app/javascript/flavours/glitch/locales/zh-TW.json
index 221d8f9d68f102..3411876e3927b6 100644
--- a/app/javascript/flavours/glitch/locales/zh-TW.json
+++ b/app/javascript/flavours/glitch/locales/zh-TW.json
@@ -15,19 +15,19 @@
"advanced_options.icon_title": "進階選項",
"advanced_options.local-only.long": "不要傳遞給其他實例",
"advanced_options.local-only.short": "僅限本地",
- "advanced_options.local-only.tooltip": "此嘟文僅限本地",
+ "advanced_options.local-only.tooltip": "此貼文僅限本地",
"advanced_options.threaded_mode.long": "發佈時自動打開回覆",
"advanced_options.threaded_mode.short": "討論串模式",
"advanced_options.threaded_mode.tooltip": "已啟用討論串模式",
- "boost_modal.missing_description": "此嘟文包含未加說明的媒體檔案",
+ "boost_modal.missing_description": "此貼文包含未加說明的媒體檔案",
"column.favourited_by": "誰按了最愛",
"column.heading": "雜項",
- "column.reblogged_by": "被誰轉嘟",
+ "column.reblogged_by": "被誰轉貼",
"column.subheading": "其他選項",
"column_header.profile": "個人檔案",
"column_subheading.lists": "列表",
"column_subheading.navigation": "導覽",
- "community.column_settings.allow_local_only": "顯示僅限本地的嘟文",
+ "community.column_settings.allow_local_only": "顯示僅限本地的貼文",
"compose.attach": "附加...",
"compose.attach.doodle": "塗鴉",
"compose.attach.upload": "上傳檔案",
@@ -42,7 +42,7 @@
"confirmations.deprecated_settings.message": "您正在使用的某些特定於 glitch-soc 設備的 {app_settings} 已被 Mastodon {preferences} 所取代,並將被覆蓋:",
"confirmations.missing_media_description.confirm": "仍要張貼",
"confirmations.missing_media_description.edit": "編輯媒體",
- "confirmations.missing_media_description.message": "至少有一個媒體附件缺少說明。 在發送嘟文之前,請考慮為視障人士在所有媒體附件加上說明。",
+ "confirmations.missing_media_description.message": "至少有一個媒體附件缺少說明。 在發送貼文之前,請考慮為視障人士在所有媒體附件加上說明。",
"confirmations.unfilter.author": "作者",
"confirmations.unfilter.confirm": "顯示",
"confirmations.unfilter.edit_filter": "編輯篩選器",
@@ -53,16 +53,16 @@
"favourite_modal.combo": "下次您可以按 {combo} 跳過",
"firehose.column_settings.allow_local_only": "在「全部」顯示僅限本地的貼文",
"follow_recommendations.done": "完成",
- "follow_recommendations.heading": "跟隨您想檢視其嘟文的人!這裡有一些建議。",
- "follow_recommendations.lead": "來自您跟隨的人之嘟文將會按時間順序顯示在您的首頁時間軸上。不要害怕犯錯,您隨時都可以取消跟隨其他人!",
+ "follow_recommendations.heading": "跟隨您想檢視其貼文的人!這裡有一些建議。",
+ "follow_recommendations.lead": "來自您跟隨的人之貼文將會按時間順序顯示在您的首頁時間軸上。不要害怕犯錯,您隨時都可以取消跟隨其他人!",
"getting_started.onboarding": "帶我四處看看",
"home.column_settings.advanced": "進階設定",
"home.column_settings.filter_regex": "以正規表達式進行過濾",
"home.column_settings.show_direct": "顯示私人提及",
"home.settings": "欄位設定",
"keyboard_shortcuts.bookmark": "到書籤",
- "keyboard_shortcuts.secondary_toot": "使用次要隱私設定來發布嘟文",
- "keyboard_shortcuts.toggle_collapse": "去折疊/展開嘟文",
+ "keyboard_shortcuts.secondary_toot": "使用次要隱私設定來發布貼文",
+ "keyboard_shortcuts.toggle_collapse": "去折疊/展開貼文",
"media_gallery.sensitive": "敏感",
"moved_to_warning": "此帳戶已標記為移至 {moved_to_link},因此可能不接受新的追隨者。",
"navigation_bar.app_settings": "應用程式設定",
@@ -99,37 +99,37 @@
"settings.always_show_spoilers_field": "永遠啟用內容警告欄位",
"settings.auto_collapse": "自動折疊",
"settings.auto_collapse_all": "全部",
- "settings.auto_collapse_height": "高度超過多少像素會被視為較長的嘟文",
- "settings.auto_collapse_lengthy": "較長的嘟文",
- "settings.auto_collapse_media": "包含媒體檔案的嘟文",
+ "settings.auto_collapse_height": "高度超過多少像素會被視為較長的貼文",
+ "settings.auto_collapse_lengthy": "較長的貼文",
+ "settings.auto_collapse_media": "包含媒體檔案的貼文",
"settings.auto_collapse_notifications": "通知",
- "settings.auto_collapse_reblogs": "轉嘟",
+ "settings.auto_collapse_reblogs": "轉貼",
"settings.auto_collapse_replies": "回覆",
"settings.close": "關閉",
- "settings.collapsed_statuses": "折疊的嘟文",
- "settings.compose_box_opts": "嘟文撰寫框",
- "settings.confirm_before_clearing_draft": "在覆蓋編輯中的嘟文前顯示確認對話框",
- "settings.confirm_boost_missing_media_description": "在轉嘟包含缺少說明的媒體檔案的嘟文前顯示確認對話框",
- "settings.confirm_missing_media_description": "在發出包含缺少說明的媒體檔案的嘟文前顯示確認對話框",
+ "settings.collapsed_statuses": "折疊的貼文",
+ "settings.compose_box_opts": "貼文撰寫框",
+ "settings.confirm_before_clearing_draft": "在覆蓋編輯中的貼文前顯示確認對話框",
+ "settings.confirm_boost_missing_media_description": "在轉貼包含缺少說明的媒體檔案的貼文前顯示確認對話框",
+ "settings.confirm_missing_media_description": "在發出包含缺少說明的媒體檔案的貼文前顯示確認對話框",
"settings.content_warnings": "內容警告",
"settings.content_warnings.regexp": "正規表達式",
"settings.content_warnings_filter": "不要自動展開內容警告:",
"settings.content_warnings_media_outside": "在內容警告外顯示媒體檔案",
"settings.content_warnings_media_outside_hint": "透過內容警告切換不影響媒體檔案來重現上游 Mastodon 行為",
"settings.content_warnings_shared_state": "一次顯示/隱藏所有副本的內容",
- "settings.content_warnings_shared_state_hint": "透過內容警告按鈕同時影響嘟文的所有副本來重現上游 Mastodon 行為。 這將防止任何帶有展開的內容警告的嘟文副本自動折疊",
+ "settings.content_warnings_shared_state_hint": "透過內容警告按鈕同時影響貼文的所有副本來重現上游 Mastodon 行為。 這將防止任何帶有展開的內容警告的貼文副本自動折疊",
"settings.content_warnings_unfold_opts": "自動展開選項",
"settings.deprecated_setting": "此設定現在已由 Mastodon 的 {settings_page_link} 控制。",
- "settings.enable_collapsed": "啟用折疊的嘟文",
- "settings.enable_collapsed_hint": "折疊的嘟文隱藏了部分內容,以佔用更少的屏幕空間。這與內容警告功能不同",
+ "settings.enable_collapsed": "啟用折疊的貼文",
+ "settings.enable_collapsed_hint": "折疊的貼文隱藏了部分內容,以佔用更少的螢幕空間。這與內容警告功能不同",
"settings.enable_content_warnings_auto_unfold": "自動展開內容警告",
"settings.general": "一般設定",
"settings.hicolor_privacy_icons": "隱私圖示使用對比色",
"settings.hicolor_privacy_icons.hint": "用明亮且易於區分的顏色顯示隱私圖示",
"settings.image_backgrounds": "圖片背景",
- "settings.image_backgrounds_media": "預覽折疊嘟文的媒體檔案",
- "settings.image_backgrounds_media_hint": "如果嘟文包含媒體檔案,使用第一個作為圖片背景",
- "settings.image_backgrounds_users": "為折疊的嘟文加上圖片背景",
+ "settings.image_backgrounds_media": "預覽折疊貼文的媒體檔案",
+ "settings.image_backgrounds_media_hint": "如果貼文包含媒體檔案,使用第一個作為圖片背景",
+ "settings.image_backgrounds_users": "為折疊的貼文加上圖片背景",
"settings.inline_preview_cards": "針對外部連接顯示內嵌的預覽卡",
"settings.layout_opts": "版面選項",
"settings.media": "媒體",
@@ -150,26 +150,26 @@
"settings.prepend_cw_re": "回覆時在內容警告前添加 \"re:\"",
"settings.preselect_on_reply": "回覆時預先選擇用戶名稱",
"settings.preselect_on_reply_hint": "回覆與多個參與者的對話時,預先選擇第一個參與者之後的用戶名稱",
- "settings.rewrite_mentions": "改寫已顯示嘟文中的提及",
+ "settings.rewrite_mentions": "改寫已顯示貼文中的提及",
"settings.rewrite_mentions_acct": "改寫為使用者名稱與網域(當使用者來自外部)",
"settings.rewrite_mentions_no": "不要改寫提及",
"settings.rewrite_mentions_username": "改寫為使用者名稱",
"settings.shared_settings_link": "使用者偏好設定",
- "settings.show_action_bar": "在折疊的嘟文顯示操作按鈕",
- "settings.show_content_type_choice": "在編寫嘟文時顯示內容類型選擇",
+ "settings.show_action_bar": "在折疊的貼文顯示操作按鈕",
+ "settings.show_content_type_choice": "在編寫貼文時顯示內容類型選擇",
"settings.show_reply_counter": "顯示回覆數量的估計值",
- "settings.side_arm": "次要發出嘟文按鈕",
+ "settings.side_arm": "次要發出貼文按鈕",
"settings.side_arm.none": "無",
- "settings.side_arm_reply_mode": "當回覆一篇嘟文時,次要發出嘟文按鈕應該設為:",
- "settings.side_arm_reply_mode.copy": "複製回覆嘟文的隱私設置",
+ "settings.side_arm_reply_mode": "當回覆一篇貼文時,次要發出嘟文按鈕應該設為:",
+ "settings.side_arm_reply_mode.copy": "複製回覆貼文的隱私設置",
"settings.side_arm_reply_mode.keep": "保持原本的隱私設定",
- "settings.side_arm_reply_mode.restrict": "限制只能使用與回覆嘟文相同的隱私設置",
- "settings.status_icons": "嘟文圖示",
+ "settings.side_arm_reply_mode.restrict": "限制只能使用與回覆貼文相同的隱私設置",
+ "settings.status_icons": "貼文圖示",
"settings.status_icons_language": "語言指示器",
"settings.status_icons_local_only": "僅限本地指示器",
"settings.status_icons_media": "媒體與投票指示器",
"settings.status_icons_reply": "回覆指示器",
- "settings.status_icons_visibility": "嘟文隱私指示器",
+ "settings.status_icons_visibility": "貼文隱私指示器",
"settings.swipe_to_change_columns": "允許使用滑動手勢更改顯示欄位(僅限移動裝置)",
"settings.tag_misleading_links": "標記誤導性的連結",
"settings.tag_misleading_links.hint": "在每個未明確提及的連結添加帶有連結目標主機的視覺指示",
@@ -180,8 +180,8 @@
"status.has_pictures": "包含圖片",
"status.has_preview_card": "包含預覽卡",
"status.has_video": "包含視訊檔案",
- "status.in_reply_to": "嘟文有回覆",
- "status.is_poll": "嘟文有投票",
+ "status.in_reply_to": "貼文有回覆",
+ "status.is_poll": "貼文有投票",
"status.local_only": "只在此實例可見",
"status.sensitive_toggle": "點擊查看",
"status.uncollapse": "展開",
diff --git a/app/javascript/flavours/glitch/reducers/alerts.js b/app/javascript/flavours/glitch/reducers/alerts.js
index 4e237d419d2aba..bd49d748f97d7a 100644
--- a/app/javascript/flavours/glitch/reducers/alerts.js
+++ b/app/javascript/flavours/glitch/reducers/alerts.js
@@ -4,7 +4,7 @@ import {
ALERT_SHOW,
ALERT_DISMISS,
ALERT_CLEAR,
-} from 'flavours/glitch/actions/alerts';
+} from '../actions/alerts';
const initialState = ImmutableList([]);
diff --git a/app/javascript/flavours/glitch/reducers/compose.js b/app/javascript/flavours/glitch/reducers/compose.js
index 0915ecba0f21bb..d71148be2838cf 100644
--- a/app/javascript/flavours/glitch/reducers/compose.js
+++ b/app/javascript/flavours/glitch/reducers/compose.js
@@ -51,16 +51,15 @@ import {
COMPOSE_CHANGE_MEDIA_DESCRIPTION,
COMPOSE_CHANGE_MEDIA_FOCUS,
COMPOSE_SET_STATUS,
-} from 'flavours/glitch/actions/compose';
-import { REDRAFT } from 'flavours/glitch/actions/statuses';
-import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
-import { TIMELINE_DELETE } from 'flavours/glitch/actions/timelines';
-import { me, defaultContentType } from 'flavours/glitch/initial_state';
-import { recoverHashtags } from 'flavours/glitch/utils/hashtag';
-import { unescapeHTML } from 'flavours/glitch/utils/html';
-import { overwrite } from 'flavours/glitch/utils/js_helpers';
-import { privacyPreference } from 'flavours/glitch/utils/privacy_preference';
-
+} from '../actions/compose';
+import { REDRAFT } from '../actions/statuses';
+import { STORE_HYDRATE } from '../actions/store';
+import { TIMELINE_DELETE } from '../actions/timelines';
+import { me, defaultContentType } from '../initial_state';
+import { recoverHashtags } from '../utils/hashtag';
+import { unescapeHTML } from '../utils/html';
+import { overwrite } from '../utils/js_helpers';
+import { privacyPreference } from '../utils/privacy_preference';
import { uuid } from '../uuid';
const totalElefriends = 3;
diff --git a/app/javascript/flavours/glitch/reducers/contexts.js b/app/javascript/flavours/glitch/reducers/contexts.js
index 552709383e0111..32e194dd42568c 100644
--- a/app/javascript/flavours/glitch/reducers/contexts.js
+++ b/app/javascript/flavours/glitch/reducers/contexts.js
@@ -3,10 +3,9 @@ import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
import {
ACCOUNT_BLOCK_SUCCESS,
ACCOUNT_MUTE_SUCCESS,
-} from 'flavours/glitch/actions/accounts';
-import { CONTEXT_FETCH_SUCCESS } from 'flavours/glitch/actions/statuses';
-import { TIMELINE_DELETE, TIMELINE_UPDATE } from 'flavours/glitch/actions/timelines';
-
+} from '../actions/accounts';
+import { CONTEXT_FETCH_SUCCESS } from '../actions/statuses';
+import { TIMELINE_DELETE, TIMELINE_UPDATE } from '../actions/timelines';
import { compareId } from '../compare_id';
const initialState = ImmutableMap({
@@ -68,7 +67,8 @@ const deleteFromContexts = (immutableState, ids) => immutableState.withMutations
});
const filterContexts = (state, relationship, statuses) => {
- const ownedStatusIds = statuses.filter(status => status.get('account') === relationship.id)
+ const ownedStatusIds = statuses
+ .filter(status => status.get('account') === relationship.id)
.map(status => status.get('id'));
return deleteFromContexts(state, ownedStatusIds);
diff --git a/app/javascript/flavours/glitch/reducers/custom_emojis.js b/app/javascript/flavours/glitch/reducers/custom_emojis.js
index 13396db7e77ee6..56ec80f2ffce22 100644
--- a/app/javascript/flavours/glitch/reducers/custom_emojis.js
+++ b/app/javascript/flavours/glitch/reducers/custom_emojis.js
@@ -1,8 +1,8 @@
import { List as ImmutableList, fromJS as ConvertToImmutable } from 'immutable';
-import { CUSTOM_EMOJIS_FETCH_SUCCESS } from 'flavours/glitch/actions/custom_emojis';
-import { buildCustomEmojis } from 'flavours/glitch/features/emoji/emoji';
-import { search as emojiSearch } from 'flavours/glitch/features/emoji/emoji_mart_search_light';
+import { CUSTOM_EMOJIS_FETCH_SUCCESS } from '../actions/custom_emojis';
+import { buildCustomEmojis } from '../features/emoji/emoji';
+import { search as emojiSearch } from '../features/emoji/emoji_mart_search_light';
const initialState = ImmutableList([]);
diff --git a/app/javascript/flavours/glitch/reducers/height_cache.js b/app/javascript/flavours/glitch/reducers/height_cache.js
index 89282994e3bb54..2664d4f82463f7 100644
--- a/app/javascript/flavours/glitch/reducers/height_cache.js
+++ b/app/javascript/flavours/glitch/reducers/height_cache.js
@@ -1,6 +1,6 @@
import { Map as ImmutableMap } from 'immutable';
-import { HEIGHT_CACHE_SET, HEIGHT_CACHE_CLEAR } from 'flavours/glitch/actions/height_cache';
+import { HEIGHT_CACHE_SET, HEIGHT_CACHE_CLEAR } from '../actions/height_cache';
const initialState = ImmutableMap();
diff --git a/app/javascript/flavours/glitch/reducers/index.ts b/app/javascript/flavours/glitch/reducers/index.ts
index a87e75fcad3640..79febbce3d01cd 100644
--- a/app/javascript/flavours/glitch/reducers/index.ts
+++ b/app/javascript/flavours/glitch/reducers/index.ts
@@ -68,8 +68,8 @@ const reducers = {
push_notifications,
mutes,
blocks,
- server,
boosts,
+ server,
contexts,
compose,
search,
diff --git a/app/javascript/flavours/glitch/reducers/media_attachments.js b/app/javascript/flavours/glitch/reducers/media_attachments.js
index 5086126ab7feeb..cbb4933bc7efa8 100644
--- a/app/javascript/flavours/glitch/reducers/media_attachments.js
+++ b/app/javascript/flavours/glitch/reducers/media_attachments.js
@@ -1,6 +1,6 @@
import { Map as ImmutableMap } from 'immutable';
-import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
+import { STORE_HYDRATE } from '../actions/store';
const initialState = ImmutableMap({
accept_content_types: [],
diff --git a/app/javascript/flavours/glitch/reducers/mutes.js b/app/javascript/flavours/glitch/reducers/mutes.js
index d346d9a78a347e..a9eb61ff834cbc 100644
--- a/app/javascript/flavours/glitch/reducers/mutes.js
+++ b/app/javascript/flavours/glitch/reducers/mutes.js
@@ -4,7 +4,7 @@ import {
MUTES_INIT_MODAL,
MUTES_TOGGLE_HIDE_NOTIFICATIONS,
MUTES_CHANGE_DURATION,
-} from 'flavours/glitch/actions/mutes';
+} from '../actions/mutes';
const initialState = Immutable.Map({
new: Immutable.Map({
diff --git a/app/javascript/flavours/glitch/reducers/notifications.js b/app/javascript/flavours/glitch/reducers/notifications.js
index 9a4b75dce1aacd..7bb11459ca35a9 100644
--- a/app/javascript/flavours/glitch/reducers/notifications.js
+++ b/app/javascript/flavours/glitch/reducers/notifications.js
@@ -1,15 +1,16 @@
import { fromJS, Map as ImmutableMap, List as ImmutableList } from 'immutable';
+import { DOMAIN_BLOCK_SUCCESS } from 'flavours/glitch/actions/domain_blocks';
+
import {
ACCOUNT_BLOCK_SUCCESS,
ACCOUNT_MUTE_SUCCESS,
FOLLOW_REQUEST_AUTHORIZE_SUCCESS,
FOLLOW_REQUEST_REJECT_SUCCESS,
-} from 'flavours/glitch/actions/accounts';
-import { DOMAIN_BLOCK_SUCCESS } from 'flavours/glitch/actions/domain_blocks';
+} from '../actions/accounts';
import {
MARKERS_FETCH_SUCCESS,
-} from 'flavours/glitch/actions/markers';
+} from '../actions/markers';
import {
NOTIFICATIONS_MOUNT,
NOTIFICATIONS_UNMOUNT,
@@ -31,9 +32,8 @@ import {
NOTIFICATIONS_MARK_AS_READ,
NOTIFICATIONS_SET_BROWSER_SUPPORT,
NOTIFICATIONS_SET_BROWSER_PERMISSION,
-} from 'flavours/glitch/actions/notifications';
-import { TIMELINE_DELETE, TIMELINE_DISCONNECT } from 'flavours/glitch/actions/timelines';
-
+} from '../actions/notifications';
+import { TIMELINE_DELETE, TIMELINE_DISCONNECT } from '../actions/timelines';
import { compareId } from '../compare_id';
const initialState = ImmutableMap({
diff --git a/app/javascript/flavours/glitch/reducers/picture_in_picture.js b/app/javascript/flavours/glitch/reducers/picture_in_picture.js
index 395c21245f49fa..961fc5699c1b3b 100644
--- a/app/javascript/flavours/glitch/reducers/picture_in_picture.js
+++ b/app/javascript/flavours/glitch/reducers/picture_in_picture.js
@@ -1,5 +1,6 @@
import { PICTURE_IN_PICTURE_DEPLOY, PICTURE_IN_PICTURE_REMOVE } from 'flavours/glitch/actions/picture_in_picture';
-import { TIMELINE_DELETE } from 'flavours/glitch/actions/timelines';
+
+import { TIMELINE_DELETE } from '../actions/timelines';
const initialState = {
statusId: null,
diff --git a/app/javascript/flavours/glitch/reducers/push_notifications.js b/app/javascript/flavours/glitch/reducers/push_notifications.js
index 23aa9bd03354c3..fa8af0e8ccbdaf 100644
--- a/app/javascript/flavours/glitch/reducers/push_notifications.js
+++ b/app/javascript/flavours/glitch/reducers/push_notifications.js
@@ -1,7 +1,7 @@
import Immutable from 'immutable';
-import { SET_BROWSER_SUPPORT, SET_SUBSCRIPTION, CLEAR_SUBSCRIPTION, SET_ALERTS } from 'flavours/glitch/actions/push_notifications';
-import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
+import { SET_BROWSER_SUPPORT, SET_SUBSCRIPTION, CLEAR_SUBSCRIPTION, SET_ALERTS } from '../actions/push_notifications';
+import { STORE_HYDRATE } from '../actions/store';
const initialState = Immutable.Map({
subscription: null,
diff --git a/app/javascript/flavours/glitch/reducers/relationships.js b/app/javascript/flavours/glitch/reducers/relationships.js
index 38fd0caa490b92..d1ccf9ac953049 100644
--- a/app/javascript/flavours/glitch/reducers/relationships.js
+++ b/app/javascript/flavours/glitch/reducers/relationships.js
@@ -2,7 +2,7 @@ import { Map as ImmutableMap, fromJS } from 'immutable';
import {
ACCOUNT_NOTE_SUBMIT_SUCCESS,
-} from 'flavours/glitch/actions/account_notes';
+} from '../actions/account_notes';
import {
ACCOUNT_FOLLOW_SUCCESS,
ACCOUNT_FOLLOW_REQUEST,
@@ -19,12 +19,11 @@ import {
RELATIONSHIPS_FETCH_SUCCESS,
FOLLOW_REQUEST_AUTHORIZE_SUCCESS,
FOLLOW_REQUEST_REJECT_SUCCESS,
-} from 'flavours/glitch/actions/accounts';
+} from '../actions/accounts';
import {
DOMAIN_BLOCK_SUCCESS,
DOMAIN_UNBLOCK_SUCCESS,
-} from 'flavours/glitch/actions/domain_blocks';
-
+} from '../actions/domain_blocks';
import {
NOTIFICATIONS_UPDATE,
} from '../actions/notifications';
diff --git a/app/javascript/flavours/glitch/reducers/search.js b/app/javascript/flavours/glitch/reducers/search.js
index e4144db62e0d52..72835eb91745f3 100644
--- a/app/javascript/flavours/glitch/reducers/search.js
+++ b/app/javascript/flavours/glitch/reducers/search.js
@@ -4,7 +4,7 @@ import {
COMPOSE_MENTION,
COMPOSE_REPLY,
COMPOSE_DIRECT,
-} from 'flavours/glitch/actions/compose';
+} from '../actions/compose';
import {
SEARCH_CHANGE,
SEARCH_CLEAR,
@@ -16,7 +16,7 @@ import {
SEARCH_EXPAND_SUCCESS,
SEARCH_EXPAND_FAIL,
SEARCH_HISTORY_UPDATE,
-} from 'flavours/glitch/actions/search';
+} from '../actions/search';
const initialState = ImmutableMap({
value: '',
diff --git a/app/javascript/flavours/glitch/reducers/settings.js b/app/javascript/flavours/glitch/reducers/settings.js
index 748523176b7314..736fbf7523758e 100644
--- a/app/javascript/flavours/glitch/reducers/settings.js
+++ b/app/javascript/flavours/glitch/reducers/settings.js
@@ -1,13 +1,12 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
-import { COLUMN_ADD, COLUMN_REMOVE, COLUMN_MOVE, COLUMN_PARAMS_CHANGE } from 'flavours/glitch/actions/columns';
-import { EMOJI_USE } from 'flavours/glitch/actions/emojis';
-import { LANGUAGE_USE } from 'flavours/glitch/actions/languages';
-import { NOTIFICATIONS_FILTER_SET } from 'flavours/glitch/actions/notifications';
-import { SETTING_CHANGE, SETTING_SAVE } from 'flavours/glitch/actions/settings';
-import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
-
+import { COLUMN_ADD, COLUMN_REMOVE, COLUMN_MOVE, COLUMN_PARAMS_CHANGE } from '../actions/columns';
+import { EMOJI_USE } from '../actions/emojis';
+import { LANGUAGE_USE } from '../actions/languages';
import { LIST_DELETE_SUCCESS, LIST_FETCH_FAIL } from '../actions/lists';
+import { NOTIFICATIONS_FILTER_SET } from '../actions/notifications';
+import { SETTING_CHANGE, SETTING_SAVE } from '../actions/settings';
+import { STORE_HYDRATE } from '../actions/store';
import { uuid } from '../uuid';
const initialState = ImmutableMap({
diff --git a/app/javascript/flavours/glitch/reducers/status_lists.js b/app/javascript/flavours/glitch/reducers/status_lists.js
index c4780a661f2d8a..41cc07341c4969 100644
--- a/app/javascript/flavours/glitch/reducers/status_lists.js
+++ b/app/javascript/flavours/glitch/reducers/status_lists.js
@@ -3,7 +3,7 @@ import { Map as ImmutableMap, OrderedSet as ImmutableOrderedSet } from 'immutabl
import {
ACCOUNT_BLOCK_SUCCESS,
ACCOUNT_MUTE_SUCCESS,
-} from 'flavours/glitch/actions/accounts';
+} from '../actions/accounts';
import {
BOOKMARKED_STATUSES_FETCH_REQUEST,
BOOKMARKED_STATUSES_FETCH_SUCCESS,
@@ -11,7 +11,7 @@ import {
BOOKMARKED_STATUSES_EXPAND_REQUEST,
BOOKMARKED_STATUSES_EXPAND_SUCCESS,
BOOKMARKED_STATUSES_EXPAND_FAIL,
-} from 'flavours/glitch/actions/bookmarks';
+} from '../actions/bookmarks';
import {
FAVOURITED_STATUSES_FETCH_REQUEST,
FAVOURITED_STATUSES_FETCH_SUCCESS,
@@ -19,7 +19,7 @@ import {
FAVOURITED_STATUSES_EXPAND_REQUEST,
FAVOURITED_STATUSES_EXPAND_SUCCESS,
FAVOURITED_STATUSES_EXPAND_FAIL,
-} from 'flavours/glitch/actions/favourites';
+} from '../actions/favourites';
import {
FAVOURITE_SUCCESS,
UNFAVOURITE_SUCCESS,
@@ -27,10 +27,10 @@ import {
UNBOOKMARK_SUCCESS,
PIN_SUCCESS,
UNPIN_SUCCESS,
-} from 'flavours/glitch/actions/interactions';
+} from '../actions/interactions';
import {
PINNED_STATUSES_FETCH_SUCCESS,
-} from 'flavours/glitch/actions/pin_statuses';
+} from '../actions/pin_statuses';
import {
TRENDS_STATUSES_FETCH_REQUEST,
TRENDS_STATUSES_FETCH_SUCCESS,
@@ -38,7 +38,7 @@ import {
TRENDS_STATUSES_EXPAND_REQUEST,
TRENDS_STATUSES_EXPAND_SUCCESS,
TRENDS_STATUSES_EXPAND_FAIL,
-} from 'flavours/glitch/actions/trends';
+} from '../actions/trends';
diff --git a/app/javascript/flavours/glitch/reducers/statuses.js b/app/javascript/flavours/glitch/reducers/statuses.js
index 5f8d9c59a0f45d..a43b220199832e 100644
--- a/app/javascript/flavours/glitch/reducers/statuses.js
+++ b/app/javascript/flavours/glitch/reducers/statuses.js
@@ -1,5 +1,7 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
+import { STATUS_IMPORT, STATUSES_IMPORT } from '../actions/importer';
+import { normalizeStatusTranslation } from '../actions/importer/normalizer';
import {
REBLOG_REQUEST,
REBLOG_FAIL,
@@ -18,7 +20,7 @@ import {
REACTION_REMOVE_FAIL,
REACTION_ADD_REQUEST,
REACTION_REMOVE_REQUEST,
-} from 'flavours/glitch/actions/interactions';
+} from '../actions/interactions';
import {
STATUS_MUTE_SUCCESS,
STATUS_UNMUTE_SUCCESS,
@@ -29,13 +31,8 @@ import {
STATUS_TRANSLATE_UNDO,
STATUS_FETCH_REQUEST,
STATUS_FETCH_FAIL,
-} from 'flavours/glitch/actions/statuses';
-import {
- TIMELINE_DELETE,
-} from 'flavours/glitch/actions/timelines';
-
-import { STATUS_IMPORT, STATUSES_IMPORT } from '../actions/importer';
-import { normalizeStatusTranslation } from '../actions/importer/normalizer';
+} from '../actions/statuses';
+import { TIMELINE_DELETE } from '../actions/timelines';
const importStatus = (state, status) => state.set(status.id, fromJS(status));
diff --git a/app/javascript/flavours/glitch/reducers/timelines.js b/app/javascript/flavours/glitch/reducers/timelines.js
index 76bc6c81746deb..69f28d6849a3d8 100644
--- a/app/javascript/flavours/glitch/reducers/timelines.js
+++ b/app/javascript/flavours/glitch/reducers/timelines.js
@@ -4,7 +4,7 @@ import {
ACCOUNT_BLOCK_SUCCESS,
ACCOUNT_MUTE_SUCCESS,
ACCOUNT_UNFOLLOW_SUCCESS,
-} from 'flavours/glitch/actions/accounts';
+} from '../actions/accounts';
import {
TIMELINE_UPDATE,
TIMELINE_DELETE,
@@ -17,8 +17,7 @@ import {
TIMELINE_DISCONNECT,
TIMELINE_LOAD_PENDING,
TIMELINE_MARK_AS_PARTIAL,
-} from 'flavours/glitch/actions/timelines';
-
+} from '../actions/timelines';
import { compareId } from '../compare_id';
const initialState = ImmutableMap();
diff --git a/app/javascript/flavours/glitch/reducers/user_lists.js b/app/javascript/flavours/glitch/reducers/user_lists.js
index d37451d0050034..76786b42201802 100644
--- a/app/javascript/flavours/glitch/reducers/user_lists.js
+++ b/app/javascript/flavours/glitch/reducers/user_lists.js
@@ -1,5 +1,19 @@
import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
+import {
+ DIRECTORY_FETCH_REQUEST,
+ DIRECTORY_FETCH_SUCCESS,
+ DIRECTORY_FETCH_FAIL,
+ DIRECTORY_EXPAND_REQUEST,
+ DIRECTORY_EXPAND_SUCCESS,
+ DIRECTORY_EXPAND_FAIL,
+} from 'flavours/glitch/actions/directory';
+import {
+ FEATURED_TAGS_FETCH_REQUEST,
+ FEATURED_TAGS_FETCH_SUCCESS,
+ FEATURED_TAGS_FETCH_FAIL,
+} from 'flavours/glitch/actions/featured_tags';
+
import {
FOLLOWERS_FETCH_REQUEST,
FOLLOWERS_FETCH_SUCCESS,
@@ -21,7 +35,7 @@ import {
FOLLOW_REQUESTS_EXPAND_FAIL,
FOLLOW_REQUEST_AUTHORIZE_SUCCESS,
FOLLOW_REQUEST_REJECT_SUCCESS,
-} from 'flavours/glitch/actions/accounts';
+} from '../actions/accounts';
import {
BLOCKS_FETCH_REQUEST,
BLOCKS_FETCH_SUCCESS,
@@ -29,20 +43,7 @@ import {
BLOCKS_EXPAND_REQUEST,
BLOCKS_EXPAND_SUCCESS,
BLOCKS_EXPAND_FAIL,
-} from 'flavours/glitch/actions/blocks';
-import {
- DIRECTORY_FETCH_REQUEST,
- DIRECTORY_FETCH_SUCCESS,
- DIRECTORY_FETCH_FAIL,
- DIRECTORY_EXPAND_REQUEST,
- DIRECTORY_EXPAND_SUCCESS,
- DIRECTORY_EXPAND_FAIL,
-} from 'flavours/glitch/actions/directory';
-import {
- FEATURED_TAGS_FETCH_REQUEST,
- FEATURED_TAGS_FETCH_SUCCESS,
- FEATURED_TAGS_FETCH_FAIL,
-} from 'flavours/glitch/actions/featured_tags';
+} from '../actions/blocks';
import {
REBLOGS_FETCH_REQUEST,
REBLOGS_FETCH_SUCCESS,
@@ -56,7 +57,7 @@ import {
FAVOURITES_EXPAND_REQUEST,
FAVOURITES_EXPAND_SUCCESS,
FAVOURITES_EXPAND_FAIL,
-} from 'flavours/glitch/actions/interactions';
+} from '../actions/interactions';
import {
MUTES_FETCH_REQUEST,
MUTES_FETCH_SUCCESS,
@@ -64,13 +65,13 @@ import {
MUTES_EXPAND_REQUEST,
MUTES_EXPAND_SUCCESS,
MUTES_EXPAND_FAIL,
-} from 'flavours/glitch/actions/mutes';
-
+} from '../actions/mutes';
import {
NOTIFICATIONS_UPDATE,
} from '../actions/notifications';
+
const initialListState = ImmutableMap({
next: null,
isLoading: false,
diff --git a/app/javascript/flavours/glitch/selectors/index.js b/app/javascript/flavours/glitch/selectors/index.js
index a296ef8ede2dc0..74188aff6d419a 100644
--- a/app/javascript/flavours/glitch/selectors/index.js
+++ b/app/javascript/flavours/glitch/selectors/index.js
@@ -1,9 +1,10 @@
import { List as ImmutableList, Map as ImmutableMap } from 'immutable';
import { createSelector } from 'reselect';
-import { me } from 'flavours/glitch/initial_state';
import { toServerSideType } from 'flavours/glitch/utils/filters';
+import { me } from '../initial_state';
+
const getAccountBase = (state, id) => state.getIn(['accounts', id], null);
const getAccountCounters = (state, id) => state.getIn(['accounts_counters', id], null);
const getAccountRelationship = (state, id) => state.getIn(['relationships', id], null);
diff --git a/app/javascript/flavours/glitch/store/middlewares/errors.ts b/app/javascript/flavours/glitch/store/middlewares/errors.ts
index 2697f80f189113..4e720bfed4e940 100644
--- a/app/javascript/flavours/glitch/store/middlewares/errors.ts
+++ b/app/javascript/flavours/glitch/store/middlewares/errors.ts
@@ -1,8 +1,7 @@
import type { AnyAction, Middleware } from 'redux';
-import { showAlertForError } from 'flavours/glitch/actions/alerts';
-
import type { RootState } from '..';
+import { showAlertForError } from '../../actions/alerts';
const defaultFailSuffix = 'FAIL';
diff --git a/app/javascript/flavours/glitch/stream.js b/app/javascript/flavours/glitch/stream.js
index 55f009e130307f..ff3af5fd885c96 100644
--- a/app/javascript/flavours/glitch/stream.js
+++ b/app/javascript/flavours/glitch/stream.js
@@ -1,6 +1,7 @@
// @ts-check
import WebSocketClient from '@gamestdio/websocket';
+
/**
* @type {WebSocketClient | undefined}
*/
@@ -85,12 +86,12 @@ const unsubscribe = ({ channelName, params, onDisconnect }) => {
};
const sharedCallbacks = {
- connected () {
+ connected() {
subscriptions.forEach(subscription => subscribe(subscription));
},
// @ts-expect-error
- received (data) {
+ received(data) {
const { stream } = data;
subscriptions.filter(({ channelName, params }) => {
@@ -114,11 +115,11 @@ const sharedCallbacks = {
});
},
- disconnected () {
+ disconnected() {
subscriptions.forEach(subscription => unsubscribe(subscription));
},
- reconnected () {
+ reconnected() {
},
};
@@ -151,19 +152,19 @@ export const connectStream = (channelName, params, callbacks) => (dispatch, getS
// to using individual connections for each channel
if (!streamingAPIBaseURL.startsWith('ws')) {
const connection = createConnection(streamingAPIBaseURL, accessToken, channelNameWithInlineParams(channelName, params), {
- connected () {
+ connected() {
onConnect();
},
- received (data) {
+ received(data) {
onReceive(data);
},
- disconnected () {
+ disconnected() {
onDisconnect();
},
- reconnected () {
+ reconnected() {
onConnect();
},
});
@@ -239,10 +240,10 @@ const createConnection = (streamingAPIBaseURL, accessToken, channelName, { conne
const ws = new WebSocketClient(`${streamingAPIBaseURL}/api/v1/streaming/?${params.join('&')}`, accessToken);
// @ts-expect-error
- ws.onopen = connected;
- ws.onmessage = e => received(JSON.parse(e.data));
+ ws.onopen = connected;
+ ws.onmessage = e => received(JSON.parse(e.data));
// @ts-expect-error
- ws.onclose = disconnected;
+ ws.onclose = disconnected;
// @ts-expect-error
ws.onreconnect = reconnected;
@@ -265,7 +266,7 @@ const createConnection = (streamingAPIBaseURL, accessToken, channelName, { conne
};
KNOWN_EVENT_TYPES.forEach(type => {
- es.addEventListener(type, e => handleEventSourceMessage(/** @type {MessageEvent} */ (e), received));
+ es.addEventListener(type, e => handleEventSourceMessage(/** @type {MessageEvent} */(e), received));
});
es.onerror = /** @type {function(): void} */ (disconnected);
diff --git a/app/javascript/flavours/glitch/styles/components/compose_form.scss b/app/javascript/flavours/glitch/styles/components/compose_form.scss
index 3b85dfbf15e302..0f64c0dcc10f5a 100644
--- a/app/javascript/flavours/glitch/styles/components/compose_form.scss
+++ b/app/javascript/flavours/glitch/styles/components/compose_form.scss
@@ -104,10 +104,7 @@
}
input[type='checkbox'] {
- display: none;
- }
-
- .checkbox {
+ appearance: none;
display: inline-block;
position: relative;
border: 1px solid $ui-primary-color;
@@ -120,8 +117,9 @@
top: -1px;
border-radius: 4px;
vertical-align: middle;
+ cursor: inherit;
- &.active {
+ &:checked {
border-color: $highlight-text-color;
background: $highlight-text-color
url("data:image/svg+xml;utf8,
")
@@ -310,9 +308,9 @@
background: darken($ui-secondary-color, 10%);
}
- > .account,
- > .emoji,
- > .autosuggest-hashtag {
+ .autosuggest-account,
+ .autosuggest-emoji,
+ .autosuggest-hashtag {
display: flex;
flex-direction: row;
align-items: center;
@@ -344,12 +342,13 @@
}
}
- & > .account.small {
- .display-name {
- & > span {
- color: $lighter-text-color;
- }
- }
+ .autosuggest-account-icon,
+ .autosuggest-emoji img {
+ margin-inline-end: 8px;
+ }
+
+ .autosuggest-account .display-name > span {
+ color: $lighter-text-color;
}
}
diff --git a/app/javascript/flavours/glitch/styles/components/status.scss b/app/javascript/flavours/glitch/styles/components/status.scss
index 8a40a89446cc9d..fe47f4616bacc9 100644
--- a/app/javascript/flavours/glitch/styles/components/status.scss
+++ b/app/javascript/flavours/glitch/styles/components/status.scss
@@ -1185,3 +1185,30 @@ a.status-card.compact:hover {
border-color: lighten($ui-base-color, 12%);
}
}
+
+.hashtag-bar {
+ margin-top: 16px;
+ display: flex;
+ flex-wrap: wrap;
+ font-size: 14px;
+ line-height: 18px;
+ gap: 4px;
+ color: $darker-text-color;
+
+ a {
+ display: inline-flex;
+ color: inherit;
+ text-decoration: none;
+
+ &:hover span {
+ text-decoration: underline;
+ }
+ }
+
+ .link-button {
+ color: inherit;
+ font-size: inherit;
+ line-height: inherit;
+ padding: 0;
+ }
+}
diff --git a/app/javascript/flavours/glitch/utils/html.js b/app/javascript/flavours/glitch/utils/html.js
index 5159df9db75beb..247e98c88a7f31 100644
--- a/app/javascript/flavours/glitch/utils/html.js
+++ b/app/javascript/flavours/glitch/utils/html.js
@@ -1,3 +1,4 @@
+// NB: This function can still return unsafe HTML
export const unescapeHTML = (html) => {
const wrapper = document.createElement('div');
wrapper.innerHTML = html.replace(/
/g, '\n').replace(/<\/p>
/g, '\n\n').replace(/<[^>]*>/g, '');
diff --git a/app/javascript/flavours/glitch/utils/icons.jsx b/app/javascript/flavours/glitch/utils/icons.jsx
index 225345af6875e3..be566032e06445 100644
--- a/app/javascript/flavours/glitch/utils/icons.jsx
+++ b/app/javascript/flavours/glitch/utils/icons.jsx
@@ -1,3 +1,5 @@
+// Copied from emoji-mart for consistency with emoji picker and since
+// they don't export the icons in the package
export const loupeIcon = (
diff --git a/app/javascript/flavours/glitch/utils/notifications.js b/app/javascript/flavours/glitch/utils/notifications.js
index 3cdf7caea0cbbd..42623ac7c6898c 100644
--- a/app/javascript/flavours/glitch/utils/notifications.js
+++ b/app/javascript/flavours/glitch/utils/notifications.js
@@ -3,7 +3,7 @@
const checkNotificationPromise = () => {
try {
- // eslint-disable-next-line promise/catch-or-return, promise/valid-params
+ // eslint-disable-next-line promise/valid-params, promise/catch-or-return
Notification.requestPermission().then();
} catch(e) {
return false;
diff --git a/app/javascript/flavours/glitch/utils/numbers.ts b/app/javascript/flavours/glitch/utils/numbers.ts
index 7139bf8039e615..35bcde83e2491a 100644
--- a/app/javascript/flavours/glitch/utils/numbers.ts
+++ b/app/javascript/flavours/glitch/utils/numbers.ts
@@ -1,4 +1,4 @@
-import type { ValueOf } from 'flavours/glitch/types/util';
+import type { ValueOf } from '../types/util';
export const DECIMAL_UNITS = Object.freeze({
ONE: 1,
diff --git a/config/locales-glitch/de.yml b/config/locales-glitch/de.yml
index 233bf91b38a93f..34d49f168207f2 100644
--- a/config/locales-glitch/de.yml
+++ b/config/locales-glitch/de.yml
@@ -6,7 +6,7 @@ de:
batch_error: 'Ein Fehler ist aufgetreten: %{message}'
settings:
captcha_enabled:
- desc_html: Dies beruht auf externen Skripts von hCaptcha, was Sicherheits- und Datenschutz-Bedenken auslösen kann. Zusätzlich kann das den Registrierungsprozess für manche (besonders behinderte) Leute signifikant weniger zugänglich machen . Aus diesen Gründen, bitte ziehe alternative Maßnahmen, wie Zulassungs- oder Einladungs-basierte Registrierung, in Erwägung. Nutzer, die durch eine Einladung mit eingeschränkter Verwendungsanzahl eingeladen wurden, werden kein CAPTCHA lösen müssen
+ desc_html: Dies beruht auf externen Skripts von hCaptcha, was Sicherheits- und Datenschutz-Bedenken auslösen kann. Zusätzlich kann das den Registrierungsprozess für manche (besonders behinderte) Leute signifikant weniger zugänglich machen . Ziehe aus diesen Gründen bittte alternative Maßnahmen, wie Zulassungs- oder Einladungs-basierte Registrierung, in Erwägung.
title: Neue Nutzer sollen ein CAPTCHA lösen müssen, um ihr Konto zu bestätigen
flavour_and_skin:
title: Variante und Skin
diff --git a/config/locales-glitch/es.yml b/config/locales-glitch/es.yml
index 4e054b056c512a..7ed39e97f02ba5 100644
--- a/config/locales-glitch/es.yml
+++ b/config/locales-glitch/es.yml
@@ -2,20 +2,20 @@
es:
admin:
custom_emojis:
- batch_copy_error: Se produjo un error cuando se copian algunos emojis seleccionados %{message}
- batch_error: Ocurrió un error %{message}
+ batch_copy_error: 'Se produjo un error al copiar algunos de los emoticonos: %{message}'
+ batch_error: 'Se ha producido un error: %{message}'
settings:
captcha_enabled:
desc_html: Esto depende de scripts externos de hCaptcha, que pueden ser una preocupación de seguridad y privacidad. Además, esto puede hacer el proceso de registro significativamente menos accesible para algunas personas (especialmente minusválidos) . Por estas razones, por favor considera medidas alternativas como el registro basado en la aprobación o la invitación. Los usuarios que han sido invitados a través de una invitación de uso limitado no necesitarán resolver un CAPTCHA
- title: Pedir a los usuarios nuevos resolver un CAPTCHA para confirmar su cuenta
+ title: Requerir que nuevas cuentas resuelvan un CAPTCHA como confirmación
flavour_and_skin:
- title: Sabor y apariencia
+ title: Diseño y apariencia
hide_followers_count:
- desc_html: No mostrar el conteo de seguidores en los perfiles de usuario
- title: Ocultar conteo de seguidorxs
+ desc_html: No mostrar el número de personas que siguen a una cuenta en su perfil
+ title: Ocultar estadísticas de seguimiento
other:
preamble: Varias configuraciones de glitch-soc que no encajan en otras categorías.
- title: Otro
+ title: Otras
outgoing_spoilers:
desc_html: Cuando los toots federen, agrega esta etiqueta de contenido a los toots que no tengan. Es útil si tu servidor se especializa en contenido que otros servidores desearían tener con una advertencia de contenido. Los medios también se marcarán como sensibles.
title: Advertencia de contenido para publicaciones salientes
@@ -26,7 +26,7 @@ es:
desc_html: Además de auto-respuestas públicas (hilos), mostrar respuestas públicas en las líneas de tiempo local y pública.
title: Mostrar respuestas en líneas de tiempo públicas
trending_status_cw:
- desc_html: Cuando las publicaciones en tendencia están habilitadas, permitir que la que contienen Advertencias de Contenido sean elegibles. Los cambios en esta configuración no son retroactivos.
+ desc_html: Al habilitar las publicaciones en tendencia, permitir que mensajes con Advertencias de Contenido sean elegibles. Los cambios en esta configuración no son retroactivos.
title: Permitir que publicaciones con advertencias de contenido sean tendencia
appearance:
localization:
@@ -34,9 +34,9 @@ es:
glitch_guide_link_text: Igual para glitch-soc!
auth:
captcha_confirmation:
- hint_html: ¡Solo un paso más! Para confirmar tu cuenta, este servidor requiere que resuelvas un CAPTCHA. Puedes contactar con el administrador del servidor si tienes preguntas o necesitas ayuda para confirmar tu cuenta.
- title: Verificación de usuario
+ hint_html: ¡Solo un paso más! Para confirmar tu cuenta, este servidor requiere que resuelvas un CAPTCHA. Puedes contactar con la administración del servidor si tienes preguntas o necesitas asistencia con la confirmación.
+ title: Verificación de cuenta
generic:
use_this: Usar
settings:
- flavours: Ediciones
+ flavours: Diseño
diff --git a/config/locales-glitch/simple_form.de.yml b/config/locales-glitch/simple_form.de.yml
index ff4566b852a8de..7ee62597dfb011 100644
--- a/config/locales-glitch/simple_form.de.yml
+++ b/config/locales-glitch/simple_form.de.yml
@@ -8,6 +8,7 @@ de:
setting_default_content_type_markdown: Beim Schreiben von Toots annehmen, dass sie in Markdown für Rich-Text-Formatierung geschrieben sind, sofern nicht anders angegeben
setting_default_content_type_plain: Beim Schreiben von Toots annehmen, dass sie in Klartext ohne spezielle Formatierung geschrieben sind, sofern nicht anders angegeben (standardmäßiges Mastodon-Verhalten)
setting_default_language: Die Sprache deiner Toots kann automatisch erkannt werden, aber sie ist nicht immer korrekt
+ setting_show_followers_count: Zeige die Anzahl deiner Follower auf deinem Profil an. Wenn du sie verbirgst, wird sie auch dir verborgen, und manche Anwendungen zeigen eine negative Follower-Anzahl an.
setting_skin: Verändert die ausgewählte Mastodon-Variante
labels:
defaults:
@@ -16,6 +17,7 @@ de:
setting_default_content_type_markdown: Markdown
setting_default_content_type_plain: Unformatierter Text
setting_favourite_modal: Bestätigungsdialog vor dem Favorisieren anzeigen (gilt nur für Glitch-Variante)
+ setting_show_followers_count: Zeige deine Follower-Anzahl
setting_skin: Skin
setting_system_emoji_font: Systemschriftart für Emojis verwenden (nur für Glitch-Variante)
notification_emails:
diff --git a/config/locales-glitch/simple_form.es-MX.yml b/config/locales-glitch/simple_form.es-MX.yml
index 39a88a31130a1e..a21f6b058f471d 100644
--- a/config/locales-glitch/simple_form.es-MX.yml
+++ b/config/locales-glitch/simple_form.es-MX.yml
@@ -8,6 +8,7 @@ es-MX:
setting_default_content_type_markdown: Al escribir toots, asume que estás usando Markdown para dar formato de texto enriquecido, a menos que se especifique lo contrario
setting_default_content_type_plain: Al escribir toots, asume que estás usando texto sin formato, a menos que se especifique lo contrario (predeterminado de Mastodon)
setting_default_language: El idioma de tus toots se puede detectar automáticamente, pero no siempre es correcto
+ setting_show_followers_count: Mostrar el número de personas que te siguen en tu perfil. Si decides no mostrarlo, quedará oculto incluso para ti, y algunas aplicaciones puede que muestren un número negativo.
setting_skin: Cambia el diseño de la edición seleccionada de Mastodon
labels:
defaults:
@@ -16,6 +17,7 @@ es-MX:
setting_default_content_type_markdown: Markdown
setting_default_content_type_plain: Sin formato
setting_favourite_modal: Mostrar diálogo de confirmación antes de marcar como favorito (sólo aplica a la edición Glich)
+ setting_show_followers_count: Mostrar cuánta gente te sigue
setting_skin: Diseño
setting_system_emoji_font: Usar la fuente predeterminada del sistema para emojis (sólo aplica a la edición Glitch)
notification_emails:
diff --git a/config/locales-glitch/simple_form.es.yml b/config/locales-glitch/simple_form.es.yml
index d817bc7e57087e..b14e8863dae0ff 100644
--- a/config/locales-glitch/simple_form.es.yml
+++ b/config/locales-glitch/simple_form.es.yml
@@ -8,6 +8,7 @@ es:
setting_default_content_type_markdown: Al escribir toots, asume que estás usando Markdown para dar formato de texto enriquecido, a menos que se especifique lo contrario
setting_default_content_type_plain: Al escribir toots, asume que estás usando texto sin formato, a menos que se especifique lo contrario (predeterminado de Mastodon)
setting_default_language: El idioma de tus toots se puede detectar automáticamente, pero no siempre es correcto
+ setting_show_followers_count: Mostrar el número de personas que te siguen en tu perfil. Si decides no mostrarlo, quedará oculto incluso para ti, y algunas aplicaciones puede que muestren un número negativo.
setting_skin: Cambia el diseño de la edición seleccionada de Mastodon
labels:
defaults:
@@ -16,6 +17,7 @@ es:
setting_default_content_type_markdown: Markdown
setting_default_content_type_plain: Sin formato
setting_favourite_modal: Mostrar diálogo de confirmación antes de marcar como favorito (sólo aplica a la edición Glich)
+ setting_show_followers_count: Mostrar cuánta gente te sigue
setting_skin: Diseño
setting_system_emoji_font: Usar la fuente predeterminada del sistema para emojis (sólo aplica a la edición Glitch)
notification_emails:
diff --git a/config/locales-glitch/simple_form.hi.yml b/config/locales-glitch/simple_form.hi.yml
index d758a5b5357d76..dd70f6f584f6e1 100644
--- a/config/locales-glitch/simple_form.hi.yml
+++ b/config/locales-glitch/simple_form.hi.yml
@@ -1 +1,9 @@
+---
hi:
+ simple_form:
+ hints:
+ defaults:
+ setting_show_followers_count: आपकी प्रोफ़ाइल पर आपके अनुयायियों की संख्या दिखाएँ। यदि आप अपने अनुयायियों की संख्या छिपाते हैं, तो यह आपसे भी छिपी रहेगी, और कुछ एप्लिकेशन नकारात्मक अनुयायियों की संख्या प्रदर्शित कर सकते हैं।
+ labels:
+ defaults:
+ setting_show_followers_count: अपने अनुयायियों की संख्या दिखाएँ
diff --git a/config/locales-glitch/simple_form.zh-TW.yml b/config/locales-glitch/simple_form.zh-TW.yml
index cb82c0526113b9..114cc4ca501d62 100644
--- a/config/locales-glitch/simple_form.zh-TW.yml
+++ b/config/locales-glitch/simple_form.zh-TW.yml
@@ -1 +1,26 @@
+---
zh-TW:
+ simple_form:
+ glitch_only: glitch-soc
+ hints:
+ defaults:
+ setting_default_content_type_html: 在編寫貼文時,除非特別指定,否則應推定它們是以原始 HTML 編寫的
+ setting_default_content_type_markdown: 在編寫貼文時,除非特別指定,否則應推定它們是以 Markdown 編寫的多文字格式
+ setting_default_content_type_plain: 在編寫貼文時,除非特別指定,否則應推定它們是以純文字編寫的格式(Mastodon 的預設格式)
+ setting_default_language: 可自動檢測您的貼文所使用的語言,但並不是很可靠
+ setting_show_followers_count: 在個人檔案中顯示跟隨者人數。如果您隱藏了跟隨者人數,那麼即使您自己也無法看到,某些應用程序可能會顯示負的跟隨者人數。
+ setting_skin: 重塑所選的Mastodon風格
+ labels:
+ defaults:
+ setting_default_content_type: 貼文的預設格式
+ setting_default_content_type_html: HTML
+ setting_default_content_type_markdown: Markdown
+ setting_default_content_type_plain: 純文字
+ setting_favourite_modal: 把貼文加到最愛時顯示確認對話框(只對Glitch風格有效)
+ setting_show_followers_count: 顯示你的跟隨者數量
+ setting_skin: 外觀
+ setting_system_emoji_font: 使用系統的預設字型來顯示表情符號(只對Glitch 風格有效)
+ notification_emails:
+ trending_link: 新的熱門趨勢連結需要被檢閱
+ trending_status: 新的熱門趨勢貼文需要被檢閱
+ trending_tag: 新的熱門趨勢主題標籤需要被檢閱
diff --git a/config/locales-glitch/zh-TW.yml b/config/locales-glitch/zh-TW.yml
index 99af36c9ecc95d..735e6d56c3bf1b 100644
--- a/config/locales-glitch/zh-TW.yml
+++ b/config/locales-glitch/zh-TW.yml
@@ -1,9 +1,42 @@
---
zh-TW:
+ admin:
+ custom_emojis:
+ batch_copy_error: 複製某些選定的表情符號時出錯:%{message}
+ batch_error: 發生錯誤:%{message}
+ settings:
+ captcha_enabled:
+ desc_html: 這依賴於 hCaptcha 的外部腳本,可能會引起安全和隱私問題。此外,這會大大降低某些人(尤其是殘障人士)註冊過程的可訪問性 。出於這些原因,請考慮採取其他措施,例如基於批准或邀請的註冊方式。
+ title: 要求新使用者完成 CAPTCHA 挑戰以確認帳號
+ flavour_and_skin:
+ title: 風格與外觀
+ hide_followers_count:
+ desc_html: 不顯示用戶個人資料上的跟隨者數量
+ title: 隱藏跟隨者數量
+ other:
+ preamble: 沒有合適分類的各種glitch-soc設置。
+ title: 其它
+ outgoing_spoilers:
+ desc_html: 在聯合貼文時,將此內容警告添加到沒有內容警告的貼文中。如果您的伺服器器專門處理其他服務器可能希望在「內容警告」下顯示的內容,它將非常有用。媒體也會被標記為敏感。
+ title: 針對向外發送貼文的內容警告
+ show_reblogs_in_public_timelines:
+ desc_html: 在本地與公開時間軸顯示公開貼文的公開轉貼。
+ title: 在公開時間軸顯示轉貼
+ show_replies_in_public_timelines:
+ desc_html: 除了公開的自我回覆(討論串)以外,在本地與公開時間軸顯示公開的回覆。
+ title: 在公開時間軸顯示回覆
+ trending_status_cw:
+ desc_html: 當啟用熱門趨勢貼文時,允許包含內容警告的貼文。改變此設置並不溯及既往。
+ title: 允許包含內容警告的貼文顯示在熱門趨勢。
appearance:
localization:
glitch_guide_link: https://crowdin.com/project/glitch-soc
glitch_guide_link_text: 對於 glitch-soc 來說也是如此!
auth:
captcha_confirmation:
+ hint_html: 還差一步!為確認您的帳號,伺服器器要求您通過CAPTCHA驗證。如果您在確認帳號時有疑問或需要幫助,可以聯繫服務器管理員 。
title: 使用者驗證
+ generic:
+ use_this: 使用這個
+ settings:
+ flavours: 風格