about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/locales
diff options
context:
space:
mode:
Diffstat (limited to 'app/javascript/flavours/glitch/locales')
-rw-r--r--app/javascript/flavours/glitch/locales/af.js7
-rw-r--r--app/javascript/flavours/glitch/locales/ar.js7
-rw-r--r--app/javascript/flavours/glitch/locales/ast.js7
-rw-r--r--app/javascript/flavours/glitch/locales/bg.js7
-rw-r--r--app/javascript/flavours/glitch/locales/bn.js7
-rw-r--r--app/javascript/flavours/glitch/locales/br.js7
-rw-r--r--app/javascript/flavours/glitch/locales/ca.js7
-rw-r--r--app/javascript/flavours/glitch/locales/ckb.js7
-rw-r--r--app/javascript/flavours/glitch/locales/co.js7
-rw-r--r--app/javascript/flavours/glitch/locales/cs.js7
-rw-r--r--app/javascript/flavours/glitch/locales/cy.js7
-rw-r--r--app/javascript/flavours/glitch/locales/da.js7
-rw-r--r--app/javascript/flavours/glitch/locales/de.js7
-rw-r--r--app/javascript/flavours/glitch/locales/el.js7
-rw-r--r--app/javascript/flavours/glitch/locales/en.js67
-rw-r--r--app/javascript/flavours/glitch/locales/eo.js7
-rw-r--r--app/javascript/flavours/glitch/locales/es-AR.js7
-rw-r--r--app/javascript/flavours/glitch/locales/es-MX.js7
-rw-r--r--app/javascript/flavours/glitch/locales/es.js119
-rw-r--r--app/javascript/flavours/glitch/locales/et.js7
-rw-r--r--app/javascript/flavours/glitch/locales/eu.js7
-rw-r--r--app/javascript/flavours/glitch/locales/fa.js7
-rw-r--r--app/javascript/flavours/glitch/locales/fi.js7
-rw-r--r--app/javascript/flavours/glitch/locales/fr.js7
-rw-r--r--app/javascript/flavours/glitch/locales/ga.js7
-rw-r--r--app/javascript/flavours/glitch/locales/gd.js7
-rw-r--r--app/javascript/flavours/glitch/locales/gl.js7
-rw-r--r--app/javascript/flavours/glitch/locales/he.js7
-rw-r--r--app/javascript/flavours/glitch/locales/hi.js7
-rw-r--r--app/javascript/flavours/glitch/locales/hr.js7
-rw-r--r--app/javascript/flavours/glitch/locales/hu.js7
-rw-r--r--app/javascript/flavours/glitch/locales/hy.js7
-rw-r--r--app/javascript/flavours/glitch/locales/id.js7
-rw-r--r--app/javascript/flavours/glitch/locales/io.js7
-rw-r--r--app/javascript/flavours/glitch/locales/is.js7
-rw-r--r--app/javascript/flavours/glitch/locales/it.js7
-rw-r--r--app/javascript/flavours/glitch/locales/ja.js158
-rw-r--r--app/javascript/flavours/glitch/locales/ka.js7
-rw-r--r--app/javascript/flavours/glitch/locales/kab.js7
-rw-r--r--app/javascript/flavours/glitch/locales/kk.js7
-rw-r--r--app/javascript/flavours/glitch/locales/kn.js7
-rw-r--r--app/javascript/flavours/glitch/locales/ko.js208
-rw-r--r--app/javascript/flavours/glitch/locales/ku.js7
-rw-r--r--app/javascript/flavours/glitch/locales/kw.js7
-rw-r--r--app/javascript/flavours/glitch/locales/lt.js7
-rw-r--r--app/javascript/flavours/glitch/locales/lv.js7
-rw-r--r--app/javascript/flavours/glitch/locales/mk.js7
-rw-r--r--app/javascript/flavours/glitch/locales/ml.js7
-rw-r--r--app/javascript/flavours/glitch/locales/mr.js7
-rw-r--r--app/javascript/flavours/glitch/locales/ms.js7
-rw-r--r--app/javascript/flavours/glitch/locales/nl.js7
-rw-r--r--app/javascript/flavours/glitch/locales/nn.js7
-rw-r--r--app/javascript/flavours/glitch/locales/no.js7
-rw-r--r--app/javascript/flavours/glitch/locales/oc.js7
-rw-r--r--app/javascript/flavours/glitch/locales/pa.js7
-rw-r--r--app/javascript/flavours/glitch/locales/pl.js79
-rw-r--r--app/javascript/flavours/glitch/locales/pt-BR.js7
-rw-r--r--app/javascript/flavours/glitch/locales/pt-PT.js7
-rw-r--r--app/javascript/flavours/glitch/locales/ro.js7
-rw-r--r--app/javascript/flavours/glitch/locales/ru.js7
-rw-r--r--app/javascript/flavours/glitch/locales/sa.js7
-rw-r--r--app/javascript/flavours/glitch/locales/sc.js7
-rw-r--r--app/javascript/flavours/glitch/locales/si.js7
-rw-r--r--app/javascript/flavours/glitch/locales/sk.js7
-rw-r--r--app/javascript/flavours/glitch/locales/sl.js7
-rw-r--r--app/javascript/flavours/glitch/locales/sq.js7
-rw-r--r--app/javascript/flavours/glitch/locales/sr-Latn.js7
-rw-r--r--app/javascript/flavours/glitch/locales/sr.js7
-rw-r--r--app/javascript/flavours/glitch/locales/sv.js7
-rw-r--r--app/javascript/flavours/glitch/locales/szl.js7
-rw-r--r--app/javascript/flavours/glitch/locales/ta.js7
-rw-r--r--app/javascript/flavours/glitch/locales/tai.js7
-rw-r--r--app/javascript/flavours/glitch/locales/te.js7
-rw-r--r--app/javascript/flavours/glitch/locales/th.js7
-rw-r--r--app/javascript/flavours/glitch/locales/tr.js7
-rw-r--r--app/javascript/flavours/glitch/locales/tt.js7
-rw-r--r--app/javascript/flavours/glitch/locales/ug.js7
-rw-r--r--app/javascript/flavours/glitch/locales/uk.js7
-rw-r--r--app/javascript/flavours/glitch/locales/ur.js7
-rw-r--r--app/javascript/flavours/glitch/locales/vi.js7
-rw-r--r--app/javascript/flavours/glitch/locales/zgh.js7
-rw-r--r--app/javascript/flavours/glitch/locales/zh-CN.js201
-rw-r--r--app/javascript/flavours/glitch/locales/zh-HK.js7
-rw-r--r--app/javascript/flavours/glitch/locales/zh-TW.js7
84 files changed, 1378 insertions, 0 deletions
diff --git a/app/javascript/flavours/glitch/locales/af.js b/app/javascript/flavours/glitch/locales/af.js
new file mode 100644
index 000000000..4c97b644a
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/af.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/af.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/ar.js b/app/javascript/flavours/glitch/locales/ar.js
new file mode 100644
index 000000000..1081147d5
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ar.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/ar.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/ast.js b/app/javascript/flavours/glitch/locales/ast.js
new file mode 100644
index 000000000..41355c24c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ast.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/ast.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/bg.js b/app/javascript/flavours/glitch/locales/bg.js
new file mode 100644
index 000000000..979039376
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/bg.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/bg.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/bn.js b/app/javascript/flavours/glitch/locales/bn.js
new file mode 100644
index 000000000..a453498b3
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/bn.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/bn.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/br.js b/app/javascript/flavours/glitch/locales/br.js
new file mode 100644
index 000000000..966bd1b2f
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/br.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/br.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/ca.js b/app/javascript/flavours/glitch/locales/ca.js
new file mode 100644
index 000000000..baf76bd6f
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ca.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/ca.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/ckb.js b/app/javascript/flavours/glitch/locales/ckb.js
new file mode 100644
index 000000000..c2e177d5f
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ckb.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/ckb.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/co.js b/app/javascript/flavours/glitch/locales/co.js
new file mode 100644
index 000000000..6e9e46797
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/co.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/co.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/cs.js b/app/javascript/flavours/glitch/locales/cs.js
new file mode 100644
index 000000000..ac7db0327
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/cs.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/cs.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/cy.js b/app/javascript/flavours/glitch/locales/cy.js
new file mode 100644
index 000000000..09412bd72
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/cy.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/cy.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/da.js b/app/javascript/flavours/glitch/locales/da.js
new file mode 100644
index 000000000..2b08806be
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/da.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/da.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/de.js b/app/javascript/flavours/glitch/locales/de.js
new file mode 100644
index 000000000..ce6453623
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/de.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/de.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/el.js b/app/javascript/flavours/glitch/locales/el.js
new file mode 100644
index 000000000..2d9bb829f
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/el.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/el.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/en.js b/app/javascript/flavours/glitch/locales/en.js
new file mode 100644
index 000000000..90e924d4a
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/en.js
@@ -0,0 +1,67 @@
+import inherited from 'mastodon/locales/en.json';
+
+const messages = {
+  'getting_started.open_source_notice': 'Glitchsoc is free open source software forked from {Mastodon}. You can contribute or report issues on GitHub at {github}.',
+  'layout.auto': 'Auto',
+  'layout.current_is': 'Your current layout is:',
+  'layout.desktop': 'Desktop',
+  'layout.mobile': 'Mobile',
+  'navigation_bar.app_settings': 'App settings',
+  'getting_started.onboarding': 'Show me around',
+  '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_one.welcome': 'Welcome to {domain}!',
+  'onboarding.page_six.github': '{domain} runs on Glitchsoc. Glitchsoc is a friendly {fork} of {Mastodon}, and is compatible with any Mastodon instance or app. Glitchsoc is entirely free and open-source. You can report bugs, request features, or contribute to the code on {github}.',
+  'settings.auto_collapse': 'Automatic collapsing',
+  'settings.auto_collapse_all': 'Everything',
+  'settings.auto_collapse_lengthy': 'Lengthy toots',
+  'settings.auto_collapse_media': 'Toots with media',
+  'settings.auto_collapse_notifications': 'Notifications',
+  'settings.auto_collapse_reblogs': 'Boosts',
+  'settings.auto_collapse_replies': 'Replies',
+  'settings.show_action_bar': 'Show action buttons in collapsed toots',
+  'settings.close': 'Close',
+  'settings.collapsed_statuses': 'Collapsed toots',
+  'settings.enable_collapsed': 'Enable collapsed toots',
+  'settings.general': 'General',
+  'settings.image_backgrounds': 'Image backgrounds',
+  'settings.image_backgrounds_media': 'Preview collapsed toot media',
+  'settings.image_backgrounds_users': 'Give collapsed toots an image background',
+  'settings.media': 'Media',
+  'settings.media_letterbox': 'Letterbox media',
+  'settings.media_fullwidth': 'Full-width media previews',
+  'settings.preferences': 'User preferences',
+  'settings.wide_view': 'Wide view (Desktop mode only)',
+  'settings.navbar_under': 'Navbar at the bottom (Mobile only)',
+  'status.collapse': 'Collapse',
+  'status.uncollapse': 'Uncollapse',
+
+  'media_gallery.sensitive': 'Sensitive',
+
+  'favourite_modal.combo': 'You can press {combo} to skip this next time',
+
+  'home.column_settings.show_direct': 'Show DMs',
+
+  'notification.markForDeletion': 'Mark for deletion',
+  'notifications.clear': 'Clear all my notifications',
+  'notifications.marked_clear_confirmation': 'Are you sure you want to permanently clear all selected notifications?',
+  'notifications.marked_clear': 'Clear selected notifications',
+
+  'notification_purge.btn_all': 'Select\nall',
+  'notification_purge.btn_none': 'Select\nnone',
+  'notification_purge.btn_invert': 'Invert\nselection',
+  'notification_purge.btn_apply': 'Clear\nselected',
+
+  'compose.attach.upload': 'Upload a file',
+  'compose.attach.doodle': 'Draw something',
+  'compose.attach': 'Attach...',
+
+  'advanced_options.local-only.short': 'Local-only',
+  'advanced_options.local-only.long': 'Do not post to other instances',
+  'advanced_options.local-only.tooltip': 'This post is local-only',
+  'advanced_options.icon_title': 'Advanced options',
+  'advanced_options.threaded_mode.short': 'Threaded mode',
+  'advanced_options.threaded_mode.long': 'Automatically opens a reply on posting',
+  'advanced_options.threaded_mode.tooltip': 'Threaded mode enabled',
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/eo.js b/app/javascript/flavours/glitch/locales/eo.js
new file mode 100644
index 000000000..04192f506
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/eo.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/eo.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/es-AR.js b/app/javascript/flavours/glitch/locales/es-AR.js
new file mode 100644
index 000000000..0dffabcd4
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/es-AR.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/es-AR.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/es-MX.js b/app/javascript/flavours/glitch/locales/es-MX.js
new file mode 100644
index 000000000..eaefa20ef
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/es-MX.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/es-MX.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/es.js b/app/javascript/flavours/glitch/locales/es.js
new file mode 100644
index 000000000..f22062977
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/es.js
@@ -0,0 +1,119 @@
+import inherited from 'mastodon/locales/es.json';
+
+const messages = {
+  'advanced_options.icon_title': 'Opciones avanzadas',
+  'advanced_options.local-only.long': 'No publicar a otras instancias',
+  'advanced_options.local-only.short': 'Local',
+  'advanced_options.local-only.tooltip': 'Este toot es local',
+  'advanced_options.threaded_mode.long': 'Al publicar abre automáticamente una respuesta',
+  'advanced_options.threaded_mode.short': 'Modo hilo',
+  'advanced_options.threaded_mode.tooltip': 'Modo hilo habilitado',
+  'compose.attach.doodle': 'Dibujar algo',
+  'compose.attach.upload': 'Subir un archivo',
+  'compose.attach': 'Adjuntar...',
+  'favourite_modal.combo': 'Puedes presionar {combo} para omitir esto la próxima vez',
+  'getting_started.onboarding': 'Paseo inicial',
+  'getting_started.open_source_notice': 'Glitchsoc es software libre y gratuito bifurcado de {Mastodon}. Puedes contribuir o reportar errores en GitHub en {github}.',
+  'home.column_settings.show_direct': 'Mostrar mensajes directos',
+  'layout.auto': 'Automático',
+  'layout.current_is': 'Tu diseño actual es:',
+  'layout.desktop': 'Escritorio',
+  'layout.hint.auto': 'Seleccionar un diseño automáticamente basado en "Habilitar interface web avanzada" y tamaño de pantalla',
+  'layout.hint.desktop': 'Utiliza el diseño multi-columna sin importar "Habilitar interface web avanzada" o tamaño de pantalla',
+  'layout.hint.single': 'Utiliza el diseño de una columna sin importar "Habilitar interface web avanzada" o tamaño de pantalla',
+  'layout.mobile': 'Móvil',
+  'media_gallery.sensitive': 'Sensible',
+  'navigation_bar.app_settings': 'Ajustes de aplicación',
+  'notification_purge.btn_all': 'Seleccionar\ntodo',
+  'notification_purge.btn_apply': 'Borrar\nselección',
+  'notification_purge.btn_invert': 'Invertir\nselección',
+  'notification_purge.btn_none': 'Seleccionar\nnada',
+  'notification.markForDeletion': 'Marcar para borrar',
+  'notifications.clear': 'Limpiar notificaciones',
+  'notifications.marked_clear_confirmation': '¿Deseas borrar permanentemente todas las notificaciones seleccionadas?',
+  'notifications.marked_clear': 'Limpiar notificaciones seleccionadas',
+  'onboarding.page_one.federation': '{domain} es una "instancia" de Mastodon. Mastodon es una red de servidores independientes que se unen para crear una red social más grande. A estos servidores los llamamos instancias.',
+  'onboarding.page_one.welcome': '¡Bienvenidx a {domain}!',
+  'onboarding.page_six.github': '{domain} usa Glitchsoc. Glitchsoc es una bifurcación {fork} amigable de {Mastodon}, y es compatible con cualquier instancia o aplicación de Mastodon. Glitchsoc es completamente gratuito y de código abierto. Puedes reportar errores, solicitar funciones o contribuir al código en {github}.',
+  'settings.always_show_spoilers_field': 'Siempre mostrar el campo de advertencia de contenido',
+  'settings.auto_collapse_all': 'Todo',
+  'settings.auto_collapse_lengthy': 'Toots largos',
+  'settings.auto_collapse_media': 'Toots con medios',
+  'settings.auto_collapse_notifications': 'Notificaciones',
+  'settings.auto_collapse_reblogs': 'Retoots',
+  'settings.auto_collapse_replies': 'Respuestas',
+  'settings.auto_collapse': 'Colapsar automáticamente',
+  'settings.close': 'Cerrar',
+  'settings.collapsed_statuses': 'Toots colapsados',
+  'settings.compose_box_opts': 'Cuadro de redacción',
+  'settings.confirm_before_clearing_draft': 'Mostrar diálogo de confirmación antes de sobreescribir un mensaje estabas escribiendo',
+  'settings.confirm_boost_missing_media_description': 'Mostrar diálogo de confirmación antes de retootear publicaciones con medios sin descripción',
+  'settings.confirm_missing_media_description': 'Mostrar diálogo de confirmación antes de publicar toots con medios sin descripción',
+  'settings.content_warnings_filter': 'No descolapsar estas advertencias de contenido:',
+  'settings.content_warnings.regexp': 'Regexp (expresión regular)',
+  'settings.content_warnings': 'Advertencias de contenido',
+  'settings.enable_collapsed': 'Habilitar toots colapsados',
+  'settings.enable_content_warnings_auto_unfold': 'Descolapsar automáticamente advertencias de contenido',
+  'settings.filtering_behavior.cw': 'Mostrar el toot y agregar las palabras filtradas a la advertencia de contenido',
+  'settings.filtering_behavior.drop': 'Ocultar toots filtrados por completo',
+  'settings.filtering_behavior.hide': 'Mostrar "Filtrado" y agregar un botón para saber por qué',
+  'settings.filtering_behavior.upstream': 'Mostrar "Filtrado"',
+  'settings.filtering_behavior': 'Configuración de filtros',
+  'settings.filters': 'Filtros',
+  'settings.general': 'General',
+  'settings.hicolor_privacy_icons': 'Íconos de privacidad más visibles',
+  'settings.image_backgrounds_media': 'Vista previa de medios de toots colapsados',
+  'settings.image_backgrounds_users': 'Darle fondo de imagen a toots colapsados',
+  'settings.image_backgrounds': 'Fondos de imágenes',
+  'settings.inline_preview_cards': 'Vista previa para enlaces externos',
+  'settings.layout_opts': 'Opciones de diseño',
+  'settings.layout': 'Diseño',
+  'settings.media_fullwidth': 'Ancho completo al mostrar medios ',
+  'settings.media_letterbox_hint': 'Escalar medios para que llenen el espacio del contenedor sin cambiar sus proporciones sin recortarlos',
+  'settings.media_letterbox': 'Mantener proporciones al mostrar medios',
+  'settings.media_reveal_behind_cw': 'Siempre mostrar medios sensibles dentro de las advertencias de contenido',
+  'settings.media': 'Medios',
+  'settings.navbar_under': 'Barra de navegación en la parte inferior (solo móvil)',
+  'settings.notifications_opts': 'Opciones de notificaciones',
+  'settings.notifications.favicon_badge.hint': 'Muestra un marcador de notificaciones sin leer en el favicon',
+  'settings.notifications.favicon_badge': 'Marcador de notificaciones en el favicon',
+  'settings.notifications.tab_badge.hint': 'Muestra un marcador de notificaciones sin leer en el ícono de notificaciones cuando dicha columna no está abierta',
+  'settings.notifications.tab_badge': 'Marcador de notificaciones no leídas',
+  'settings.preferences': 'Preferencias de usuarix',
+  'settings.prepend_cw_re': 'Anteponer "re: " a las advertencias de contenido al responder',
+  'settings.preselect_on_reply_hint': 'Al responder a conversaciones con múltiples participantes, preselecciona los nombres de usuarix subsecuentes del/la primerx',
+  'settings.preselect_on_reply': 'Preseleccionar nombres de usuarix al responder',
+  'settings.rewrite_mentions_acct': 'Reescribir con nombre de usuarix y dominio (para cuentas remotas)',
+  'settings.rewrite_mentions_no': 'No reescribir menciones',
+  'settings.rewrite_mentions_username': 'Reescribir con nombre de usuarix',
+  'settings.rewrite_mentions': 'Reescribir menciones in publicaciones mostradas',
+  'settings.show_action_bar': 'Mostrar botones de acción en toots colapsados',
+  'settings.show_content_type_choice': 'Mostrar selección de tipo de contenido al crear toots',
+  'settings.show_reply_counter': 'Mostrar un conteo estimado de respuestas',
+  'settings.side_arm_reply_mode.copy': 'Copiar opción de privacidad del toot al que estás respondiendo',
+  'settings.side_arm_reply_mode.keep': 'Conservar opción de privacidad',
+  'settings.side_arm_reply_mode.restrict': 'Restringir la opción de privacidad a la misma del toot al que estás respondiendo',
+  'settings.side_arm_reply_mode': 'Al responder a un toot, el botón de toot secundario debe:',
+  'settings.side_arm.none': 'Ninguno',
+  'settings.side_arm': 'Botón secundario:',
+  'settings.swipe_to_change_columns': 'Permitir deslizar para cambiar columnas (Sólo en móvil)',
+  'settings.tag_misleading_links.hint': 'Añadir una indicación visual indicando el destino de los enlace que no los mencionen explícitamente',
+  'settings.tag_misleading_links': 'Marcar enlaces engañosos',
+  'settings.wide_view': 'Vista amplia (solo modo de escritorio)',
+  'status.collapse': 'Colapsar',
+  'status.uncollapse': 'Descolapsar',
+  'confirmations.unfilter': 'Información del toot filtrado',
+  'confirmations.unfilter.author': 'Publicado por',
+  'confirmations.unfilter.filters': 'Coincidencia con {count, plural, one {filtro} other {filtros}}',
+  'confirmations.unfilter.edit_filter': 'Editar filtro',
+  'confirmations.unfilter.confirm': 'Mostrar',
+  'confirmations.delete.confirm': 'Borrar',
+  'confirmations.delete.message': 'Por favor confirma borrado',
+  'confirmations.redraft.confirm': 'Borrar y volver a borrador',
+  'confirmations.redraft.message': '¿Borrar y volver a borrador? Perderás todas las respuestas, retoots y favoritos asociados, y las respuestas a la publicación original quedarán huérfanos.',
+  'confirmations.reply.confirm': 'Responder',
+  'confirmations.reply.message': 'Responder no sobreescribirá el mensaje que estás escibiendo actualmente. ¿Deseas continuar?',
+  'status.show_filter_reason': '(mostrar por qué)',
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/et.js b/app/javascript/flavours/glitch/locales/et.js
new file mode 100644
index 000000000..e3ea6b2a9
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/et.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/et.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/eu.js b/app/javascript/flavours/glitch/locales/eu.js
new file mode 100644
index 000000000..946410b67
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/eu.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/eu.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/fa.js b/app/javascript/flavours/glitch/locales/fa.js
new file mode 100644
index 000000000..d82461a1a
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/fa.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/fa.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/fi.js b/app/javascript/flavours/glitch/locales/fi.js
new file mode 100644
index 000000000..11c3cd082
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/fi.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/fi.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/fr.js b/app/javascript/flavours/glitch/locales/fr.js
new file mode 100644
index 000000000..8562f5594
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/fr.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/fr.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/ga.js b/app/javascript/flavours/glitch/locales/ga.js
new file mode 100644
index 000000000..af2846ff8
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ga.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/ga.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/gd.js b/app/javascript/flavours/glitch/locales/gd.js
new file mode 100644
index 000000000..604ee86dc
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/gd.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/gd.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/gl.js b/app/javascript/flavours/glitch/locales/gl.js
new file mode 100644
index 000000000..6a9140b1a
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/gl.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/gl.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/he.js b/app/javascript/flavours/glitch/locales/he.js
new file mode 100644
index 000000000..99516ee0c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/he.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/he.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/hi.js b/app/javascript/flavours/glitch/locales/hi.js
new file mode 100644
index 000000000..1a569495f
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/hi.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/hi.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/hr.js b/app/javascript/flavours/glitch/locales/hr.js
new file mode 100644
index 000000000..dbf9b4b9f
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/hr.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/hr.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/hu.js b/app/javascript/flavours/glitch/locales/hu.js
new file mode 100644
index 000000000..1f0849af3
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/hu.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/hu.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/hy.js b/app/javascript/flavours/glitch/locales/hy.js
new file mode 100644
index 000000000..96f6a4d19
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/hy.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/hy.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/id.js b/app/javascript/flavours/glitch/locales/id.js
new file mode 100644
index 000000000..07e5f7e56
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/id.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/id.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/io.js b/app/javascript/flavours/glitch/locales/io.js
new file mode 100644
index 000000000..74ea6fae6
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/io.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/io.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/is.js b/app/javascript/flavours/glitch/locales/is.js
new file mode 100644
index 000000000..b05a08ad0
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/is.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/is.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/it.js b/app/javascript/flavours/glitch/locales/it.js
new file mode 100644
index 000000000..90f543093
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/it.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/it.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/ja.js b/app/javascript/flavours/glitch/locales/ja.js
new file mode 100644
index 000000000..52aeed3d6
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ja.js
@@ -0,0 +1,158 @@
+import inherited from 'mastodon/locales/ja.json';
+
+const messages = {
+  'getting_started.open_source_notice': 'Glitchsocは{Mastodon}によるフリーなオープンソースソフトウェアです。誰でもGitHub({github})から開発に參加したり、問題を報告したりできます。',
+  'layout.auto': '自動',
+  'layout.current_is': 'あなたの現在のレイアウト:',
+  'layout.desktop': 'デスクトップ',
+  'layout.single': 'モバイル',
+  'navigation_bar.app_settings': 'アプリ設定',
+  'navigation_bar.featured_users': '紹介しているアカウント',
+  'navigation_bar.misc': 'その他',
+  'getting_started.onboarding': '解説を表示',
+  'onboarding.page_one.federation': '{domain}はMastodonのインスタンスです。Mastodonとは、独立したサーバが連携して作るソーシャルネットワークです。これらのサーバーをインスタンスと呼びます。',
+  'onboarding.page_one.welcome': '{domain}へようこそ!',
+  'onboarding.page_six.github': '{domain}はGlitchsocを使用しています。Glitchsocは{Mastodon}のフレンドリーな{fork}で、どんなMastodonアプリやインスタンスとも互換性があります。Glitchsocは完全に無料で、オープンソースです。{github}でバグ報告や機能要望あるいは貢獻をすることが可能です。',
+  'settings.always_show_spoilers_field': '常にコンテンツワーニング設定を表示する(指定がない場合は通常投稿)',
+  'settings.auto_collapse': '自動折りたたみ',
+  'settings.auto_collapse_all': 'すべて',
+  'settings.auto_collapse_lengthy': '長いトゥート',
+  'settings.auto_collapse_media': 'メディア付きトゥート',
+  'settings.auto_collapse_notifications': '通知',
+  'settings.auto_collapse_reblogs': 'ブースト',
+  'settings.auto_collapse_replies': '返信',
+  'settings.close': '閉じる',
+  'settings.collapsed_statuses': 'トゥート折りたたみ',
+  'settings.confirm_missing_media_description': '画像に対する補助記載がないときに投稿前の警告を表示する',
+  'settings.content_warnings': 'コンテンツワーニング',
+  'settings.content_warnings_filter': '説明に指定した文字が含まれているものを自動で展開しないようにする',
+  'settings.content_warnings.regexp': '正規表現',
+  'settings.enable_collapsed': 'トゥート折りたたみを有効にする',
+  'settings.enable_content_warnings_auto_unfold': 'コンテンツワーニング指定されている投稿を常に表示する',
+  'settings.general': '一般',
+  'settings.image_backgrounds': '画像背景',
+  'settings.image_backgrounds_media': '折りたまれたメディア付きトゥートをプレビュー',
+  'settings.image_backgrounds_users': '折りたまれたトゥートの背景を変更する',
+  'settings.media': 'メディア',
+  'settings.media_letterbox': 'メディアをレターボックス式で表示',
+  'settings.media_fullwidth': '全幅メディアプレビュー',
+  'settings.navbar_under': 'ナビを画面下部に移動させる(モバイル レイアウトのみ)',
+  'settings.notifications.favicon_badge': '通知アイコンに未読件数を表示する',
+  'settings.notifications_opts': '通知の設定',
+  'settings.notifications.tab_badge': '未読の通知があるとき、通知アイコンにマークを表示する',
+  'settings.preferences': 'ユーザー設定',
+  'settings.wide_view': 'ワイドビュー(デスクトップ レイアウトのみ)',
+  'settings.compose_box_opts': 'コンポーズボックス設定',
+  'settings.show_reply_counter': '投稿に対するリプライの数を表示する',
+  'settings.side_arm': 'セカンダリートゥートボタン',
+  'settings.side_arm.none': '表示しない',
+  'settings.side_arm_reply_mode': '返信時の投稿範囲',
+  'settings.side_arm_reply_mode.copy': '返信先の投稿範囲を利用する',
+  'settings.side_arm_reply_mode.keep': 'セカンダリートゥートボタンの設定を維持する',
+  'settings.side_arm_reply_mode.restrict': '返信先の投稿範囲に制限する',
+  'settings.layout': 'レイアウト',
+  'settings.layout_opts': 'レイアウトの設定',
+  'status.collapse': '折りたたむ',
+  'status.uncollapse': '折りたたみを解除',
+
+  'confirmations.missing_media_description.message': '少なくとも1つの画像に視覚障害者のための画像説明が付与されていません。すべての画像に対して説明を付与することを望みます。',
+  'confirmations.missing_media_description.confirm': 'このまま投稿',
+  'confirmations.missing_media_description.edit': 'メディアを編集',
+
+  'favourite_modal.combo': '次からは {combo} を押せば、これをスキップできます。',
+
+  'home.column_settings.show_direct': 'DMを表示',
+  'home.column_settings.advanced': '高度',
+  'home.column_settings.filter_regex': '正規表現でフィルター',
+
+  'notification.markForDeletion': '選択',
+  'notifications.clear': '通知を全てクリアする',
+  'notifications.marked_clear_confirmation': '削除した全ての通知を完全に削除してもよろしいですか?',
+  'notifications.marked_clear': '選択した通知を削除する',
+
+  'notification_purge.btn_all': 'すべて\n選択',
+  'notification_purge.btn_none': '選択\n解除',
+  'notification_purge.btn_invert': '選択を\n反転',
+  'notification_purge.btn_apply': '選択したものを\n削除',
+
+  'compose.attach.upload': 'ファイルをアップロード',
+  'compose.attach.doodle': 'お絵描きをする',
+  'compose.attach': '添付...',
+
+  'advanced_options.local-only.short': 'ローカル限定',
+  'advanced_options.local-only.long': '他のインスタンスには投稿されません',
+  'advanced_options.local-only.tooltip': 'この投稿はローカル限定投稿です',
+  'advanced_options.icon_title': '高度な設定',
+  'advanced_options.threaded_mode.short': 'スレッドモード',
+  'advanced_options.threaded_mode.long': '投稿時に自動的に返信するように設定します',
+  'advanced_options.threaded_mode.tooltip': 'スレッドモードを有効にする',
+
+  'navigation_bar.direct': 'ダイレクトメッセージ',
+  'navigation_bar.bookmarks': 'ブックマーク',
+  'column.bookmarks': 'ブックマーク',
+
+  'account.add_account_note': '@{name}のメモを追加',
+  'account.disclaimer_full': 'このユーザー情報は不正確な可能性があります。',
+  'account.follows': 'フォロー',
+  'account.suspended_disclaimer_full': 'このユーザーはモデレータにより停止されました。',
+  'account.view_full_profile': '正確な情報を見る',
+  'account_note.cancel': 'キャンセル',
+  'account_note.edit': '編集',
+  'account_note.glitch_placeholder': 'メモがありません',
+  'account_note.save': '保存',
+  'boost_modal.missing_description': 'このトゥートには少なくとも1つの画像に説明が付与されていません',
+  'community.column_settings.allow_local_only': 'ローカル限定投稿を表示する',
+  'compose.content-type.html': 'HTML',
+  'compose.content-type.markdown': 'マークダウン',
+  'compose.content-type.plain': 'プレーンテキスト',
+  'compose_form.poll.multiple_choices': '複数回答を許可',
+  'compose_form.poll.single_choice': '単一回答を許可',
+  'compose_form.spoiler': '本文は警告の後ろに隠す',
+  'confirmation_modal.do_not_ask_again': 'もう1度尋ねない',
+  'confirmations.discard_edit_media.confirm': '破棄',
+  'confirmations.discard_edit_media.message': 'メディアの説明・プレビューに保存していない変更があります。破棄してもよろしいですか?',
+  'confirmations.unfilter': 'このフィルターされたトゥートについての情報',
+  'confirmations.unfilter.author': '筆者',
+  'confirmations.unfilter.confirm': '見る',
+  'confirmations.unfilter.edit_filter': 'フィルターを編集',
+  'confirmations.unfilter.filters': '適用されたフィルター',
+  'content-type.change': 'コンテンツ形式を変更',
+  'direct.conversations_mode': '会話',
+  'direct.timeline_mode': 'タイムライン',
+  'endorsed_accounts_editor.endorsed_accounts': '紹介しているユーザー',
+  'keyboard_shortcuts.bookmark': 'ブックマーク',
+  'keyboard_shortcuts.secondary_toot': 'セカンダリートゥートの公開範囲でトゥートする',
+  'keyboard_shortcuts.toggle_collapse': '折りたたむ/折りたたみを解除',
+  'moved_to_warning': 'このアカウント{moved_to_link}に引っ越したため、新しいフォロワーを受け入れていません。',
+  'settings.show_action_bar': 'アクションバーを表示',
+  'settings.filtering_behavior': 'フィルターの振る舞い',
+  'settings.filtering_behavior.cw': '警告文にフィルターされた単語を付加して表示します',
+  'settings.filtering_behavior.drop': 'フィルターされたトゥートを完全に隠します',
+  'settings.filtering_behavior.hide': '\'フィルターされました\'とその理由を確認するボタンを表示する',
+  'settings.filtering_behavior.upstream': '\'フィルターされました\'とバニラMastodonと同じように表示する',
+  'settings.filters': 'フィルター',
+  'settings.hicolor_privacy_icons': 'ハイカラーの公開範囲アイコン',
+  'settings.hicolor_privacy_icons.hint': '公開範囲アイコンを明るく表示し見分けやすい色にします',
+  'settings.confirm_boost_missing_media_description': 'メディアの説明が欠けているトゥートをブーストする前に確認ダイアログを表示する',
+  'settings.tag_misleading_links': '誤解を招くリンクにタグをつける',
+  'settings.tag_misleading_links.hint': '明示的に言及していないすべてのリンクに、リンクターゲットホストを含む視覚的な表示を追加します',
+  'settings.rewrite_mentions': '表示されたトゥートの返信先表示を書き換える',
+  'settings.rewrite_mentions_acct': 'ユーザー名とドメイン名(アカウントがリモートの場合)を表示するように書き換える',
+  'settings.rewrite_mentions_no': '書き換えない',
+  'settings.rewrite_mentions_username': 'ユーザー名を表示するように書き換える',
+  'settings.swipe_to_change_columns': 'スワイプでカラムを切り替え可能にする(モバイルのみ)',
+  'settings.prepend_cw_re': '返信するとき警告に "re: "を付加する',
+  'settings.preselect_on_reply': '返信するときユーザー名を事前選択する',
+  'settings.confirm_before_clearing_draft': '作成しているメッセージが上書きされる前に確認ダイアログを表示する',
+  'settings.show_content_type_choice': 'トゥートを書くときコンテンツ形式の選択ボタンを表示する',
+  'settings.inline_preview_cards': '外部リンクに埋め込みプレビューを有効にする',
+  'settings.media_reveal_behind_cw': '既定で警告指定されているトゥートの閲覧注意メディアを表示する',
+  'settings.pop_in_left': '左',
+  'settings.pop_in_player': 'ポップインプレイヤーを有効化する',
+  'settings.pop_in_position': 'ポップインプレーヤーの位置:',
+  'settings.pop_in_right': '右',
+  'status.show_filter_reason': '(理由を見る)',
+
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/ka.js b/app/javascript/flavours/glitch/locales/ka.js
new file mode 100644
index 000000000..3e06f4282
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ka.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/ka.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/kab.js b/app/javascript/flavours/glitch/locales/kab.js
new file mode 100644
index 000000000..5ed1156ef
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/kab.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/kab.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/kk.js b/app/javascript/flavours/glitch/locales/kk.js
new file mode 100644
index 000000000..8d00fb035
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/kk.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/kk.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/kn.js b/app/javascript/flavours/glitch/locales/kn.js
new file mode 100644
index 000000000..1c50e3628
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/kn.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/kn.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/ko.js b/app/javascript/flavours/glitch/locales/ko.js
new file mode 100644
index 000000000..a817044c1
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ko.js
@@ -0,0 +1,208 @@
+import inherited from 'mastodon/locales/ko.json';
+
+const messages = {
+  'account.add_account_note': '@{name} 님에 대한 메모 추가',
+  'account.disclaimer_full': '아래에 있는 정보들은 사용자의 프로필을 완벽하게 나타내지 못하고 있을 수도 있습니다.',
+  'account.follows': '팔로우',
+  'account.suspended_disclaimer_full': '이 사용자는 중재자에 의해 정지되었습니다.',
+  'account.view_full_profile': '전체 프로필 보기',
+  'account_note.cancel': '취소',
+  'account_note.edit': '편집',
+  'account_note.glitch_placeholder': '코멘트가 없습니다',
+  'account_note.save': '저장',
+  'advanced_options.icon_title': '고급 옵션',
+  'advanced_options.local-only.long': '다른 서버에 게시하지 않기',
+  'advanced_options.local-only.short': '로컬 전용',
+  'advanced_options.local-only.tooltip': '이 게시물은 로컬 전용입니다',
+  'advanced_options.threaded_mode.long': '글을 작성하고 자동으로 답글 열기',
+  'advanced_options.threaded_mode.short': '글타래 모드',
+  'advanced_options.threaded_mode.tooltip': '글타래 모드 활성화됨',
+  'boost_modal.missing_description': '이 게시물은 설명이 없는 미디어를 포함하고 있습니다',
+  'column.favourited_by': '즐겨찾기 한 사람',
+  'column.heading': '기타',
+  'column.reblogged_by': '부스트 한 사람',
+  'column.subheading': '다양한 옵션',
+  'column.toot': '게시물과 답글',
+  'column_header.profile': '프로필',
+  'column_subheading.lists': '리스트',
+  'column_subheading.navigation': '탐색',
+  'community.column_settings.allow_local_only': '로컬 전용 글 보기',
+  'compose.attach': '첨부…',
+  'compose.attach.doodle': '뭔가 그려보세요',
+  'compose.attach.upload': '파일 업로드',
+  'compose.content-type.html': 'HTML',
+  'compose.content-type.markdown': '마크다운',
+  'compose.content-type.plain': '일반 텍스트',
+  'compose_form.poll.multiple_choices': '여러 개 선택 가능',
+  'compose_form.poll.single_choice': '하나만 선택 가능',
+  'compose_form.spoiler': '경고 메시지로 숨기기',
+  'confirmation_modal.do_not_ask_again': '다음부터 확인창을 띄우지 않기',
+  'confirmations.discard_edit_media.message': '저장하지 않은 미디어 설명이나 미리보기가 있습니다, 그냥 닫을까요?',
+  'confirmations.missing_media_description.confirm': '그냥 보내기',
+  'confirmations.missing_media_description.edit': '미디어 편집',
+  'confirmations.missing_media_description.message': '하나 이상의 미디어에 대해 설명을 작성하지 않았습니다. 시각장애인을 위해 모든 미디어에 설명을 추가하는 것을 고려해주세요.',
+  'confirmations.unfilter': '이 필터링 된 글에 대한 정보',
+  'confirmations.unfilter.author': '작성자',
+  'confirmations.unfilter.confirm': '보기',
+  'confirmations.unfilter.edit_filter': '필터 편집',
+  'confirmations.unfilter.filters': '적용된 {count, plural, one {필터} other {필터들}}',
+  'content-type.change': '콘텐트 타입',
+  'direct.conversations_mode': '대화',
+  'direct.timeline_mode': '타임라인',
+  'endorsed_accounts_editor.endorsed_accounts': '추천하는 계정들',
+  'favourite_modal.combo': '다음엔 {combo}를 눌러 건너뛸 수 있습니다',
+  'getting_started.onboarding': '둘러보기',
+  'getting_started.open_source_notice': '글리치는 {Mastodon}의 자유 오픈소스 포크버전입니다. {github}에서 문제를 리포팅 하거나 기여를 할 수 있습니다.',
+  'home.column_settings.advanced': '고급',
+  'home.column_settings.filter_regex': '정규표현식으로 필터',
+  'home.column_settings.show_direct': 'DM 보여주기',
+  'home.settings': '컬럼 설정',
+  'keyboard_shortcuts.bookmark': '북마크',
+  'keyboard_shortcuts.secondary_toot': '보조 프라이버시 설정으로 글 보내기',
+  'keyboard_shortcuts.toggle_collapse': '글 접거나 펼치기',
+  'layout.auto': '자동',
+  'layout.current_is': '현재 레이아웃:',
+  'layout.desktop': '데스크탑',
+  'layout.hint.auto': '“고급 웹 인터페이스 활성화” 설정과 화면 크기에 따라 자동으로 레이아웃을 고릅니다.',
+  'layout.hint.desktop': '“고급 웹 인터페이스 활성화” 설정이나 화면 크기에 관계 없이 멀티 컬럼 레이아웃을 사용합니다.',
+  'layout.hint.single': '“고급 웹 인터페이스 활성화” 설정이나 화면 크기에 관계 없이 싱글 컬럼 레이아웃을 사용합니다.',
+  'layout.single': '모바일',
+  'media_gallery.sensitive': '민감함',
+  'moved_to_warning': '이 계정은 {moved_to_link}로 이동한 것으로 표시되었고, 새 팔로우를 받지 않는 것 같습니다.',
+  'navigation_bar.app_settings': '앱 설정',
+  'navigation_bar.featured_users': '추천된 계정들',
+  'navigation_bar.misc': '다양한 옵션들',
+  'notification.markForDeletion': '삭제하기 위해 표시',
+  'notification_purge.btn_all': '전체선택',
+  'notification_purge.btn_apply': '선택된 알림 삭제',
+  'notification_purge.btn_invert': '선택반전',
+  'notification_purge.btn_none': '전체선택해제',
+  'notification_purge.start': '알림 삭제모드로 들어가기',
+  'notifications.clear': '내 알림 모두 지우기',
+  'notifications.marked_clear': '선택된 알림 모두 삭제',
+  'notifications.marked_clear_confirmation': '정말로 선택된 알림들을 영구적으로 삭제할까요?',
+  'onboarding.done': '완료',
+  'onboarding.next': '다음',
+  'onboarding.page_five.public_timelines': '로컬 타임라인은 {domain}에 있는 모든 사람의 공개글을 보여줍니다. 연합 타임라인은 {domain}에 있는 사람들이 팔로우 하는 모든 사람의 공개글을 보여줍니다. 이것들은 공개 타임라인이라고 불리며, 새로운 사람들을 발견할 수 있는 좋은 방법입니다.',
+  'onboarding.page_four.home': '홈 타임라인은 당신이 팔로우 한 사람들의 글을 보여줍니다.',
+  'onboarding.page_four.notifications': '알림 컬럼은 누군가가 당신과 상호작용한 것들을 보여줍니다.',
+  'onboarding.page_one.federation': '{domain}은 마스토돈의 \'인스턴스\'입니다. 마스토돈은 하나의 거대한 소셜 네트워크를 만들기 위해 참여한 서버들의 네트워크입니다. 우린 이 서버들을 인스턴스라고 부릅니다.',
+  'onboarding.page_one.handle': '당신은 {domain}에 속해 있으며, 전체 핸들은 {handle} 입니다.',
+  'onboarding.page_one.welcome': '{domain}에 오신 것을 환영합니다!',
+  'onboarding.page_six.admin': '우리 서버의 관리자는 {admin} 님입니다.',
+  'onboarding.page_six.almost_done': '거의 다 되었습니다…',
+  'onboarding.page_six.appetoot': '본 아페툿!',
+  'onboarding.page_six.apps_available': 'iOS, 안드로이드, 그리고 다른 플랫폼들을 위한 {apps}이 존재합니다.',
+  'onboarding.page_six.github': '{domain}은 글리치를 통해 구동 됩니다. 글리치는 {Mastodon}의 {fork}입니다, 그리고 어떤 마스토돈 인스턴스나 앱과도 호환 됩니다. 글리치는 완전한 자유 오픈소스입니다. {github}에서 버그를 리포팅 하거나, 기능을 제안하거나, 코드를 기여할 수 있습니다.',
+  'onboarding.page_six.guidelines': '커뮤니티 가이드라인',
+  'onboarding.page_six.read_guidelines': '{domain}의 {guidelines}을 읽어주세요!',
+  'onboarding.page_six.various_app': '모바일 앱',
+  'onboarding.page_three.profile': '프로필을 수정해 아바타, 바이오, 표시되는 이름을 설정하세요. 거기에서 다른 설정들도 찾을 수 있습니다.',
+  'onboarding.page_three.search': '검색창을 사용해 사람들과 해시태그를 찾아보세요. 예를 들면 {illustration}이라든지 {introcustions} 같은 것으로요. 이 인스턴스에 있지 않은 사람을 찾으려면, 전체 핸들을 사용하세요.',
+  'onboarding.page_two.compose': '작성 컬럼에서 게시물을 작성하세요. 그림을 업로드 할 수 있고, 공개설정을 바꿀 수도 있으며, 아래 아이콘을 통해 열람주의 텍스트를 설정할 수 있습니다.',
+  'onboarding.skip': '건너뛰기',
+  'settings.always_show_spoilers_field': '열람주의 항목을 언제나 활성화',
+  'settings.auto_collapse': '자동으로 접기',
+  'settings.auto_collapse_all': '모두',
+  'settings.auto_collapse_lengthy': '긴 글',
+  'settings.auto_collapse_media': '미디어 포함 글',
+  'settings.auto_collapse_notifications': '알림',
+  '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.content_warnings': '열람주의',
+  'settings.content_warnings.regexp': '정규표현식',
+  'settings.content_warnings_filter': '자동으로 펼치지 않을 열람주의 문구:',
+  'settings.deprecated_setting': '이 설정은 마스토돈의 {settings_page_link}에서 관리됩니다',
+  'settings.enable_collapsed': '접힌 글 활성화',
+  'settings.enable_content_warnings_auto_unfold': '자동으로 열람주의 펼치기',
+  'settings.filtering_behavior': '필터링 동작',
+  'settings.filtering_behavior.cw': '게시물을 보여주되, 필터된 단어를 열람주의에 추가합니다',
+  'settings.filtering_behavior.drop': '완전히 숨깁니다',
+  'settings.filtering_behavior.hide': '\'필터됨\'이라고 표시하고 이유를 표시하는 버튼을 추가합니다',
+  'settings.filtering_behavior.upstream': '\'필터됨\'이라고 일반 마스토돈처럼 표시합니다',
+  'settings.filters': '필터',
+  'settings.general': '일반',
+  'settings.hicolor_privacy_icons': '높은 채도의 공개설정 아이콘',
+  'settings.hicolor_privacy_icons.hint': '공개설정 아이콘들을 밝고 구분하기 쉬운 색으로 표시합니다',
+  'settings.image_backgrounds': '이미지 배경',
+  'settings.image_backgrounds_media': '접힌 글의 미디어 미리보기',
+  'settings.image_backgrounds_users': '접힌 글에 이미지 배경 주기',
+  'settings.inline_preview_cards': '외부 링크에 대한 미리보기 카드를 같이 표시',
+  'settings.layout': '레이아웃:',
+  'settings.layout_opts': '레이아웃 옵션',
+  'settings.media': '미디어',
+  'settings.media_fullwidth': '최대폭 미디어 미리보기',
+  'settings.media_letterbox': '레터박스 미디어',
+  'settings.media_letterbox_hint': '확대하고 자르는 대신 축소하고 레터박스에 넣어 이미지를 보여줍니다',
+  'settings.media_reveal_behind_cw': '열람주의로 가려진 미디어를 기본으로 펼쳐 둡니다',
+  'settings.navbar_under': '내비바를 하단에 (모바일 전용)',
+  'settings.notifications.favicon_badge': '읽지 않은 알림 파비콘 배지',
+  'settings.notifications.favicon_badge.hint': '읽지 않은 알림 배지를 파비콘에 추가합니다',
+  'settings.notifications.tab_badge': '읽지 않은 알림 배지',
+  'settings.notifications.tab_badge.hint': '알림 컬럼이 열려 있지 않을 때 알림 컬럼에 알림이 있다는 배지를 표시합니다',
+  'settings.notifications_opts': '알림 옵션',
+  'settings.pop_in_left': '왼쪽',
+  'settings.pop_in_player': '떠있는 재생기 활성화',
+  'settings.pop_in_position': '떠있는 재생기 위치:',
+  'settings.pop_in_right': '오른쪽',
+  'settings.preferences': '사용자 설정',
+  'settings.prepend_cw_re': '열람주의가 달린 글에 답장을 할 때 열람주의 문구 앞에 “re: ”를 추가합니다',
+  'settings.preselect_on_reply': '답글 달 때 사용자명 미리 선택',
+  'settings.preselect_on_reply_hint': '답글을 달 때 이미 멘션 된 사람의 사용자명을 미리 블럭으로 설정해 놓습니다',
+  '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_reply_counter': '대략적인 답글 개수를 표시합니다',
+  'settings.side_arm': '보조 작성 버튼:',
+  'settings.side_arm.none': '없음',
+  '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.status_icons_language': '언어 표시',
+  'settings.status_icons_local_only': '로컬 전용 표시',
+  'settings.status_icons_media': '미디어와 투표 표시',
+  'settings.status_icons_reply': '답글 표시',
+  'settings.status_icons_visibility': '툿 공개설정 표시',
+  'settings.swipe_to_change_columns': '스와이프하여 컬럼간 전환을 허용합니다 (모바일 전용)',
+  'settings.tag_misleading_links': '오해의 소지가 있는 링크를 표시합니다',
+  'settings.tag_misleading_links.hint': '링크에 명시적으로 주소가 없는 경우엔 대상 호스트를 보이도록 표시합니다',
+  'settings.wide_view': '넓은 뷰 (데스크탑 모드 전용)',
+  'settings.wide_view_hint': '컬럼들을 늘려서 활용 가능한 공간을 사용합니다.',
+  'status.collapse': '접기',
+  'status.has_audio': '소리 파일이 첨부되어 있습니다',
+  'status.has_pictures': '그림 파일이 첨부되어 있습니다',
+  'status.has_preview_card': '미리보기 카드가 첨부되어 있습니다',
+  'status.has_video': '영상이 첨부되어 있습니다',
+  'status.hide': '글 가리기',
+  'status.in_reply_to': '이 글은 답글입니다',
+  'status.is_poll': '이 글은 설문입니다',
+  'status.local_only': '당신의 서버에서만 보입니다',
+  'status.sensitive_toggle': '클릭해서 보기',
+  'status.show_filter_reason': '(이유 보기)',
+  'status.uncollapse': '펼치기',
+  'upload_modal.applying': '적용중…',
+  'web_app_crash.change_your_settings': '{settings}을 바꾸세요',
+  'web_app_crash.content': '이것들을 시도해 볼 수 있습니다:',
+  'web_app_crash.debug_info': '디버그 정보',
+  'web_app_crash.disable_addons': '브라우저 애드온이나 기본 번역 도구를 비활성화 합니다',
+  'web_app_crash.issue_tracker': '이슈 트래커',
+  'web_app_crash.reload': '새로고침',
+  'web_app_crash.reload_page': '이 페이지를 {reload}',
+  'web_app_crash.report_issue': '{issuetracker}에 버그 제보',
+  'web_app_crash.settings': '설정',
+  'web_app_crash.title': '죄송합니다, 하지만 마스토돈 앱이 뭔가 잘못되었습니다.',
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/ku.js b/app/javascript/flavours/glitch/locales/ku.js
new file mode 100644
index 000000000..19e0e95aa
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ku.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/ku.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/kw.js b/app/javascript/flavours/glitch/locales/kw.js
new file mode 100644
index 000000000..1325ca825
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/kw.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/kw.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/lt.js b/app/javascript/flavours/glitch/locales/lt.js
new file mode 100644
index 000000000..47453aeeb
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/lt.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/lt.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/lv.js b/app/javascript/flavours/glitch/locales/lv.js
new file mode 100644
index 000000000..cdbcdf799
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/lv.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/lv.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/mk.js b/app/javascript/flavours/glitch/locales/mk.js
new file mode 100644
index 000000000..55e510b59
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/mk.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/mk.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/ml.js b/app/javascript/flavours/glitch/locales/ml.js
new file mode 100644
index 000000000..d00331a1a
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ml.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/ml.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/mr.js b/app/javascript/flavours/glitch/locales/mr.js
new file mode 100644
index 000000000..fb3cde92a
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/mr.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/mr.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/ms.js b/app/javascript/flavours/glitch/locales/ms.js
new file mode 100644
index 000000000..61033c521
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ms.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/ms.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/nl.js b/app/javascript/flavours/glitch/locales/nl.js
new file mode 100644
index 000000000..17c371c58
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/nl.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/nl.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/nn.js b/app/javascript/flavours/glitch/locales/nn.js
new file mode 100644
index 000000000..4c42368cb
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/nn.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/nn.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/no.js b/app/javascript/flavours/glitch/locales/no.js
new file mode 100644
index 000000000..794b1da25
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/no.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/no.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/oc.js b/app/javascript/flavours/glitch/locales/oc.js
new file mode 100644
index 000000000..8f161fd8c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/oc.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/oc.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/pa.js b/app/javascript/flavours/glitch/locales/pa.js
new file mode 100644
index 000000000..c3e0e2b84
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/pa.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/pa.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/pl.js b/app/javascript/flavours/glitch/locales/pl.js
new file mode 100644
index 000000000..f430bf577
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/pl.js
@@ -0,0 +1,79 @@
+import inherited from 'mastodon/locales/pl.json';
+
+const messages = {
+  'getting_started.open_source_notice': 'Glitchsoc jest wolnym i otwartoźródłowym forkiem oprogramowania {Mastodon}. Możesz współtworzyć projekt lub zgłaszać błędy na GitHubie pod adresem {github}.',
+  'layout.auto': 'Automatyczny',
+  'layout.current_is': 'Twój obecny układ to:',
+  'layout.desktop': 'Desktopowy',
+  'layout.mobile': 'Mobilny',
+  'navigation_bar.app_settings': 'Ustawienia aplikacji',
+  'navigation_bar.bookmarks': 'Zakładki',
+  'getting_started.onboarding': 'Rozejrzyj się',
+  'onboarding.page_one.federation': '{domain} jest \'instancją\' Mastodona. Mastodon to sieć działających niezależnie serwerów tworzących jedną sieć społecznościową. Te serwery nazywane są instancjami.',
+  'onboarding.page_one.welcome': 'Witamy na {domain}!',
+  'onboarding.page_six.github': '{domain} jest oparty na Glitchsoc. Glitchsoc jest {forkiem} {Mastodon}a kompatybilnym z każdym klientem i aplikacją Mastodona. Glitchsoc jest całkowicie wolnym i otwartoźródłowym oprogramowaniem. Możesz zgłaszać błędy i sugestie funkcji oraz współtworzyć projekt na {github}.',
+  'settings.auto_collapse': 'Automatyczne zwijanie',
+  'settings.auto_collapse_all': 'Wszystko',
+  'settings.auto_collapse_lengthy': 'Długie wpisy',
+  'settings.auto_collapse_media': 'Wpisy z zawartością multimedialną',
+  'settings.auto_collapse_notifications': 'Powiadomienia',
+  'settings.auto_collapse_reblogs': 'Podbicia',
+  'settings.auto_collapse_replies': 'Odpowiedzi',
+  'settings.close': 'Zamknij',
+  'settings.collapsed_statuses': 'Zwijanie wpisów',
+  'settings.enable_collapsed': 'Włącz zwijanie wpisów',
+  'settings.general': 'Ogólne',
+  'settings.image_backgrounds': 'Obrazy w tle',
+  'settings.image_backgrounds_media': 'Wyświetlaj zawartość multimedialną zwiniętych wpisów',
+  'settings.image_backgrounds_users': 'Nadaj tło zwiniętym wpisom',
+  'settings.layout': 'Układ',
+  'settings.media': 'Zawartość multimedialna',
+  'settings.media_letterbox': 'Letterbox media',
+  'settings.media_fullwidth': 'Podgląd zawartości multimedialnej o pełnej szerokości',
+  'settings.navbar_under': 'Pasek nawigacji na dole (tylko w trybie mobilnym)',
+  'settings.preferences': 'Preferencje użytkownika',
+  'settings.side_arm': 'Drugi przycisk wysyłania',
+  'settings.side_arm.none': 'Żaden',
+  'settings.wide_view': 'Szeroki widok (tylko w trybie desktopowym)',
+  'status.bookmark': 'Dodaj do zakładek',
+  'status.collapse': 'Zwiń',
+  'status.uncollapse': 'Rozwiń',
+
+  'media_gallery.sensitive': 'Zawartość wrażliwa',
+
+  'favourite_modal.combo': 'Możesz nacisnąć {combo}, aby pominąć to następnym razem',
+
+  'home.column_settings.show_direct': 'Pokaż wiadomości bezpośrednie',
+
+  'notification.markForDeletion': 'Oznacz do usunięcia',
+  'notifications.clear': 'Wyczyść wszystkie powiadomienia',
+  'notifications.marked_clear_confirmation': 'Czy na pewno chcesz bezpowrtonie usunąć wszystkie powiadomienia?',
+  'notifications.marked_clear': 'Usuń zaznaczone powiadomienia',
+
+  'notification_purge.btn_all': 'Zaznacz\nwszystkie',
+  'notification_purge.btn_none': 'Odznacz\nwszystkie',
+  'notification_purge.btn_invert': 'Odwróć\nzaznaczenie',
+  'notification_purge.btn_apply': 'Usuń\nzaznaczone',
+  'notification_purge.start': 'Przejdź do trybu usuwania powiadomień',
+
+  'compose.attach.upload': 'Wyślij plik',
+  'compose.attach.doodle': 'Narysuj coś',
+  'compose.attach': 'Załącz coś',
+
+  'advanced_options.local-only.short': 'Tylko lokalnie',
+  'advanced_options.local-only.long': 'Nie wysyłaj na inne instancje',
+  'advanced_options.local-only.tooltip': 'Ten wpis jest widoczny tylko lokalnie',
+  'advanced_options.icon_title': 'Ustawienia zaawansowane',
+  'advanced_options.threaded_mode.short': 'Tryb wątków',
+  'advanced_options.threaded_mode.long': 'Przechodzi do tworzenia odpowiedzi po publikacji wpisu',
+  'advanced_options.threaded_mode.tooltip': 'Włączono tryb wątków',
+  
+  'column.bookmarks': 'Zakładki',
+  'compose_form.sensitive': 'Oznacz zawartość multimedialną jako wrażliwą',
+  'compose_form.spoiler': 'Ukryj tekst za ostrzeżeniem',
+  'favourite_modal.combo': 'Możesz nacisnąć {combo}, aby pominąć to następnym razem',
+  'tabs_bar.compose': 'Napisz',
+  
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/pt-BR.js b/app/javascript/flavours/glitch/locales/pt-BR.js
new file mode 100644
index 000000000..6fed635f8
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/pt-BR.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/pt-BR.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/pt-PT.js b/app/javascript/flavours/glitch/locales/pt-PT.js
new file mode 100644
index 000000000..cf7afd17a
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/pt-PT.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/pt-PT.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/ro.js b/app/javascript/flavours/glitch/locales/ro.js
new file mode 100644
index 000000000..a16446c6a
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ro.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/ro.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/ru.js b/app/javascript/flavours/glitch/locales/ru.js
new file mode 100644
index 000000000..0e9f1de71
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ru.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/ru.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/sa.js b/app/javascript/flavours/glitch/locales/sa.js
new file mode 100644
index 000000000..4cade0a07
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/sa.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/sa.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/sc.js b/app/javascript/flavours/glitch/locales/sc.js
new file mode 100644
index 000000000..88a83aa53
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/sc.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/sc.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/si.js b/app/javascript/flavours/glitch/locales/si.js
new file mode 100644
index 000000000..d43266254
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/si.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/si.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/sk.js b/app/javascript/flavours/glitch/locales/sk.js
new file mode 100644
index 000000000..5fba6ab97
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/sk.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/sk.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/sl.js b/app/javascript/flavours/glitch/locales/sl.js
new file mode 100644
index 000000000..c53c1bae8
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/sl.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/sl.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/sq.js b/app/javascript/flavours/glitch/locales/sq.js
new file mode 100644
index 000000000..2fb7a2973
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/sq.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/sq.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/sr-Latn.js b/app/javascript/flavours/glitch/locales/sr-Latn.js
new file mode 100644
index 000000000..b42d5eaaf
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/sr-Latn.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/sr-Latn.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/sr.js b/app/javascript/flavours/glitch/locales/sr.js
new file mode 100644
index 000000000..8793d8d1e
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/sr.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/sr.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/sv.js b/app/javascript/flavours/glitch/locales/sv.js
new file mode 100644
index 000000000..b62c353fe
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/sv.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/sv.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/szl.js b/app/javascript/flavours/glitch/locales/szl.js
new file mode 100644
index 000000000..0b50afe45
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/szl.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/szl.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/ta.js b/app/javascript/flavours/glitch/locales/ta.js
new file mode 100644
index 000000000..d6ecdcb1b
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ta.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/ta.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/tai.js b/app/javascript/flavours/glitch/locales/tai.js
new file mode 100644
index 000000000..f26cec5bd
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/tai.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/tai.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/te.js b/app/javascript/flavours/glitch/locales/te.js
new file mode 100644
index 000000000..afd6e4f7b
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/te.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/te.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/th.js b/app/javascript/flavours/glitch/locales/th.js
new file mode 100644
index 000000000..e939f8631
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/th.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/th.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/tr.js b/app/javascript/flavours/glitch/locales/tr.js
new file mode 100644
index 000000000..c2b740617
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/tr.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/tr.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/tt.js b/app/javascript/flavours/glitch/locales/tt.js
new file mode 100644
index 000000000..ff74f6c29
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/tt.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/tt.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/ug.js b/app/javascript/flavours/glitch/locales/ug.js
new file mode 100644
index 000000000..ab7ee0761
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ug.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/ug.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/uk.js b/app/javascript/flavours/glitch/locales/uk.js
new file mode 100644
index 000000000..ab6d9a7dc
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/uk.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/uk.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/ur.js b/app/javascript/flavours/glitch/locales/ur.js
new file mode 100644
index 000000000..97ba291b0
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ur.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/ur.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/vi.js b/app/javascript/flavours/glitch/locales/vi.js
new file mode 100644
index 000000000..499a96727
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/vi.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/vi.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/zgh.js b/app/javascript/flavours/glitch/locales/zgh.js
new file mode 100644
index 000000000..f2f15b1a4
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/zgh.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/zgh.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/zh-CN.js b/app/javascript/flavours/glitch/locales/zh-CN.js
new file mode 100644
index 000000000..21a68fc01
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/zh-CN.js
@@ -0,0 +1,201 @@
+import inherited from 'mastodon/locales/zh-CN.json';
+
+const messages = {
+  'account.add_account_note': '为 @{name} 添加备注',
+  'account.disclaimer_full': '以下信息可能无法完整代表你的个人资料。',
+  'account.follows': '正在关注',
+  'account.suspended_disclaimer_full': '该用户已被封禁。',
+  'account.view_full_profile': '查看完整资料',
+  'account_note.cancel': '取消',
+  'account_note.edit': '编辑',
+  'account_note.glitch_placeholder': '暂无备注',
+  'account_note.save': '保存',
+  'advanced_options.icon_title': '高级选项',
+  'advanced_options.local-only.long': '不要发布嘟文到其他实例',
+  'advanced_options.local-only.short': '本地模式',
+  'advanced_options.local-only.tooltip': '这条嘟文仅限于本实例',
+  'advanced_options.threaded_mode.long': '发嘟时自动打开回复',
+  'advanced_options.threaded_mode.short': '线程模式',
+  'advanced_options.threaded_mode.tooltip': '线程模式已启用',
+  'boost_modal.missing_description': '这条嘟文未包含媒体描述',
+  'column.favourited_by': '喜欢',
+  'column.heading': '标题',
+  'column.reblogged_by': '转嘟',
+  'column.subheading': '其他选项',
+  'column.toot': '嘟文和回复',
+  'column_header.profile': '个人资料',
+  'column_subheading.lists': '列表',
+  'column_subheading.navigation': '导航',
+  'community.column_settings.allow_local_only': '只显示本地模式嘟文',
+  'compose.attach': '附上...',
+  'compose.attach.doodle': '画点什么',
+  'compose.attach.upload': '上传文件',
+  'compose.content-type.html': 'HTML',
+  'compose.content-type.markdown': 'Markdown',
+  'compose.content-type.plain': '纯文本',
+  'compose_form.poll.multiple_choices': '允许多选',
+  'compose_form.poll.single_choice': '允许单选',
+  'compose_form.spoiler': '隐藏为内容警告',
+  'confirmation_modal.do_not_ask_again': '下次不显示确认窗口',
+  'confirmations.discard_edit_media.confirm': '确认',
+  'confirmations.discard_edit_media.message': '有未保存的媒体描述或预览,确认要关闭?',
+  'confirmations.missing_media_description.confirm': '确认',
+  'confirmations.missing_media_description.edit': '编辑',
+  'confirmations.missing_media_description.message': '你没有为一种或多种媒体撰写描述。请考虑为视障人士添加描述。',
+  'confirmations.unfilter': '关于此过滤后嘟文的信息',
+  'confirmations.unfilter.author': '作者',
+  'confirmations.unfilter.confirm': '查看',
+  'confirmations.unfilter.edit_filter': '编辑过滤器',
+  'confirmations.unfilter.filters': '应用 {count, plural, one {过滤器} other {过滤器}}',
+  'content-type.change': '内容类型 ',
+  'direct.conversations_mode': '对话模式',
+  'direct.timeline_mode': '时间线模式',
+  'endorsed_accounts_editor.endorsed_accounts': '推荐用户',
+  'favourite_modal.combo': '下次你可以按 {combo} 跳过这个',
+  'getting_started.onboarding': '参观一下',
+  'getting_started.open_source_notice': 'Glitchsoc 是由 {Mastodon} 分叉出来的免费开源软件。你可以在 GitHub 上贡献或报告问题,地址是 {github}。',
+  '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': '折叠或展开嘟文',
+  'layout.auto': '自动模式',
+  'layout.current_is': '你目前的布局是:',
+  'layout.desktop': '桌面模式',
+  'layout.hint.auto': '根据“启用高级 Web 界面”设置和屏幕大小自动选择布局。',
+  'layout.hint.desktop': '“使用多列布局,无论“启用高级 Web 界面”设置和屏幕大小如何。',
+  'layout.hint.single': '使用单列布局,无论“启用高级 Web 界面”设置和屏幕大小如何。',
+  'layout.single': '移动模式',
+  'media_gallery.sensitive': '敏感内容',
+  'moved_to_warning': '此帐户已被标记为移至 {moved_to_link},并且似乎没有收到新关注者。',
+  'navigation_bar.app_settings': '应用选项',
+  'navigation_bar.featured_users': '推荐用户',
+  'navigation_bar.misc': '杂项',
+  'notification.markForDeletion': '标记以删除',
+  'notification_purge.btn_all': '全选',
+  'notification_purge.btn_apply': '清除已选',
+  'notification_purge.btn_invert': '反向选择',
+  'notification_purge.btn_none': '取消全选',
+  'notification_purge.start': '进入通知清除模式',
+  'notifications.clear': '清除所有通知',
+  'notifications.marked_clear': '清除选择的通知',
+  'notifications.marked_clear_confirmation': '你确定要永久清除所有选择的通知吗?',
+  'onboarding.done': '完成',
+  'onboarding.next': '下一个',
+  'onboarding.page_five.public_timelines': '本地时间线显示来自 {domain} 中所有人的公开嘟文。跨站时间线显示了 {domain} 用户关注的每个人的公开嘟文。这些被称为公共时间线,是发现新朋友的好方法。',
+  'onboarding.page_four.home': '你的主页时间线会显示你关注的人的嘟文。',
+  'onboarding.page_four.notifications': '通知栏显示某人与你互动的内容。',
+  'onboarding.page_one.federation': '{domain} 是 Mastodon 的一个“实例”。Mastodon 是一个由独立服务器组成的,通过不断联合形成的社交网络。我们称这些服务器为实例。',
+  'onboarding.page_one.handle': '你位于 {domain},因此你的完整用户名是 {handle} 。',
+  'onboarding.page_one.welcome': '欢迎来到 {domain}!',
+  'onboarding.page_six.admin': '实例的管理员是 {admin}。',
+  'onboarding.page_six.almost_done': '就快完成了...',
+  'onboarding.page_six.appetoot': '尽情享用吧!',
+  'onboarding.page_six.apps_available': '有适用于 iOS、Android 和其他平台的应用程序。',
+  'onboarding.page_six.github': '{domain} 在 Glitchsoc 上运行。Glitchsoc 是 {Mastodon} 的一个友好 {fork},与任何 Mastodon 实例或应用兼容。Glitchsoc 是完全免费和开源的。你可以在 {github} 上报告错误、请求功能或贡献代码。',
+  'onboarding.page_six.guidelines': '社区准则',
+  'onboarding.page_six.read_guidelines': '请阅读 {domain} 的 {guidelines}!',
+  'onboarding.page_six.various_app': '应用程序',
+  'onboarding.page_three.profile': '编辑你的个人资料,更改你的头像、个人简介和昵称。在那里,你还会发现其他设置。',
+  'onboarding.page_three.search': '使用搜索栏查找用户并查看标签,例如 #illustration 和 #introductions。要查找不在此实例中的用户,请使用他们的完整用户名。',
+  'onboarding.page_two.compose': '在撰写框中撰写嘟文。你可以使用下方图标上传图像、更改隐私设置和添加内容警告。',
+  'onboarding.skip': '跳过',
+  'settings.always_show_spoilers_field': '始终显示内容警告框',
+  'settings.auto_collapse': '自动折叠',
+  'settings.auto_collapse_all': '所有',
+  'settings.auto_collapse_lengthy': '长嘟文',
+  'settings.auto_collapse_media': '带媒体文件的嘟文',
+  'settings.auto_collapse_notifications': '通知',
+  '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.content_warnings': '内容警告',
+  'settings.content_warnings.regexp': '正则表达式',
+  'settings.content_warnings_filter': '不会自动展开的内容警告:',
+  'settings.enable_collapsed': '启用折叠嘟文',
+  'settings.enable_content_warnings_auto_unfold': '自动展开内容警告',
+  'settings.filtering_behavior': '过滤器行为',
+  'settings.filtering_behavior.cw': '仍然显示嘟文,并在内容警告中添加过滤词',
+  'settings.filtering_behavior.drop': '完全隐藏过滤的嘟文',
+  'settings.filtering_behavior.hide': '显示“已过滤”并添加一个按钮来显示原因',
+  'settings.filtering_behavior.upstream': '像原版 Mastodon 一样显示“已过滤”',
+  'settings.filters': '过滤器',
+  'settings.general': '一般',
+  'settings.hicolor_privacy_icons': '彩色隐私图标 ',
+  'settings.hicolor_privacy_icons.hint': '以明亮且易于区分的颜色显示隐私图标',
+  'settings.image_backgrounds': '图片背景',
+  'settings.image_backgrounds_media': '预览折叠嘟文的媒体文件',
+  'settings.image_backgrounds_users': '为折叠嘟文附加图片背景',
+  'settings.inline_preview_cards': '外部链接的内嵌预览卡片',
+  'settings.layout': '布局:',
+  'settings.layout_opts': '布局选项',
+  'settings.media': '媒体',
+  'settings.media_fullwidth': '全宽媒体预览',
+  'settings.media_letterbox': '信箱媒体',
+  'settings.media_letterbox_hint': '缩小媒体以填充图像容器而不是拉伸和裁剪它们',
+  'settings.media_reveal_behind_cw': '默认显示内容警告后的敏感媒体',
+  'settings.navbar_under': '底部导航栏(仅限于移动模式)',
+  'settings.notifications.favicon_badge': '未读通知网站图标',
+  'settings.notifications.favicon_badge.hint': '将未读通知添加到网站图标',
+  'settings.notifications.tab_badge': '未读通知图标',
+  'settings.notifications.tab_badge.hint': '当通知栏未打开时,显示未读通知图标',
+  'settings.notifications_opts': '通知选项',
+  'settings.pop_in_left': '左边',
+  'settings.pop_in_player': '启用悬浮播放器',
+  'settings.pop_in_position': '悬浮播放器位置:',
+  'settings.pop_in_right': '右边',
+  'settings.preferences': '用户选项',
+  'settings.prepend_cw_re': '回复时在内容警告前加上“re:”',
+  'settings.preselect_on_reply': '回复时预先选择用户名',
+  'settings.preselect_on_reply_hint': '回复与多个参与者的对话时,预先选择第一个用户名',
+  'settings.rewrite_mentions': '重写嘟文中的提及',
+  'settings.rewrite_mentions_acct': '重写为用户名和域名(当帐户为远程时)',
+  'settings.rewrite_mentions_no': '不要重写',
+  'settings.rewrite_mentions_username': '重写为用户名',
+  'settings.show_action_bar': '在折叠的嘟文中显示操作按钮',
+  'settings.show_content_type_choice': '允许你在撰写嘟文时选择格式类型',
+  'settings.show_reply_counter': '显示回复的大致数量',
+  'settings.side_arm': '辅助发嘟按钮:',
+  'settings.side_arm.none': '无',
+  'settings.side_arm_reply_mode': '当回复嘟文时:',
+  'settings.side_arm_reply_mode.copy': '复制被回复嘟文的隐私设置',
+  'settings.side_arm_reply_mode.keep': '保留辅助发嘟按钮以设置隐私',
+  'settings.side_arm_reply_mode.restrict': '将隐私设置限制为正在回复的那条嘟文',
+  'settings.swipe_to_change_columns': '允许滑动以在列之间切换(仅限移动模式)',
+  'settings.tag_misleading_links': '标记误导性链接',
+  'settings.tag_misleading_links.hint': '将带有目标网页链接的视觉指示添加到每个未明确的链接',
+  'settings.wide_view': '宽视图(仅限于桌面模式)',
+  'settings.wide_view_hint': '拉伸列宽以更好地填充可用空间。',
+  'status.collapse': '折叠',
+  'status.has_audio': '附带音频文件',
+  'status.has_pictures': '附带图片文件',
+  'status.has_preview_card': '附带预览卡片',
+  'status.has_video': '附带视频文件',
+  'status.hide': '隐藏内容',
+  'status.in_reply_to': '此嘟文是回复',
+  'status.is_poll': '此嘟文是投票',
+  'status.local_only': '此嘟文仅本实例可见',
+  'status.sensitive_toggle': '点击查看',
+  'status.show_filter_reason': '(显示原因)',
+  'status.uncollapse': '不折叠',
+  'upload_modal.applying': '正在应用...',
+  'web_app_crash.change_your_settings': '更改 {settings}',
+  'web_app_crash.content': '你可以尝试这些:',
+  'web_app_crash.debug_info': '调试信息',
+  'web_app_crash.disable_addons': '禁用浏览器插件或本地翻译工具',
+  'web_app_crash.issue_tracker': '问题追踪器',
+  'web_app_crash.reload': '刷新',
+  'web_app_crash.reload_page': '{reload} 此页面',
+  'web_app_crash.report_issue': '将错误报告给 {issuetracker}',
+  'web_app_crash.settings': '设置',
+  'web_app_crash.title': '抱歉,Mastodon 出了点问题。',
+};
+
+export default Object.assign({}, inherited, messages);
\ No newline at end of file
diff --git a/app/javascript/flavours/glitch/locales/zh-HK.js b/app/javascript/flavours/glitch/locales/zh-HK.js
new file mode 100644
index 000000000..b71c81f2b
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/zh-HK.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/zh-HK.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);
diff --git a/app/javascript/flavours/glitch/locales/zh-TW.js b/app/javascript/flavours/glitch/locales/zh-TW.js
new file mode 100644
index 000000000..de2b7769c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/zh-TW.js
@@ -0,0 +1,7 @@
+import inherited from 'mastodon/locales/zh-TW.json';
+
+const messages = {
+  //  No translations available.
+};
+
+export default Object.assign({}, inherited, messages);