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.json1
-rw-r--r--app/javascript/flavours/glitch/locales/an.json1
-rw-r--r--app/javascript/flavours/glitch/locales/ar.json6
-rw-r--r--app/javascript/flavours/glitch/locales/ast.json6
-rw-r--r--app/javascript/flavours/glitch/locales/be.json1
-rw-r--r--app/javascript/flavours/glitch/locales/bg.json6
-rw-r--r--app/javascript/flavours/glitch/locales/bn.json6
-rw-r--r--app/javascript/flavours/glitch/locales/br.json6
-rw-r--r--app/javascript/flavours/glitch/locales/bs.json1
-rw-r--r--app/javascript/flavours/glitch/locales/ca.json6
-rw-r--r--app/javascript/flavours/glitch/locales/ckb.json6
-rw-r--r--app/javascript/flavours/glitch/locales/co.json6
-rw-r--r--app/javascript/flavours/glitch/locales/cs.json152
-rw-r--r--app/javascript/flavours/glitch/locales/cy.json6
-rw-r--r--app/javascript/flavours/glitch/locales/da.json6
-rw-r--r--app/javascript/flavours/glitch/locales/de.json200
-rw-r--r--app/javascript/flavours/glitch/locales/defaultMessages.json1064
-rw-r--r--app/javascript/flavours/glitch/locales/el.json6
-rw-r--r--app/javascript/flavours/glitch/locales/en-GB.json1
-rw-r--r--app/javascript/flavours/glitch/locales/en.json200
-rw-r--r--app/javascript/flavours/glitch/locales/eo.json68
-rw-r--r--app/javascript/flavours/glitch/locales/es-AR.json200
-rw-r--r--app/javascript/flavours/glitch/locales/es-MX.json200
-rw-r--r--app/javascript/flavours/glitch/locales/es.json200
-rw-r--r--app/javascript/flavours/glitch/locales/et.json6
-rw-r--r--app/javascript/flavours/glitch/locales/eu.json6
-rw-r--r--app/javascript/flavours/glitch/locales/fa.json6
-rw-r--r--app/javascript/flavours/glitch/locales/fi.json6
-rw-r--r--app/javascript/flavours/glitch/locales/fo.json1
-rw-r--r--app/javascript/flavours/glitch/locales/fr-QC.json199
-rw-r--r--app/javascript/flavours/glitch/locales/fr.json199
-rw-r--r--app/javascript/flavours/glitch/locales/fy.json1
-rw-r--r--app/javascript/flavours/glitch/locales/ga.json6
-rw-r--r--app/javascript/flavours/glitch/locales/gd.json6
-rw-r--r--app/javascript/flavours/glitch/locales/gl.json6
-rw-r--r--app/javascript/flavours/glitch/locales/he.json6
-rw-r--r--app/javascript/flavours/glitch/locales/hi.json18
-rw-r--r--app/javascript/flavours/glitch/locales/hr.json6
-rw-r--r--app/javascript/flavours/glitch/locales/hu.json6
-rw-r--r--app/javascript/flavours/glitch/locales/hy.json6
-rw-r--r--app/javascript/flavours/glitch/locales/id.json6
-rw-r--r--app/javascript/flavours/glitch/locales/ig.json1
-rw-r--r--app/javascript/flavours/glitch/locales/io.json6
-rw-r--r--app/javascript/flavours/glitch/locales/is.json6
-rw-r--r--app/javascript/flavours/glitch/locales/it.json6
-rw-r--r--app/javascript/flavours/glitch/locales/ja.json124
-rw-r--r--app/javascript/flavours/glitch/locales/ka.json6
-rw-r--r--app/javascript/flavours/glitch/locales/kab.json6
-rw-r--r--app/javascript/flavours/glitch/locales/kk.json6
-rw-r--r--app/javascript/flavours/glitch/locales/kn.json6
-rw-r--r--app/javascript/flavours/glitch/locales/ko.json200
-rw-r--r--app/javascript/flavours/glitch/locales/ku.json6
-rw-r--r--app/javascript/flavours/glitch/locales/kw.json6
-rw-r--r--app/javascript/flavours/glitch/locales/la.json1
-rw-r--r--app/javascript/flavours/glitch/locales/lt.json6
-rw-r--r--app/javascript/flavours/glitch/locales/lv.json6
-rw-r--r--app/javascript/flavours/glitch/locales/mk.json6
-rw-r--r--app/javascript/flavours/glitch/locales/ml.json6
-rw-r--r--app/javascript/flavours/glitch/locales/mr.json6
-rw-r--r--app/javascript/flavours/glitch/locales/ms.json6
-rw-r--r--app/javascript/flavours/glitch/locales/my.json1
-rw-r--r--app/javascript/flavours/glitch/locales/nl.json6
-rw-r--r--app/javascript/flavours/glitch/locales/nn.json6
-rw-r--r--app/javascript/flavours/glitch/locales/no.json6
-rw-r--r--app/javascript/flavours/glitch/locales/oc.json6
-rw-r--r--app/javascript/flavours/glitch/locales/pa.json6
-rw-r--r--app/javascript/flavours/glitch/locales/pl.json197
-rw-r--r--app/javascript/flavours/glitch/locales/pt-BR.json200
-rw-r--r--app/javascript/flavours/glitch/locales/pt-PT.json25
-rw-r--r--app/javascript/flavours/glitch/locales/ro.json6
-rw-r--r--app/javascript/flavours/glitch/locales/ru.json6
-rw-r--r--app/javascript/flavours/glitch/locales/sa.json6
-rw-r--r--app/javascript/flavours/glitch/locales/sc.json6
-rw-r--r--app/javascript/flavours/glitch/locales/sco.json1
-rw-r--r--app/javascript/flavours/glitch/locales/si.json6
-rw-r--r--app/javascript/flavours/glitch/locales/sk.json6
-rw-r--r--app/javascript/flavours/glitch/locales/sl.json6
-rw-r--r--app/javascript/flavours/glitch/locales/sq.json6
-rw-r--r--app/javascript/flavours/glitch/locales/sr-Latn.json6
-rw-r--r--app/javascript/flavours/glitch/locales/sr.json6
-rw-r--r--app/javascript/flavours/glitch/locales/sv.json6
-rw-r--r--app/javascript/flavours/glitch/locales/szl.json201
-rw-r--r--app/javascript/flavours/glitch/locales/ta.json6
-rw-r--r--app/javascript/flavours/glitch/locales/tai.json201
-rw-r--r--app/javascript/flavours/glitch/locales/te.json6
-rw-r--r--app/javascript/flavours/glitch/locales/th.json6
-rw-r--r--app/javascript/flavours/glitch/locales/tr.json6
-rw-r--r--app/javascript/flavours/glitch/locales/tt.json6
-rw-r--r--app/javascript/flavours/glitch/locales/ug.json6
-rw-r--r--app/javascript/flavours/glitch/locales/uk.json48
-rw-r--r--app/javascript/flavours/glitch/locales/ur.json6
-rw-r--r--app/javascript/flavours/glitch/locales/vi.json6
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_af.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_ar.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_ast.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_bg.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_bn.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_br.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_ca.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_ckb.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_co.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_cs.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_cy.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_da.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_de.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_el.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_en.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_eo.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_es-AR.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_es-MX.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_es.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_et.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_eu.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_fa.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_fi.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_fr.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_ga.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_gd.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_gl.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_he.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_hi.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_hr.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_hu.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_hy.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_id.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_io.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_is.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_it.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_ja.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_ka.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_kab.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_kk.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_kn.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_ko.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_ku.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_kw.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_lt.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_lv.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_mk.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_ml.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_mr.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_ms.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_nl.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_nn.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_no.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_oc.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_pa.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_pl.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_pt-BR.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_pt-PT.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_ro.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_ru.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_sa.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_sc.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_si.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_sk.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_sl.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_sq.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_sr-Latn.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_sr.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_sv.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_szl.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_ta.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_tai.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_te.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_th.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_tr.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_tt.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_ug.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_uk.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_ur.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_vi.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_zgh.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_zh-CN.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_zh-HK.json2
-rw-r--r--app/javascript/flavours/glitch/locales/whitelist_zh-TW.json2
-rw-r--r--app/javascript/flavours/glitch/locales/zgh.json201
-rw-r--r--app/javascript/flavours/glitch/locales/zh-CN.json200
-rw-r--r--app/javascript/flavours/glitch/locales/zh-HK.json6
-rw-r--r--app/javascript/flavours/glitch/locales/zh-TW.json6
180 files changed, 4860 insertions, 0 deletions
diff --git a/app/javascript/flavours/glitch/locales/af.json b/app/javascript/flavours/glitch/locales/af.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/af.json
@@ -0,0 +1 @@
+{}
diff --git a/app/javascript/flavours/glitch/locales/an.json b/app/javascript/flavours/glitch/locales/an.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/an.json
@@ -0,0 +1 @@
+{}
diff --git a/app/javascript/flavours/glitch/locales/ar.json b/app/javascript/flavours/glitch/locales/ar.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ar.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/ast.json b/app/javascript/flavours/glitch/locales/ast.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ast.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/be.json b/app/javascript/flavours/glitch/locales/be.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/be.json
@@ -0,0 +1 @@
+{}
diff --git a/app/javascript/flavours/glitch/locales/bg.json b/app/javascript/flavours/glitch/locales/bg.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/bg.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/bn.json b/app/javascript/flavours/glitch/locales/bn.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/bn.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/br.json b/app/javascript/flavours/glitch/locales/br.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/br.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/bs.json b/app/javascript/flavours/glitch/locales/bs.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/bs.json
@@ -0,0 +1 @@
+{}
diff --git a/app/javascript/flavours/glitch/locales/ca.json b/app/javascript/flavours/glitch/locales/ca.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ca.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/ckb.json b/app/javascript/flavours/glitch/locales/ckb.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ckb.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/co.json b/app/javascript/flavours/glitch/locales/co.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/co.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/cs.json b/app/javascript/flavours/glitch/locales/cs.json
new file mode 100644
index 000000000..a3d1c3b9c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/cs.json
@@ -0,0 +1,152 @@
+{
+  "about.fork_disclaimer": "Glitch-soc je svobodný software s otevřeným zdrojovým kódem založený na Mastodonu.",
+  "advanced_options.icon_title": "Pokročilá nastavení",
+  "advanced_options.local-only.long": "Neposílat na jiné servery",
+  "advanced_options.local-only.short": "Lokální příspěvek",
+  "advanced_options.local-only.tooltip": "Tento příspěvek je pouze lokální",
+  "advanced_options.threaded_mode.long": "Po odeslání automaticky otevře pole pro odpověď",
+  "advanced_options.threaded_mode.short": "Režim vlákna",
+  "advanced_options.threaded_mode.tooltip": "Režim vlákna je zapnutý",
+  "boost_modal.missing_description": "Příspěvek obsahuje obrázky bez popisků",
+  "column.subheading": "Různé",
+  "compose.attach": "Připojit...",
+  "compose.attach.doodle": "Něco namalovat",
+  "compose.attach.upload": "Nahrát soubor",
+  "compose.content-type.plain": "Prostý text",
+  "compose_form.poll.multiple_choices": "Povolit více odpovědí",
+  "compose_form.poll.single_choice": "Povolit jednu odpověď",
+  "compose_form.spoiler": "Přidat varování o obsahu",
+  "confirmation_modal.do_not_ask_again": "Příště se už neptat",
+  "content-type.change": "Formát příspěvku",
+  "direct.group_by_conversations": "Seskupit do konverzací",
+  "endorsed_accounts_editor.endorsed_accounts": "Vybrané účty",
+  "favourite_modal.combo": "Příště můžete pro přeskočení stisknout {combo}",
+  "getting_started.onboarding": "Ukaž mi to tu",
+  "home.column_settings.advanced": "Pokročilé",
+  "home.column_settings.filter_regex": "Filtrovat podle regulárních výrazů",
+  "home.column_settings.show_direct": "Zobrazit přímé zprávy",
+  "keyboard_shortcuts.bookmark": "Přidat do záložek",
+  "keyboard_shortcuts.secondary_toot": "Odeslat příspěvek s druhotným nastavením soukromí",
+  "keyboard_shortcuts.toggle_collapse": "Sbalit/rozbalit příspěvek",
+  "layout.auto": "Automatické",
+  "layout.hint.auto": "Vybrat rozložení automaticky v závislosti na nastavení “Povolit pokročilé webové rozhraní” a velikosti obrazovky.",
+  "layout.hint.desktop": "Použít vícesloupcové rozložení nezávisle na nastavení “Povolit pokročilé webové rozhraní” a velikosti obrazovky.",
+  "layout.hint.single": "Použít jednosloupcové rozložení nezávisle na nastavení “Povolit pokročilé webové rozhraní” a velikosti obrazovky.",
+  "media_gallery.sensitive": "Citlivý obsah",
+  "navigation_bar.app_settings": "Nastavení aplikace",
+  "navigation_bar.featured_users": "Vybraní uživatelé",
+  "navigation_bar.keyboard_shortcuts": "Klávesové zkratky",
+  "navigation_bar.misc": "Různé",
+  "notification.markForDeletion": "Označit pro smazání",
+  "notification_purge.btn_all": "Vybrat\nvše",
+  "notification_purge.btn_apply": "Smazat\nvybrané",
+  "notification_purge.btn_invert": "Obrátit\nvýběr",
+  "notification_purge.btn_none": "Nevybrat\nnic",
+  "notification_purge.start": "Čistící režim",
+  "notifications.marked_clear": "Smazat vybraná oznámení",
+  "notifications.marked_clear_confirmation": "Určitě chcete trvale smazat všechna vybraná oznámení?",
+  "onboarding.done": "Hotovo",
+  "onboarding.next": "Další",
+  "onboarding.page_five.public_timelines": "Místní časová osa zobrazuje veřejné příspěvky všech uživatelů instance {domain}. Federovaná časová osa zobrazí příspěvky od všech, koho uživatelé instance {domain} sledují. Tyto veřejné časové osy jsou skvělý způsob, jak objevit nové lidi.",
+  "onboarding.page_four.home": "Domovská časová osa zobrazuje příspěvky od lidí, které sledujete.",
+  "onboarding.page_four.notifications": "Notifikace se zobrazí, když s vámi někdo interaguje.",
+  "onboarding.page_one.federation": "{domain} je 'instance' Mastodonu. Mastodon je síť nezávislých serverů, které jsou spolu propojené do jedné velké sociální sítě. Těmto serverům říkáme instance.",
+  "onboarding.page_one.handle": "Jste na instanci {domain}, takže celá adresa vašeho profilu je {handle}",
+  "onboarding.page_one.welcome": "Vítá vás {domain}!",
+  "onboarding.page_six.almost_done": "Skoro hotovo...",
+  "onboarding.page_six.appetoot": "Veselé mastodonění!",
+  "onboarding.page_six.apps_available": "Jsou dostupné {apps} pro iOS, Android i jiné platformy.",
+  "onboarding.page_six.github": "Na serveru {domain} běží Glitchsoc. Glitchsoc je přátelský {fork} programu {Mastodon}, a je kompatibilní s jakoukoliv jinou mastodoní instancí nebo aplikací. Glitchsoc je zcela svobodný a má otevřený zdrojový kód. Na stránce {github} můžete hlásit chyby, žádat o nové funkce, nebo ke kódu vlastnoručně přispět.",
+  "onboarding.page_six.various_app": "mobilní aplikace",
+  "onboarding.page_three.profile": "Upravte si svůj profil a nastavte si profilový obrázek, jméno, a krátký text o sobě. Naleznete tam i další možnosti nastavení.",
+  "onboarding.page_three.search": "Pomocí vyhledávací lišty můžete hledat lidi nebo hashtagy. Pokud hledáte někoho z jiné instance, musíte použít celou adresu jeho profilu.",
+  "onboarding.page_two.compose": "Příspěvky se píší v levém sloupci. Pomocí ikon pod příspěvkem k němu můžete připojit obrázky, změnit úroveň soukromí nebo přidat varování o obsahu.",
+  "onboarding.skip": "Přeskočit",
+  "settings.always_show_spoilers_field": "Vždy zobrazit pole pro varování o obsahu",
+  "settings.auto_collapse": "Automaticky sbalit",
+  "settings.auto_collapse_all": "Všechno",
+  "settings.auto_collapse_lengthy": "Dlouhé příspěvky",
+  "settings.auto_collapse_media": "Příspěvky s přílohami",
+  "settings.auto_collapse_notifications": "Oznámení",
+  "settings.auto_collapse_reblogs": "Boosty",
+  "settings.auto_collapse_replies": "Odpovědi",
+  "settings.close": "Zavřít",
+  "settings.collapsed_statuses": "Sbalené příspěvky",
+  "settings.compose_box_opts": "Editační pole",
+  "settings.confirm_before_clearing_draft": "Zobrazit potvrzovací dialog před přepsáním právě vytvářené zprávy",
+  "settings.confirm_boost_missing_media_description": "Zobrazit potvrzovací dialog před boostnutím příspěvku s chybějícími popisky obrázků",
+  "settings.confirm_missing_media_description": "Zobrazit potvrzovací dialog při odesílání příspěvku, ve kterém chybí popisky obrázků",
+  "settings.content_warnings": "Varování o obsahu",
+  "settings.content_warnings.regexp": "Regulární výraz",
+  "settings.content_warnings_filter": "Tato varování o obsahu automaticky nerozbalovat:",
+  "settings.content_warnings_media_outside": "Zobrazit obrázky a videa mimo varování o obsahu",
+  "settings.content_warnings_media_outside_hint": "Obrázky a videa z příspěvku s varováním o obsahu se zobrazí se separátním přepínačem zobrazení, stejně jako na běžném Mastodonu.",
+  "settings.content_warnings_shared_state": "Zobrazit/schovat všechny kopie naráz",
+  "settings.content_warnings_shared_state_hint": "Tlačítko varování o obsahu bude mít efekt na všechny kopie příspěvku naráz, stejně jako na běžném Mastodonu. Nebude pak možné automaticky sbalit jakoukoliv kopii příspěvku, která má rozbalené varování o obsahu",
+  "settings.content_warnings_unfold_opts": "Možnosti automatického rozbalení",
+  "settings.deprecated_setting": "Tato možnost se nyní nastavuje v {settings_page_link}",
+  "settings.enable_collapsed": "Povolit sbalené příspěvky",
+  "settings.enable_collapsed_hint": "U sbalených příspěvků je část jejich obsahu skrytá, aby zabraly méně místa na obrazovce. (Tohle není stejná funkce jako varování o obsahu.)",
+  "settings.enable_content_warnings_auto_unfold": "Vždy rozbalit příspěvky označené varováním o obsahu",
+  "settings.general": "Obecné",
+  "settings.hicolor_privacy_icons": "Barevné ikony soukromí",
+  "settings.hicolor_privacy_icons.hint": "Zobrazit ikony úrovně soukromí příspěvků v jasných, snadno rozlišitelných barvách",
+  "settings.image_backgrounds": "Obrázkové pozadí",
+  "settings.image_backgrounds_media": "Náhled médií ve sbalených příspěvcích",
+  "settings.image_backgrounds_media_hint": "Pokud jsou k příspěvku přiložena média, použije se první z nich jako pozadí",
+  "settings.image_backgrounds_users": "Nastavit sbaleným příspěvkům obrázkové pozadí",
+  "settings.inline_preview_cards": "Zobrazit v časové ose náhledy externích odkazů",
+  "settings.layout": "Rozložení:",
+  "settings.layout_opts": "Možnosti rozvržení",
+  "settings.media": "Média",
+  "settings.media_fullwidth": "Zobrazit náhledy v plné šířce",
+  "settings.media_letterbox": "Neořezávat obrázky",
+  "settings.media_letterbox_hint": "Místo výřezu obrázku zobrazit obrázek celý, doplněný podle potřeby o prázdné okraje",
+  "settings.media_reveal_behind_cw": "Automaticky zobrazit média označená varováním o obsahu",
+  "settings.notifications.favicon_badge": "Zobrazit počet na ikoně serveru",
+  "settings.notifications.favicon_badge.hint": "Zobrazí počet nepřečtených oznámení na ikoně serveru",
+  "settings.notifications.tab_badge": "Zobrazit počet nepřečtených oznámení",
+  "settings.notifications.tab_badge.hint": "Počet nepřečtených oznámení se viditelně zobrazí na hlavní stránce (pokud není seznam oznámení viditelný)",
+  "settings.notifications_opts": "Možnosti oznámení",
+  "settings.pop_in_left": "Vlevo",
+  "settings.pop_in_player": "Povolit plovoucí okno přehrávače",
+  "settings.pop_in_position": "Pozice plovoucího okna:",
+  "settings.pop_in_right": "Vpravo",
+  "settings.preferences": "Předvolby",
+  "settings.prepend_cw_re": "Při odpovídání přidat před varování o obsahu “re: ”",
+  "settings.preselect_on_reply": "Při odpovědi označit uživatelská jména",
+  "settings.preselect_on_reply_hint": "Při odpovídání na konverzaci s více účastníky se jména všech kromě prvního označí, aby šla jednoduše smazat",
+  "settings.rewrite_mentions": "Přepsat zmínky v zobrazených příspěvcích",
+  "settings.rewrite_mentions_acct": "Přepsat uživatelským jménem a doménou (pokud je účet na jiném serveru)",
+  "settings.rewrite_mentions_no": "Nepřepisovat zmínky",
+  "settings.rewrite_mentions_username": "Přepsat uživatelským jménem",
+  "settings.shared_settings_link": "předvolbách Mastodonu",
+  "settings.show_action_bar": "Zobrazit ve sbalených příspěvcích tlačítka s akcemi",
+  "settings.show_content_type_choice": "Zobrazit volbu formátu příspěvku",
+  "settings.show_reply_counter": "Zobrazit odhad počtu odpovědí",
+  "settings.side_arm": "Vedlejší odesílací tlačítko:",
+  "settings.side_arm.none": "Žádné",
+  "settings.side_arm_reply_mode": "Při odpovídání na příspěvek by vedlejší odesílací tlačítko mělo:",
+  "settings.side_arm_reply_mode.copy": "Použít úroveň soukromí příspěvku, na který odpovídáte",
+  "settings.side_arm_reply_mode.keep": "Použít svou nastavenou úroveň soukromí",
+  "settings.side_arm_reply_mode.restrict": "Zvýšit úroveň soukromí nejméně na úroveň příspěvku, na který odpovídáte",
+  "settings.status_icons": "Ikony u příspěvků",
+  "settings.status_icons_language": "Indikace jazyk",
+  "settings.status_icons_local_only": "Indikace lokálního příspěvku",
+  "settings.status_icons_media": "Indikace obrázků a anket",
+  "settings.status_icons_reply": "Indikace odpovědi",
+  "settings.status_icons_visibility": "Indikace úrovně soukromí",
+  "settings.tag_misleading_links": "Označit zavádějící odkazy",
+  "settings.tag_misleading_links.hint": "Zobrazit skutečný cíl u každého odkazu, který ho explicitně nezmiňuje",
+  "settings.wide_view": "Široké sloupce (pouze v režimu Desktop)",
+  "settings.wide_view_hint": "Sloupce se roztáhnout, aby lépe vyplnily dostupný prostor.",
+  "status.collapse": "Sbalit",
+  "status.has_audio": "Obsahuje audio",
+  "status.has_pictures": "Obsahuje obrázky",
+  "status.has_preview_card": "Obsahuje náhled odkazu",
+  "status.has_video": "Obsahuje video",
+  "status.in_reply_to": "Tento příspěvek je odpověď",
+  "status.is_poll": "Tento příspěvek je anketa",
+  "status.local_only": "Viditelné pouze z vaší instance",
+  "status.uncollapse": "Rozbalit"
+}
diff --git a/app/javascript/flavours/glitch/locales/cy.json b/app/javascript/flavours/glitch/locales/cy.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/cy.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/da.json b/app/javascript/flavours/glitch/locales/da.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/da.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/de.json b/app/javascript/flavours/glitch/locales/de.json
new file mode 100644
index 000000000..41f7010fc
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/de.json
@@ -0,0 +1,200 @@
+{
+  "about.fork_disclaimer": "Glitch-soc ist freie, quelloffene Software geforkt von Mastodon.",
+  "account.add_account_note": "Notiz für @{name} hinzufügen",
+  "account.disclaimer_full": "Die folgenden Informationen könnten das Profil des Nutzers unvollständig wiedergeben.",
+  "account.follows": "Folgt",
+  "account.joined": "Beigetreten am {date}",
+  "account.suspended_disclaimer_full": "Dieser Nutzer wurde durch einen Moderator gesperrt.",
+  "account.view_full_profile": "Vollständiges Profil anzeigen",
+  "account_note.cancel": "Abbrechen",
+  "account_note.edit": "Bearbeiten",
+  "account_note.glitch_placeholder": "Kein Kommentar angegeben",
+  "account_note.save": "Speichern",
+  "advanced_options.icon_title": "Erweiterte Optionen",
+  "advanced_options.local-only.long": "Nicht auf anderen Instanzen posten",
+  "advanced_options.local-only.short": "Nur lokal",
+  "advanced_options.local-only.tooltip": "Dieser Post ist nur lokal",
+  "advanced_options.threaded_mode.long": "Öffnet automatisch eine Antwort beim Schreiben",
+  "advanced_options.threaded_mode.short": "Thread-Modus",
+  "advanced_options.threaded_mode.tooltip": "Thread-Modus aktiviert",
+  "boost_modal.missing_description": "Dieser Toot enthält Medien ohne Beschreibung",
+  "column.favourited_by": "Favorisiert von",
+  "column.heading": "Sonstiges",
+  "column.reblogged_by": "Geteilt von",
+  "column.subheading": "Sonstige Optionen",
+  "column_header.profile": "Profil",
+  "column_subheading.lists": "Listen",
+  "column_subheading.navigation": "Navigation",
+  "community.column_settings.allow_local_only": "Nur-lokale Toots anzeigen",
+  "compose.attach": "Anhängen...",
+  "compose.attach.doodle": "Etwas zeichnen",
+  "compose.attach.upload": "Eine Datei hochladen",
+  "compose.content-type.html": "HTML",
+  "compose.content-type.markdown": "Markdown",
+  "compose.content-type.plain": "Unformatierter Text",
+  "compose_form.poll.multiple_choices": "Mehrfachauswahl erlauben",
+  "compose_form.poll.single_choice": "Eine Auswahl erlauben",
+  "compose_form.spoiler": "Text hinter Warnung verbergen",
+  "confirmation_modal.do_not_ask_again": "Nicht erneut nach Bestätigung fragen",
+  "confirmations.deprecated_settings.confirm": "Mastodon-Einstellungen verwenden",
+  "confirmations.deprecated_settings.message": "Einige der von dir verwendeten, glitch-soc-spezifischen {app_settings} wurden durch Mastodon {preferences} ersetzt und werden überschrieben:",
+  "confirmations.missing_media_description.confirm": "Trotzdem absenden",
+  "confirmations.missing_media_description.edit": "Anhänge bearbeiten",
+  "confirmations.missing_media_description.message": "Mindestens einem Anhang fehlt eine Beschreibung. Denke darüber nach, alle Anhänge für Sehbeeinträchtigte zu beschreiben, bevor du den Toot absendest.",
+  "confirmations.unfilter.author": "Urheber",
+  "confirmations.unfilter.confirm": "Anzeigen",
+  "confirmations.unfilter.edit_filter": "Filter bearbeiten",
+  "confirmations.unfilter.filters": "Passende{count, plural, one {r} other {}} Filter",
+  "content-type.change": "Inhaltstyp",
+  "direct.group_by_conversations": "Nach Unterhaltung gruppieren",
+  "endorsed_accounts_editor.endorsed_accounts": "Empfohlene Konten",
+  "favourite_modal.combo": "Mit {combo} wird dieses Fenster beim nächsten Mal nicht mehr angezeigt",
+  "getting_started.onboarding": "Führe mich herum",
+  "home.column_settings.advanced": "Erweitert",
+  "home.column_settings.filter_regex": "Mit regulären Ausdrücken herausfiltern",
+  "home.column_settings.show_direct": "Direktnachrichten anzeigen",
+  "home.settings": "Spalteneinstellungen",
+  "keyboard_shortcuts.bookmark": "zu Lesezeichen hinzufügen",
+  "keyboard_shortcuts.secondary_toot": "Toot mit sekundärer Privatsphäreeinstellung absenden",
+  "keyboard_shortcuts.toggle_collapse": "Toots ein-/ausklappen",
+  "layout.auto": "Automatisch",
+  "layout.desktop": "Desktop",
+  "layout.hint.auto": "Automatisch das Layout anhand der Einstellung \"Erweitertes Webinterface verwenden\" und Bildschirmgröße auswählen.",
+  "layout.hint.desktop": "Das mehrspaltige Layout verwenden, unabhängig von der Einstellung \"Erweitertes Webinterface verwenden\".",
+  "layout.hint.single": "Das einspaltige Layout verwenden, unabhängig von der Einstellung \"Erweitertes Webinterface verwenden\".",
+  "layout.single": "Mobil",
+  "media_gallery.sensitive": "Empfindlich",
+  "moved_to_warning": "Dieses Konto ist als verschoben zu {moved_to_link} markiert und akzeptiert daher keine neuen Follower.",
+  "navigation_bar.app_settings": "App-Einstellungen",
+  "navigation_bar.featured_users": "Empfohlene Nutzer",
+  "navigation_bar.keyboard_shortcuts": "Tastaturkürzel",
+  "navigation_bar.misc": "Sonstiges",
+  "notification.markForDeletion": "Zum Entfernen auswählen",
+  "notification_purge.btn_all": "Alle\nauswählen",
+  "notification_purge.btn_apply": "Ausgewählte\nentfernen",
+  "notification_purge.btn_invert": "Auswahl\numkehren",
+  "notification_purge.btn_none": "Auswahl\naufheben",
+  "notification_purge.start": "Benachrichtigungen-Aufräumen-Modus starten",
+  "notifications.marked_clear": "Ausgewählte Benachrichtigungen entfernen",
+  "notifications.marked_clear_confirmation": "Möchtest du wirklich alle auswählten Benachrichtigungen für immer entfernen?",
+  "onboarding.done": "Fertig",
+  "onboarding.next": "Weiter",
+  "onboarding.page_five.public_timelines": "Die lokale Timeline zeigt öffentliche Posts von allen auf {domain}. Die föderierte Timeline zeigt öffentliche Posts von allen, denen Leute auf {domain} folgen. Das sind die öffentlichen Timelines, eine tolle Möglichkeit, neue Leute zu entdecken.",
+  "onboarding.page_four.home": "Die Startseite zeigt Posts von Leuten an, denen du folgst.",
+  "onboarding.page_four.notifications": "Die Benachrichtigungs-Spalte zeigt an, wenn jemand mit dir interagiert.",
+  "onboarding.page_one.federation": "{domain} ist eine \"Instanz\" von Mastodon. Mastodon ist ein Netzwerk aus unabhängigen Servern, die zusammen ein größeres soziales Netzwerk bilden. Diese Server nennen wir Instanzen.",
+  "onboarding.page_one.handle": "Du bist auf {domain}, also ist dein vollständiger Nutzername {handle}",
+  "onboarding.page_one.welcome": "Willkommen auf {domain}!",
+  "onboarding.page_six.admin": "Dein Instanz-Admin ist {admin}.",
+  "onboarding.page_six.almost_done": "Fast geschafft...",
+  "onboarding.page_six.appetoot": "Bon Appetoot!",
+  "onboarding.page_six.apps_available": "Es gibt {apps} für iOS, Android und andere Plattformen.",
+  "onboarding.page_six.github": "{domain} läuft auf glitch-soc. glitch-soc ist ein freundlicher {fork} von {Mastodon}, und ist mit jeder Mastodon-App oder -Instanz kompatibel. glitch-soc ist komplett frei und quelloffen. Auf {github} kannst du Fehler melden, Features anfragen oder Code beitragen.",
+  "onboarding.page_six.guidelines": "Community-Richtlinien",
+  "onboarding.page_six.read_guidelines": "Bitte lies die {guidelines} von {domain}!",
+  "onboarding.page_six.various_app": "mobile Apps",
+  "onboarding.page_three.profile": "Bearbeite dein Profil, um deinen Avatar, \"Über mich\" und den Anzeigenamen zu ändern. Dort findest du auch andere Einstellungen.",
+  "onboarding.page_three.search": "Benutze die Suchleiste, um Leute zu finden und Hashtags anzusehen, wie etwa {illustration} und {introductions}. Um nach einer Person zu suchen, die nicht auf dieser Instanz ist, benutze deren vollständigen Nutzername.",
+  "onboarding.page_two.compose": "Schreibe Posts in der Verfassen-Spalte. Mit den Symbolen unten kannst du Bilder hochladen, Privatsphäre-Einstellungen ändern, und Inhaltswarnungen hinzufügen.",
+  "onboarding.skip": "Überspringen",
+  "settings.always_show_spoilers_field": "Das Inhaltswarnungs-Feld immer aktivieren",
+  "settings.auto_collapse": "Automatisches Einklappen",
+  "settings.auto_collapse_all": "Alles",
+  "settings.auto_collapse_lengthy": "Lange Toots",
+  "settings.auto_collapse_media": "Toots mit Anhängen",
+  "settings.auto_collapse_height": "Höhe (in Pixeln), ab der ein Toot als lang gilt",
+  "settings.auto_collapse_notifications": "Benachrichtigungen",
+  "settings.auto_collapse_reblogs": "Geteilte Toots",
+  "settings.auto_collapse_replies": "Antworten",
+  "settings.close": "Schließen",
+  "settings.collapsed_statuses": "Eingeklappte Toots",
+  "settings.compose_box_opts": "Verfassen-Box",
+  "settings.confirm_before_clearing_draft": "Zeige einen Bestätigungsdialog, bevor der derzeitige Entwurf verworfen wird",
+  "settings.confirm_boost_missing_media_description": "Zeige einen Bestätigungsdialog, bevor Toots mit Anhängen ohne Beschreibung geteilt werden",
+  "settings.confirm_missing_media_description": "Zeige einen Bestätigungsdialog, bevor Toots mit Anhängen ohne Beschreibung abgesendet werden",
+  "settings.content_warnings": "Content warnings",
+  "settings.content_warnings.regexp": "Regulärer Ausdruck",
+  "settings.content_warnings_filter": "Inhaltswarnungen, die nicht ausgeklappt werden sollen:",
+  "settings.content_warnings_media_outside": "Medienanhänge außerhalb von Inhaltswarnungen anzeigen",
+  "settings.content_warnings_media_outside_hint": "Das ursprüngliche Verhalten von Mastodon wiederherstellen, in welchem Inhaltswarnungen keine Auswirkungen auf Anhänge haben",
+  "settings.content_warnings_shared_state": "Inhalt aller Kopien auf einmal ein-/ausblenden",
+  "settings.content_warnings_shared_state_hint": "Das ursprüngliche Verhalten von Mastodon wiederhertstellen, in welchem der Inhaltswarnungs-Knopf alle Kopien eines Posts auf einmal ein-/ausklappt. Das wird das automatische Einklappen jedweder Kopie eines Toots mit ausgeklappter Inhaltswarnung",
+  "settings.content_warnings_unfold_opts": "Optionen zum automatischen Ausklappen",
+  "settings.deprecated_setting": "Diese Einstellung wird nun von Mastodons {settings_page_link} gesteuert",
+  "settings.enable_collapsed": "Eingeklappte Toots aktivieren",
+  "settings.enable_collapsed_hint": "Eingeklappte Posts haben einen Teil ihres Inhalts verborgen, um weniger Platz am Bildschirm einzunehmen. Das passiert unabhängig von der Inhaltswarnfunktion",
+  "settings.enable_content_warnings_auto_unfold": "Inhaltswarnungen automatisch ausklappen",
+  "settings.general": "Allgemein",
+  "settings.hicolor_privacy_icons": "Eingefärbte Privatsphäre-Symbole",
+  "settings.hicolor_privacy_icons.hint": "Zeige Privatsphäre-Symbole in hellen und leicht zu unterscheidenden Farben",
+  "settings.image_backgrounds": "Bildhintergründe",
+  "settings.image_backgrounds_media": "Vorschau eingeklappter Toot-Anhänge",
+  "settings.image_backgrounds_media_hint": "Wenn der Post Anhänge hat, wird der erste als Hintergrund verwendet",
+  "settings.image_backgrounds_users": "Eingeklappten Toots einen Bild-Hintergrund geben",
+  "settings.inline_preview_cards": "Eingebettete Vorschaukarten für externe Links",
+  "settings.layout": "Layout:",
+  "settings.layout_opts": "Layout-Optionen",
+  "settings.media": "Medien",
+  "settings.media_fullwidth": "Medienvorschau in voller Breite",
+  "settings.media_letterbox": "Mediengröße anpassen",
+  "settings.media_letterbox_hint": "Medien runterskalieren und einpassen um die Bildbehälter zu füllen anstatt zu strecken und zuzuschneiden",
+  "settings.media_reveal_behind_cw": "Empfindliche Medien hinter Inhaltswarnungen standardmäßig anzeigen",
+  "settings.notifications.favicon_badge": "Favicon-Badge für ungelesene Benachrichtigungen",
+  "settings.notifications.favicon_badge.hint": "Ein Badge für ungelesene Benachrichtigungen zum Favicon hinzufügen",
+  "settings.notifications.tab_badge": "Badge für ungelesene Benachrichtigungen",
+  "settings.notifications.tab_badge.hint": "Ein Badge für ungelesene Benachrichtigungen in den Spaltensymbolen anzeigen, wenn die Benachrichtigungen nicht offen sind",
+  "settings.notifications_opts": "Benachrichtigungsoptionen",
+  "settings.pop_in_left": "Links",
+  "settings.pop_in_player": "Pop-In-Player aktivieren",
+  "settings.pop_in_position": "Position des Pop-In-Players:",
+  "settings.pop_in_right": "Rechts",
+  "settings.preferences": "Preferences",
+  "settings.prepend_cw_re": "\"re: \" beim Antworten an Inhaltswarnung voranstellen",
+  "settings.preselect_on_reply": "Nutzernamen bei Antwort vorauswählen",
+  "settings.preselect_on_reply_hint": "Beim Antworten auf eine Konversation alle Nutzernamen auswählen, die nach dem ersten kommen",
+  "settings.rewrite_mentions": "Erwähnungen in angezeigten Status umschreiben",
+  "settings.rewrite_mentions_acct": "Mit Nutzernamen und Domain umschreiben (wenn das Konto auf einer anderen Instanz ist)",
+  "settings.rewrite_mentions_no": "Erwähnungen nicht umschreiben",
+  "settings.rewrite_mentions_username": "Mit Nutzername umschreiben",
+  "settings.shared_settings_link": "Nutzereinstellungen",
+  "settings.show_action_bar": "Aktions-Knöpfe in eingeklappten Toots anzeigen",
+  "settings.show_content_type_choice": "Auswahl für die Inhaltsart beim Verfassen von Toots anzeigen",
+  "settings.show_reply_counter": "Schätzung der Antwortanzahl anzeigen",
+  "settings.side_arm": "Sekundärer Toot-Knopf:",
+  "settings.side_arm.none": "Nichts",
+  "settings.side_arm_reply_mode": "Beim Antworten auf einen Toot sollte der sekundäre Toot-Knopf:",
+  "settings.side_arm_reply_mode.copy": "Privatsphäre-Einstellung des zu beantwortenden Toot verwenden",
+  "settings.side_arm_reply_mode.keep": "Die eingestellte Privatsphäre beibehalten",
+  "settings.side_arm_reply_mode.restrict": "Privatsphäre-Einstellung auf die des zu beantwortenden Toot beschränken",
+  "settings.status_icons": "Toot-Symbole",
+  "settings.status_icons_language": "Sprach-Indikator",
+  "settings.status_icons_local_only": "\"nur Lokal\"-Indikator",
+  "settings.status_icons_media": "Medien- und Umfragen-Indikatoren",
+  "settings.status_icons_reply": "Antwort-Indikator",
+  "settings.status_icons_visibility": "Toot-Privatsphäre-Indikator",
+  "settings.swipe_to_change_columns": "Das Wechseln der Spalte durch Wischen erlauben (nur für die mobile Ansicht)",
+  "settings.tag_misleading_links": "Irreführende Links markieren",
+  "settings.tag_misleading_links.hint": "Füge eine visuelle Indikation mit dem Ziel-Host des Links zu jedem Link hinzu, bei dem dieser nicht explizit genannt wird",
+  "settings.wide_view": "Breite Ansicht (nur für den Desktop-Modus)",
+  "settings.wide_view_hint": "Verbreitert Spalten, um den verfügbaren Platz besser zu füllen.",
+  "status.collapse": "Einklappen",
+  "status.has_audio": "Hat angehängte Audiodateien",
+  "status.has_pictures": "Hat angehängte Bilder",
+  "status.has_preview_card": "Hat eine Vorschaukarte",
+  "status.has_video": "Hat angehängte Videos",
+  "status.in_reply_to": "Dieser Toot ist eine Antwort",
+  "status.is_poll": "Dieser Toot ist eine Umfrage",
+  "status.local_only": "Nur auf deiner Instanz sichtbar",
+  "status.sensitive_toggle": "Zum Anzeigen klicken",
+  "status.uncollapse": "Ausklappen",
+  "web_app_crash.change_your_settings": "Deine {settings} ändern",
+  "web_app_crash.content": "Du kannst folgende Dinge ausprobieren:",
+  "web_app_crash.debug_info": "Debug-Informationen",
+  "web_app_crash.disable_addons": "Browser-Add-ons oder eingebaute Übersetzungswerkzeuge deaktivieren",
+  "web_app_crash.issue_tracker": "Issue-Tracker",
+  "web_app_crash.reload": "neu laden",
+  "web_app_crash.reload_page": "Die Seite {reload}",
+  "web_app_crash.report_issue": "Einen Fehler im {issuetracker} melden",
+  "web_app_crash.settings": "Einstellungen",
+  "web_app_crash.title": "Es tut uns leid, aber mit der Mastodon-App ist etwas schiefgelaufen."
+}
diff --git a/app/javascript/flavours/glitch/locales/defaultMessages.json b/app/javascript/flavours/glitch/locales/defaultMessages.json
new file mode 100644
index 000000000..d7aec67ac
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/defaultMessages.json
@@ -0,0 +1,1064 @@
+[
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "We're sorry, but something went wrong with the Mastodon app.",
+        "id": "web_app_crash.title"
+      },
+      {
+        "defaultMessage": "You could try any of the following:",
+        "id": "web_app_crash.content"
+      },
+      {
+        "defaultMessage": "Disable browser add-ons or built-in translation tools",
+        "id": "web_app_crash.disable_addons"
+      },
+      {
+        "defaultMessage": "Report a bug in the {issuetracker}",
+        "id": "web_app_crash.report_issue"
+      },
+      {
+        "defaultMessage": "issue tracker",
+        "id": "web_app_crash.issue_tracker"
+      },
+      {
+        "defaultMessage": "Debug information",
+        "id": "web_app_crash.debug_info"
+      },
+      {
+        "defaultMessage": "{reload} the current page",
+        "id": "web_app_crash.reload_page"
+      },
+      {
+        "defaultMessage": "Reload",
+        "id": "web_app_crash.reload"
+      },
+      {
+        "defaultMessage": "Change your {settings}",
+        "id": "web_app_crash.change_your_settings"
+      },
+      {
+        "defaultMessage": "settings",
+        "id": "web_app_crash.settings"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/components/error_boundary.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Sensitive",
+        "id": "media_gallery.sensitive"
+      },
+      {
+        "defaultMessage": "Click to view",
+        "id": "status.sensitive_toggle"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/components/media_gallery.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Select\nall",
+        "id": "notification_purge.btn_all"
+      },
+      {
+        "defaultMessage": "Select\nnone",
+        "id": "notification_purge.btn_none"
+      },
+      {
+        "defaultMessage": "Invert\nselection",
+        "id": "notification_purge.btn_invert"
+      },
+      {
+        "defaultMessage": "Clear\nselected",
+        "id": "notification_purge.btn_apply"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/components/notification_purge_buttons.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Collapse",
+        "id": "status.collapse"
+      },
+      {
+        "defaultMessage": "Uncollapse",
+        "id": "status.uncollapse"
+      },
+      {
+        "defaultMessage": "This toot is a reply",
+        "id": "status.in_reply_to"
+      },
+      {
+        "defaultMessage": "Features an attached preview card",
+        "id": "status.has_preview_card"
+      },
+      {
+        "defaultMessage": "Features attached pictures",
+        "id": "status.has_pictures"
+      },
+      {
+        "defaultMessage": "This toot is a poll",
+        "id": "status.is_poll"
+      },
+      {
+        "defaultMessage": "Features attached videos",
+        "id": "status.has_video"
+      },
+      {
+        "defaultMessage": "Features attached audio files",
+        "id": "status.has_audio"
+      },
+      {
+        "defaultMessage": "Only visible from your instance",
+        "id": "status.local_only"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/components/status_icons.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Are you sure you want to permanently clear all selected notifications?",
+        "id": "notifications.marked_clear_confirmation"
+      },
+      {
+        "defaultMessage": "Clear selected notifications",
+        "id": "notifications.marked_clear"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/containers/notification_purge_buttons_container.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Show",
+        "id": "confirmations.unfilter.confirm"
+      },
+      {
+        "defaultMessage": "Author",
+        "id": "confirmations.unfilter.author"
+      },
+      {
+        "defaultMessage": "Matching {count, plural, one {filter} other {filters}}",
+        "id": "confirmations.unfilter.filters"
+      },
+      {
+        "defaultMessage": "Edit filter",
+        "id": "confirmations.unfilter.edit_filter"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/containers/status_container.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Glitch-soc is free open source software forked from Mastodon.",
+        "id": "about.fork_disclaimer"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/about/index.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "No comment provided",
+        "id": "account_note.glitch_placeholder"
+      },
+      {
+        "defaultMessage": "Cancel",
+        "id": "account_note.cancel"
+      },
+      {
+        "defaultMessage": "Save",
+        "id": "account_note.save"
+      },
+      {
+        "defaultMessage": "Edit",
+        "id": "account_note.edit"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/account/components/account_note.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "This user has been suspended by a moderator.",
+        "id": "account.suspended_disclaimer_full"
+      },
+      {
+        "defaultMessage": "Information below may reflect the user's profile incompletely.",
+        "id": "account.disclaimer_full"
+      },
+      {
+        "defaultMessage": "View full profile",
+        "id": "account.view_full_profile"
+      },
+      {
+        "defaultMessage": "Follows",
+        "id": "account.follows"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/account/components/action_bar.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Add note for @{name}",
+        "id": "account.add_account_note"
+      },
+      {
+        "defaultMessage": "Joined {date}",
+        "id": "account.joined"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/account/components/header.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Profile",
+        "id": "column_header.profile"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/account/components/profile_column_header.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Filter out by regular expressions",
+        "id": "home.column_settings.filter_regex"
+      },
+      {
+        "defaultMessage": "Column settings",
+        "id": "home.settings"
+      },
+      {
+        "defaultMessage": "Advanced",
+        "id": "home.column_settings.advanced"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/community_timeline/components/column_settings.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "At least one media attachment is lacking a description. Consider describing all media attachments for the visually impaired before sending your toot.",
+        "id": "confirmations.missing_media_description.message"
+      },
+      {
+        "defaultMessage": "Send anyway",
+        "id": "confirmations.missing_media_description.confirm"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/compose/components/compose_form.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "App settings",
+        "id": "navigation_bar.app_settings"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/compose/components/header.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Advanced options",
+        "id": "advanced_options.icon_title"
+      },
+      {
+        "defaultMessage": "Attach...",
+        "id": "compose.attach"
+      },
+      {
+        "defaultMessage": "Content type",
+        "id": "content-type.change"
+      },
+      {
+        "defaultMessage": "Draw something",
+        "id": "compose.attach.doodle"
+      },
+      {
+        "defaultMessage": "HTML",
+        "id": "compose.content-type.html"
+      },
+      {
+        "defaultMessage": "Do not post to other instances",
+        "id": "advanced_options.local-only.long"
+      },
+      {
+        "defaultMessage": "Local-only",
+        "id": "advanced_options.local-only.short"
+      },
+      {
+        "defaultMessage": "Markdown",
+        "id": "compose.content-type.markdown"
+      },
+      {
+        "defaultMessage": "Plain text",
+        "id": "compose.content-type.plain"
+      },
+      {
+        "defaultMessage": "Hide text behind warning",
+        "id": "compose_form.spoiler"
+      },
+      {
+        "defaultMessage": "Automatically opens a reply on posting",
+        "id": "advanced_options.threaded_mode.long"
+      },
+      {
+        "defaultMessage": "Threaded mode",
+        "id": "advanced_options.threaded_mode.short"
+      },
+      {
+        "defaultMessage": "Upload a file",
+        "id": "compose.attach.upload"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/compose/components/options.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Allow one choice",
+        "id": "compose_form.poll.single_choice"
+      },
+      {
+        "defaultMessage": "Allow multiple choices",
+        "id": "compose_form.poll.multiple_choices"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/compose/components/poll_form.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "This post is local-only",
+        "id": "advanced_options.local-only.tooltip"
+      },
+      {
+        "defaultMessage": "Threaded mode enabled",
+        "id": "advanced_options.threaded_mode.tooltip"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/compose/components/textarea_icons.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "At least one media attachment is lacking a description. Consider describing all media attachments for the visually impaired before sending your toot.",
+        "id": "confirmations.missing_media_description.message"
+      },
+      {
+        "defaultMessage": "Send anyway",
+        "id": "confirmations.missing_media_description.confirm"
+      },
+      {
+        "defaultMessage": "Edit media",
+        "id": "confirmations.missing_media_description.edit"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/compose/containers/compose_form_container.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Filter out by regular expressions",
+        "id": "home.column_settings.filter_regex"
+      },
+      {
+        "defaultMessage": "Column settings",
+        "id": "home.settings"
+      },
+      {
+        "defaultMessage": "Group by conversation",
+        "id": "direct.group_by_conversations"
+      },
+      {
+        "defaultMessage": "Advanced",
+        "id": "home.column_settings.advanced"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/direct_timeline/components/column_settings.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Favourited by",
+        "id": "column.favourited_by"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/favourites/index.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Misc",
+        "id": "column.heading"
+      },
+      {
+        "defaultMessage": "Miscellaneous options",
+        "id": "column.subheading"
+      },
+      {
+        "defaultMessage": "Extended information",
+        "id": "navigation_bar.info"
+      },
+      {
+        "defaultMessage": "Show me around",
+        "id": "getting_started.onboarding"
+      },
+      {
+        "defaultMessage": "Keyboard shortcuts",
+        "id": "navigation_bar.keyboard_shortcuts"
+      },
+      {
+        "defaultMessage": "Featured users",
+        "id": "navigation_bar.featured_users"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/getting_started_misc/index.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Navigation",
+        "id": "column_subheading.navigation"
+      },
+      {
+        "defaultMessage": "App settings",
+        "id": "navigation_bar.app_settings"
+      },
+      {
+        "defaultMessage": "Keyboard shortcuts",
+        "id": "navigation_bar.keyboard_shortcuts"
+      },
+      {
+        "defaultMessage": "Lists",
+        "id": "column_subheading.lists"
+      },
+      {
+        "defaultMessage": "Misc",
+        "id": "navigation_bar.misc"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/getting_started/index.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Filter out by regular expressions",
+        "id": "home.column_settings.filter_regex"
+      },
+      {
+        "defaultMessage": "Column settings",
+        "id": "home.settings"
+      },
+      {
+        "defaultMessage": "Show DMs",
+        "id": "home.column_settings.show_direct"
+      },
+      {
+        "defaultMessage": "Advanced",
+        "id": "home.column_settings.advanced"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/home_timeline/components/column_settings.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "to bookmark",
+        "id": "keyboard_shortcuts.bookmark"
+      },
+      {
+        "defaultMessage": "to collapse/uncollapse toots",
+        "id": "keyboard_shortcuts.toggle_collapse"
+      },
+      {
+        "defaultMessage": "to send toot using secondary privacy setting",
+        "id": "keyboard_shortcuts.secondary_toot"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/keyboard_shortcuts/index.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "General",
+        "id": "settings.general"
+      },
+      {
+        "defaultMessage": "Compose box",
+        "id": "settings.compose_box_opts"
+      },
+      {
+        "defaultMessage": "Content Warnings",
+        "id": "settings.content_warnings"
+      },
+      {
+        "defaultMessage": "Collapsed toots",
+        "id": "settings.collapsed_statuses"
+      },
+      {
+        "defaultMessage": "Media",
+        "id": "settings.media"
+      },
+      {
+        "defaultMessage": "Preferences",
+        "id": "settings.preferences"
+      },
+      {
+        "defaultMessage": "Close",
+        "id": "settings.close"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/local_settings/navigation/index.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Auto",
+        "id": "layout.auto"
+      },
+      {
+        "defaultMessage": "Automatically chose layout based on “Enable advanced web interface” setting and screen size.",
+        "id": "layout.hint.auto"
+      },
+      {
+        "defaultMessage": "Desktop",
+        "id": "layout.desktop"
+      },
+      {
+        "defaultMessage": "Use multiple-column layout regardless of the “Enable advanced web interface” setting or screen size.",
+        "id": "layout.hint.desktop"
+      },
+      {
+        "defaultMessage": "Mobile",
+        "id": "layout.single"
+      },
+      {
+        "defaultMessage": "Use single-column layout regardless of the “Enable advanced web interface” setting or screen size.",
+        "id": "layout.hint.single"
+      },
+      {
+        "defaultMessage": "None",
+        "id": "settings.side_arm.none"
+      },
+      {
+        "defaultMessage": "Keep its set privacy",
+        "id": "settings.side_arm_reply_mode.keep"
+      },
+      {
+        "defaultMessage": "Copy privacy setting of the toot being replied to",
+        "id": "settings.side_arm_reply_mode.copy"
+      },
+      {
+        "defaultMessage": "Restrict privacy setting to that of the toot being replied to",
+        "id": "settings.side_arm_reply_mode.restrict"
+      },
+      {
+        "defaultMessage": "Regular expression",
+        "id": "settings.content_warnings.regexp"
+      },
+      {
+        "defaultMessage": "Do not rewrite mentions",
+        "id": "settings.rewrite_mentions_no"
+      },
+      {
+        "defaultMessage": "Rewrite with username and domain (when the account is remote)",
+        "id": "settings.rewrite_mentions_acct"
+      },
+      {
+        "defaultMessage": "Rewrite with username",
+        "id": "settings.rewrite_mentions_username"
+      },
+      {
+        "defaultMessage": "Left",
+        "id": "settings.pop_in_left"
+      },
+      {
+        "defaultMessage": "Right",
+        "id": "settings.pop_in_right"
+      },
+      {
+        "defaultMessage": "General",
+        "id": "settings.general"
+      },
+      {
+        "defaultMessage": "Display an estimate of the reply count",
+        "id": "settings.show_reply_counter"
+      },
+      {
+        "defaultMessage": "High color privacy icons",
+        "id": "settings.hicolor_privacy_icons"
+      },
+      {
+        "defaultMessage": "Display privacy icons in bright and easily distinguishable colors",
+        "id": "settings.hicolor_privacy_icons.hint"
+      },
+      {
+        "defaultMessage": "Show confirmation dialog before boosting toots lacking media descriptions",
+        "id": "settings.confirm_boost_missing_media_description"
+      },
+      {
+        "defaultMessage": "Tag misleading links",
+        "id": "settings.tag_misleading_links"
+      },
+      {
+        "defaultMessage": "Add a visual indication with the link target host to every link not mentioning it explicitly",
+        "id": "settings.tag_misleading_links.hint"
+      },
+      {
+        "defaultMessage": "Rewrite mentions in displayed statuses",
+        "id": "settings.rewrite_mentions"
+      },
+      {
+        "defaultMessage": "Notifications options",
+        "id": "settings.notifications_opts"
+      },
+      {
+        "defaultMessage": "Unread notifications badge",
+        "id": "settings.notifications.tab_badge"
+      },
+      {
+        "defaultMessage": "Display a badge for unread notifications in the column icons when the notifications column isn't open",
+        "id": "settings.notifications.tab_badge.hint"
+      },
+      {
+        "defaultMessage": "Unread notifications favicon badge",
+        "id": "settings.notifications.favicon_badge"
+      },
+      {
+        "defaultMessage": "Add a badge for unread notifications to the favicon",
+        "id": "settings.notifications.favicon_badge.hint"
+      },
+      {
+        "defaultMessage": "Toot icons",
+        "id": "settings.status_icons"
+      },
+      {
+        "defaultMessage": "Language indicator",
+        "id": "settings.status_icons_language"
+      },
+      {
+        "defaultMessage": "Reply indicator",
+        "id": "settings.status_icons_reply"
+      },
+      {
+        "defaultMessage": "Local-only indicator",
+        "id": "settings.status_icons_local_only"
+      },
+      {
+        "defaultMessage": "Media and poll indicators",
+        "id": "settings.status_icons_media"
+      },
+      {
+        "defaultMessage": "Toot privacy indicator",
+        "id": "settings.status_icons_visibility"
+      },
+      {
+        "defaultMessage": "Layout options",
+        "id": "settings.layout_opts"
+      },
+      {
+        "defaultMessage": "Layout:",
+        "id": "settings.layout"
+      },
+      {
+        "defaultMessage": "Wide view (Desktop mode only)",
+        "id": "settings.wide_view"
+      },
+      {
+        "defaultMessage": "Stretches columns to better fill the available space.",
+        "id": "settings.wide_view_hint"
+      },
+      {
+        "defaultMessage": "Compose box",
+        "id": "settings.compose_box_opts"
+      },
+      {
+        "defaultMessage": "Always enable the Content Warning field",
+        "id": "settings.always_show_spoilers_field"
+      },
+      {
+        "defaultMessage": "Prepend “re: ” to content warnings when replying",
+        "id": "settings.prepend_cw_re"
+      },
+      {
+        "defaultMessage": "Pre-select usernames on reply",
+        "id": "settings.preselect_on_reply"
+      },
+      {
+        "defaultMessage": "When replying to a conversation with multiple participants, pre-select usernames past the first",
+        "id": "settings.preselect_on_reply_hint"
+      },
+      {
+        "defaultMessage": "Show confirmation dialog before sending toots lacking media descriptions",
+        "id": "settings.confirm_missing_media_description"
+      },
+      {
+        "defaultMessage": "Show confirmation dialog before overwriting the message being composed",
+        "id": "settings.confirm_before_clearing_draft"
+      },
+      {
+        "defaultMessage": "Show content-type choice when authoring toots",
+        "id": "settings.show_content_type_choice"
+      },
+      {
+        "defaultMessage": "Secondary toot button:",
+        "id": "settings.side_arm"
+      },
+      {
+        "defaultMessage": "When replying to a toot, the secondary toot button should:",
+        "id": "settings.side_arm_reply_mode"
+      },
+      {
+        "defaultMessage": "Content warnings",
+        "id": "settings.content_warnings"
+      },
+      {
+        "defaultMessage": "Show/hide content of all copies at once",
+        "id": "settings.content_warnings_shared_state"
+      },
+      {
+        "defaultMessage": "Reproduce upstream Mastodon behavior by having the Content Warning button affect all copies of a post at once. This will prevent automatic collapsing of any copy of a toot with unfolded CW",
+        "id": "settings.content_warnings_shared_state_hint"
+      },
+      {
+        "defaultMessage": "Display media attachments outside content warnings",
+        "id": "settings.content_warnings_media_outside"
+      },
+      {
+        "defaultMessage": "Reproduce upstream Mastodon behavior by having the Content Warning toggle not affect media attachments",
+        "id": "settings.content_warnings_media_outside_hint"
+      },
+      {
+        "defaultMessage": "Auto-unfolding options",
+        "id": "settings.content_warnings_unfold_opts"
+      },
+      {
+        "defaultMessage": "Automatically unfold content-warnings",
+        "id": "settings.enable_content_warnings_auto_unfold"
+      },
+      {
+        "defaultMessage": "This setting is now controlled from Mastodon's {settings_page_link}",
+        "id": "settings.deprecated_setting"
+      },
+      {
+        "defaultMessage": "user preferences",
+        "id": "settings.shared_settings_link"
+      },
+      {
+        "defaultMessage": "Content warnings to not automatically unfold:",
+        "id": "settings.content_warnings_filter"
+      },
+      {
+        "defaultMessage": "Collapsed toots",
+        "id": "settings.collapsed_statuses"
+      },
+      {
+        "defaultMessage": "Enable collapsed toots",
+        "id": "settings.enable_collapsed"
+      },
+      {
+        "defaultMessage": "Collapsed posts have parts of their contents hidden to take up less screen space. This is distinct from the Content Warning feature",
+        "id": "settings.enable_collapsed_hint"
+      },
+      {
+        "defaultMessage": "Show action buttons in collapsed toots",
+        "id": "settings.show_action_bar"
+      },
+      {
+        "defaultMessage": "Automatic collapsing",
+        "id": "settings.auto_collapse"
+      },
+      {
+        "defaultMessage": "Everything",
+        "id": "settings.auto_collapse_all"
+      },
+      {
+        "defaultMessage": "Notifications",
+        "id": "settings.auto_collapse_notifications"
+      },
+      {
+        "defaultMessage": "Lengthy toots",
+        "id": "settings.auto_collapse_lengthy"
+      },
+      {
+        "defaultMessage": "Boosts",
+        "id": "settings.auto_collapse_reblogs"
+      },
+      {
+        "defaultMessage": "Replies",
+        "id": "settings.auto_collapse_replies"
+      },
+      {
+        "defaultMessage": "Toots with media",
+        "id": "settings.auto_collapse_media"
+      },
+      {
+        "defaultMessage": "Image backgrounds",
+        "id": "settings.image_backgrounds"
+      },
+      {
+        "defaultMessage": "Give collapsed toots an image background",
+        "id": "settings.image_backgrounds_users"
+      },
+      {
+        "defaultMessage": "Preview collapsed toot media",
+        "id": "settings.image_backgrounds_media"
+      },
+      {
+        "defaultMessage": "If the post has any media attachment, use the first one as a background",
+        "id": "settings.image_backgrounds_media_hint"
+      },
+      {
+        "defaultMessage": "Media",
+        "id": "settings.media"
+      },
+      {
+        "defaultMessage": "Letterbox media",
+        "id": "settings.media_letterbox"
+      },
+      {
+        "defaultMessage": "Scale down and letterbox media to fill the image containers instead of stretching and cropping them",
+        "id": "settings.media_letterbox_hint"
+      },
+      {
+        "defaultMessage": "Full-width media previews",
+        "id": "settings.media_fullwidth"
+      },
+      {
+        "defaultMessage": "Inline preview cards for external links",
+        "id": "settings.inline_preview_cards"
+      },
+      {
+        "defaultMessage": "Reveal sensitive media behind a CW by default",
+        "id": "settings.media_reveal_behind_cw"
+      },
+      {
+        "defaultMessage": "Enable pop-in player",
+        "id": "settings.pop_in_player"
+      },
+      {
+        "defaultMessage": "Pop-in player position:",
+        "id": "settings.pop_in_position"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/local_settings/page/index.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Mark for deletion",
+        "id": "notification.markForDeletion"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/notifications/components/overlay.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Enter notification cleaning mode",
+        "id": "notification_purge.start"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/notifications/index.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Featured accounts",
+        "id": "endorsed_accounts_editor.endorsed_accounts"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/pinned_accounts_editor/index.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Filter out by regular expressions",
+        "id": "home.column_settings.filter_regex"
+      },
+      {
+        "defaultMessage": "Show local-only toots",
+        "id": "community.column_settings.allow_local_only"
+      },
+      {
+        "defaultMessage": "Advanced",
+        "id": "home.column_settings.advanced"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/public_timeline/components/column_settings.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Boosted by",
+        "id": "column.reblogged_by"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/reblogs/index.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "This toot contains some media without description",
+        "id": "boost_modal.missing_description"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/ui/components/boost_modal.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Do not ask for confirmation again",
+        "id": "confirmation_modal.do_not_ask_again"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/ui/components/confirmation_modal.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Use Mastodon preferences",
+        "id": "confirmations.deprecated_settings.confirm"
+      },
+      {
+        "defaultMessage": "Automatically unfold content-warnings",
+        "id": "settings.enable_content_warnings_auto_unfold"
+      },
+      {
+        "defaultMessage": "Allow swiping to change columns (Mobile only)",
+        "id": "settings.swipe_to_change_columns"
+      },
+      {
+        "defaultMessage": "Some of the glitch-soc device-specific {app_settings} you are using have been replaced by Mastodon {preferences} and will be overriden:",
+        "id": "confirmations.deprecated_settings.message"
+      },
+      {
+        "defaultMessage": "App settings",
+        "id": "navigation_bar.app_settings"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/ui/components/deprecated_settings_modal.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "You can press {combo} to skip this next time",
+        "id": "favourite_modal.combo"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/ui/components/favourite_modal.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "App settings",
+        "id": "navigation_bar.app_settings"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/ui/components/navigation_panel.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "Welcome to {domain}!",
+        "id": "onboarding.page_one.welcome"
+      },
+      {
+        "defaultMessage": "{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.",
+        "id": "onboarding.page_one.federation"
+      },
+      {
+        "defaultMessage": "You are on {domain}, so your full handle is {handle}",
+        "id": "onboarding.page_one.handle"
+      },
+      {
+        "defaultMessage": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
+        "id": "onboarding.page_two.compose"
+      },
+      {
+        "defaultMessage": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
+        "id": "onboarding.page_three.search"
+      },
+      {
+        "defaultMessage": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
+        "id": "onboarding.page_three.profile"
+      },
+      {
+        "defaultMessage": "The home timeline shows posts from people you follow.",
+        "id": "onboarding.page_four.home"
+      },
+      {
+        "defaultMessage": "The notifications column shows when someone interacts with you.",
+        "id": "onboarding.page_four.notifications"
+      },
+      {
+        "defaultMessage": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
+        "id": "onboarding.page_five.public_timelines"
+      },
+      {
+        "defaultMessage": "Your instance's admin is {admin}.",
+        "id": "onboarding.page_six.admin"
+      },
+      {
+        "defaultMessage": "Please read {domain}'s {guidelines}!",
+        "id": "onboarding.page_six.read_guidelines"
+      },
+      {
+        "defaultMessage": "community guidelines",
+        "id": "onboarding.page_six.guidelines"
+      },
+      {
+        "defaultMessage": "Almost done...",
+        "id": "onboarding.page_six.almost_done"
+      },
+      {
+        "defaultMessage": "{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}.",
+        "id": "onboarding.page_six.github"
+      },
+      {
+        "defaultMessage": "There are {apps} available for iOS, Android and other platforms.",
+        "id": "onboarding.page_six.apps_available"
+      },
+      {
+        "defaultMessage": "mobile apps",
+        "id": "onboarding.page_six.various_app"
+      },
+      {
+        "defaultMessage": "Bon Appetoot!",
+        "id": "onboarding.page_six.appetoot"
+      },
+      {
+        "defaultMessage": "Next",
+        "id": "onboarding.next"
+      },
+      {
+        "defaultMessage": "Done",
+        "id": "onboarding.done"
+      },
+      {
+        "defaultMessage": "Skip",
+        "id": "onboarding.skip"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/ui/components/onboarding_modal.json"
+  },
+  {
+    "descriptors": [
+      {
+        "defaultMessage": "This account is marked as moved to {moved_to_link}, and may thus not accept new follows.",
+        "id": "moved_to_warning"
+      }
+    ],
+    "path": "app/javascript/flavours/glitch/features/ui/index.json"
+  }
+]
\ No newline at end of file
diff --git a/app/javascript/flavours/glitch/locales/el.json b/app/javascript/flavours/glitch/locales/el.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/el.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/en-GB.json b/app/javascript/flavours/glitch/locales/en-GB.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/en-GB.json
@@ -0,0 +1 @@
+{}
diff --git a/app/javascript/flavours/glitch/locales/en.json b/app/javascript/flavours/glitch/locales/en.json
new file mode 100644
index 000000000..d15c23e13
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/en.json
@@ -0,0 +1,200 @@
+{
+  "about.fork_disclaimer": "Glitch-soc is free open source software forked from Mastodon.",
+  "account.add_account_note": "Add note for @{name}",
+  "account.disclaimer_full": "Information below may reflect the user's profile incompletely.",
+  "account.follows": "Follows",
+  "account.joined": "Joined {date}",
+  "account.suspended_disclaimer_full": "This user has been suspended by a moderator.",
+  "account.view_full_profile": "View full profile",
+  "account_note.cancel": "Cancel",
+  "account_note.edit": "Edit",
+  "account_note.glitch_placeholder": "No comment provided",
+  "account_note.save": "Save",
+  "advanced_options.icon_title": "Advanced options",
+  "advanced_options.local-only.long": "Do not post to other instances",
+  "advanced_options.local-only.short": "Local-only",
+  "advanced_options.local-only.tooltip": "This post is local-only",
+  "advanced_options.threaded_mode.long": "Automatically opens a reply on posting",
+  "advanced_options.threaded_mode.short": "Threaded mode",
+  "advanced_options.threaded_mode.tooltip": "Threaded mode enabled",
+  "boost_modal.missing_description": "This toot contains some media without description",
+  "column.favourited_by": "Favourited by",
+  "column.heading": "Misc",
+  "column.reblogged_by": "Boosted by",
+  "column.subheading": "Miscellaneous options",
+  "column_header.profile": "Profile",
+  "column_subheading.lists": "Lists",
+  "column_subheading.navigation": "Navigation",
+  "community.column_settings.allow_local_only": "Show local-only toots",
+  "compose.attach": "Attach...",
+  "compose.attach.doodle": "Draw something",
+  "compose.attach.upload": "Upload a file",
+  "compose.content-type.html": "HTML",
+  "compose.content-type.markdown": "Markdown",
+  "compose.content-type.plain": "Plain text",
+  "compose_form.poll.multiple_choices": "Allow multiple choices",
+  "compose_form.poll.single_choice": "Allow one choice",
+  "compose_form.spoiler": "Hide text behind warning",
+  "confirmation_modal.do_not_ask_again": "Do not ask for confirmation again",
+  "confirmations.deprecated_settings.confirm": "Use Mastodon preferences",
+  "confirmations.deprecated_settings.message": "Some of the glitch-soc device-specific {app_settings} you are using have been replaced by Mastodon {preferences} and will be overriden:",
+  "confirmations.missing_media_description.confirm": "Send anyway",
+  "confirmations.missing_media_description.edit": "Edit media",
+  "confirmations.missing_media_description.message": "At least one media attachment is lacking a description. Consider describing all media attachments for the visually impaired before sending your toot.",
+  "confirmations.unfilter.author": "Author",
+  "confirmations.unfilter.confirm": "Show",
+  "confirmations.unfilter.edit_filter": "Edit filter",
+  "confirmations.unfilter.filters": "Matching {count, plural, one {filter} other {filters}}",
+  "content-type.change": "Content type",
+  "direct.group_by_conversations": "Group by conversation",
+  "endorsed_accounts_editor.endorsed_accounts": "Featured accounts",
+  "favourite_modal.combo": "You can press {combo} to skip this next time",
+  "getting_started.onboarding": "Show me around",
+  "home.column_settings.advanced": "Advanced",
+  "home.column_settings.filter_regex": "Filter out by regular expressions",
+  "home.column_settings.show_direct": "Show DMs",
+  "home.settings": "Column settings",
+  "keyboard_shortcuts.bookmark": "to bookmark",
+  "keyboard_shortcuts.secondary_toot": "to send toot using secondary privacy setting",
+  "keyboard_shortcuts.toggle_collapse": "to collapse/uncollapse toots",
+  "layout.auto": "Auto",
+  "layout.desktop": "Desktop",
+  "layout.hint.auto": "Automatically chose layout based on “Enable advanced web interface” setting and screen size.",
+  "layout.hint.desktop": "Use multiple-column layout regardless of the “Enable advanced web interface” setting or screen size.",
+  "layout.hint.single": "Use single-column layout regardless of the “Enable advanced web interface” setting or screen size.",
+  "layout.single": "Mobile",
+  "media_gallery.sensitive": "Sensitive",
+  "moved_to_warning": "This account is marked as moved to {moved_to_link}, and may thus not accept new follows.",
+  "navigation_bar.app_settings": "App settings",
+  "navigation_bar.featured_users": "Featured users",
+  "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.misc": "Misc",
+  "notification.markForDeletion": "Mark for deletion",
+  "notification_purge.btn_all": "Select\nall",
+  "notification_purge.btn_apply": "Clear\nselected",
+  "notification_purge.btn_invert": "Invert\nselection",
+  "notification_purge.btn_none": "Select\nnone",
+  "notification_purge.start": "Enter notification cleaning mode",
+  "notifications.marked_clear": "Clear selected notifications",
+  "notifications.marked_clear_confirmation": "Are you sure you want to permanently clear all selected notifications?",
+  "onboarding.done": "Done",
+  "onboarding.next": "Next",
+  "onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
+  "onboarding.page_four.home": "The home timeline shows posts from people you follow.",
+  "onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
+  "onboarding.page_one.federation": "{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.handle": "You are on {domain}, so your full handle is {handle}",
+  "onboarding.page_one.welcome": "Welcome to {domain}!",
+  "onboarding.page_six.admin": "Your instance's admin is {admin}.",
+  "onboarding.page_six.almost_done": "Almost done...",
+  "onboarding.page_six.appetoot": "Bon Appetoot!",
+  "onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
+  "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}.",
+  "onboarding.page_six.guidelines": "community guidelines",
+  "onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
+  "onboarding.page_six.various_app": "mobile apps",
+  "onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
+  "onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
+  "onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
+  "onboarding.skip": "Skip",
+  "settings.always_show_spoilers_field": "Always enable the Content Warning field",
+  "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_height": "Height (in pixels) for a toot to be considered lengthy",
+  "settings.auto_collapse_notifications": "Notifications",
+  "settings.auto_collapse_reblogs": "Boosts",
+  "settings.auto_collapse_replies": "Replies",
+  "settings.close": "Close",
+  "settings.collapsed_statuses": "Collapsed toots",
+  "settings.compose_box_opts": "Compose box",
+  "settings.confirm_before_clearing_draft": "Show confirmation dialog before overwriting the message being composed",
+  "settings.confirm_boost_missing_media_description": "Show confirmation dialog before boosting toots lacking media descriptions",
+  "settings.confirm_missing_media_description": "Show confirmation dialog before sending toots lacking media descriptions",
+  "settings.content_warnings": "Content Warnings",
+  "settings.content_warnings.regexp": "Regular expression",
+  "settings.content_warnings_filter": "Content warnings to not automatically unfold:",
+  "settings.content_warnings_media_outside": "Display media attachments outside content warnings",
+  "settings.content_warnings_media_outside_hint": "Reproduce upstream Mastodon behavior by having the Content Warning toggle not affect media attachments",
+  "settings.content_warnings_shared_state": "Show/hide content of all copies at once",
+  "settings.content_warnings_shared_state_hint": "Reproduce upstream Mastodon behavior by having the Content Warning button affect all copies of a post at once. This will prevent automatic collapsing of any copy of a toot with unfolded CW",
+  "settings.content_warnings_unfold_opts": "Auto-unfolding options",
+  "settings.deprecated_setting": "This setting is now controlled from Mastodon's {settings_page_link}",
+  "settings.enable_collapsed": "Enable collapsed toots",
+  "settings.enable_collapsed_hint": "Collapsed posts have parts of their contents hidden to take up less screen space. This is distinct from the Content Warning feature",
+  "settings.enable_content_warnings_auto_unfold": "Automatically unfold content-warnings",
+  "settings.general": "General",
+  "settings.hicolor_privacy_icons": "High color privacy icons",
+  "settings.hicolor_privacy_icons.hint": "Display privacy icons in bright and easily distinguishable colors",
+  "settings.image_backgrounds": "Image backgrounds",
+  "settings.image_backgrounds_media": "Preview collapsed toot media",
+  "settings.image_backgrounds_media_hint": "If the post has any media attachment, use the first one as a background",
+  "settings.image_backgrounds_users": "Give collapsed toots an image background",
+  "settings.inline_preview_cards": "Inline preview cards for external links",
+  "settings.layout": "Layout:",
+  "settings.layout_opts": "Layout options",
+  "settings.media": "Media",
+  "settings.media_fullwidth": "Full-width media previews",
+  "settings.media_letterbox": "Letterbox media",
+  "settings.media_letterbox_hint": "Scale down and letterbox media to fill the image containers instead of stretching and cropping them",
+  "settings.media_reveal_behind_cw": "Reveal sensitive media behind a CW by default",
+  "settings.notifications.favicon_badge": "Unread notifications favicon badge",
+  "settings.notifications.favicon_badge.hint": "Add a badge for unread notifications to the favicon",
+  "settings.notifications.tab_badge": "Unread notifications badge",
+  "settings.notifications.tab_badge.hint": "Display a badge for unread notifications in the column icons when the notifications column isn't open",
+  "settings.notifications_opts": "Notifications options",
+  "settings.pop_in_left": "Left",
+  "settings.pop_in_player": "Enable pop-in player",
+  "settings.pop_in_position": "Pop-in player position:",
+  "settings.pop_in_right": "Right",
+  "settings.preferences": "User preferences",
+  "settings.prepend_cw_re": "Prepend “re: ” to content warnings when replying",
+  "settings.preselect_on_reply": "Pre-select usernames on reply",
+  "settings.preselect_on_reply_hint": "When replying to a conversation with multiple participants, pre-select usernames past the first",
+  "settings.rewrite_mentions": "Rewrite mentions in displayed statuses",
+  "settings.rewrite_mentions_acct": "Rewrite with username and domain (when the account is remote)",
+  "settings.rewrite_mentions_no": "Do not rewrite mentions",
+  "settings.rewrite_mentions_username": "Rewrite with username",
+  "settings.shared_settings_link": "user preferences",
+  "settings.show_action_bar": "Show action buttons in collapsed toots",
+  "settings.show_content_type_choice": "Show content-type choice when authoring toots",
+  "settings.show_reply_counter": "Display an estimate of the reply count",
+  "settings.side_arm": "Secondary toot button:",
+  "settings.side_arm.none": "None",
+  "settings.side_arm_reply_mode": "When replying to a toot, the secondary toot button should:",
+  "settings.side_arm_reply_mode.copy": "Copy privacy setting of the toot being replied to",
+  "settings.side_arm_reply_mode.keep": "Keep its set privacy",
+  "settings.side_arm_reply_mode.restrict": "Restrict privacy setting to that of the toot being replied to",
+  "settings.status_icons": "Toot icons",
+  "settings.status_icons_language": "Language indicator",
+  "settings.status_icons_local_only": "Local-only indicator",
+  "settings.status_icons_media": "Media and poll indicators",
+  "settings.status_icons_reply": "Reply indicator",
+  "settings.status_icons_visibility": "Toot privacy indicator",
+  "settings.swipe_to_change_columns": "Allow swiping to change columns (Mobile only)",
+  "settings.tag_misleading_links": "Tag misleading links",
+  "settings.tag_misleading_links.hint": "Add a visual indication with the link target host to every link not mentioning it explicitly",
+  "settings.wide_view": "Wide view (Desktop mode only)",
+  "settings.wide_view_hint": "Stretches columns to better fill the available space.",
+  "status.collapse": "Collapse",
+  "status.has_audio": "Features attached audio files",
+  "status.has_pictures": "Features attached pictures",
+  "status.has_preview_card": "Features an attached preview card",
+  "status.has_video": "Features attached videos",
+  "status.in_reply_to": "This toot is a reply",
+  "status.is_poll": "This toot is a poll",
+  "status.local_only": "Only visible from your instance",
+  "status.sensitive_toggle": "Click to view",
+  "status.uncollapse": "Uncollapse",
+  "web_app_crash.change_your_settings": "Change your {settings}",
+  "web_app_crash.content": "You could try any of the following:",
+  "web_app_crash.debug_info": "Debug information",
+  "web_app_crash.disable_addons": "Disable browser add-ons or built-in translation tools",
+  "web_app_crash.issue_tracker": "issue tracker",
+  "web_app_crash.reload": "Reload",
+  "web_app_crash.reload_page": "{reload} the current page",
+  "web_app_crash.report_issue": "Report a bug in the {issuetracker}",
+  "web_app_crash.settings": "settings",
+  "web_app_crash.title": "We're sorry, but something went wrong with the Mastodon app."
+}
diff --git a/app/javascript/flavours/glitch/locales/eo.json b/app/javascript/flavours/glitch/locales/eo.json
new file mode 100644
index 000000000..91fb0fb5d
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/eo.json
@@ -0,0 +1,68 @@
+{
+  "account.add_account_note": "Aldoni noton por @{name}",
+  "account.disclaimer_full": "Subaj informoj povas nekomplete prezenti la profilon de la uzanto.",
+  "account.follows": "Sekvatoj",
+  "account.joined": "Kuniĝis {date}",
+  "account.suspended_disclaimer_full": "Ĉi tiu uzanto estis suspendita de moderiganto.",
+  "account.view_full_profile": "Vidi plenan profilon",
+  "account_note.cancel": "Nuligi",
+  "account_note.edit": "Redakti",
+  "account_note.save": "Konservi",
+  "advanced_options.icon_title": "Pliaj opcioj",
+  "advanced_options.local-only.long": "Ne afiŝi al aliaj instancoj",
+  "advanced_options.local-only.short": "Nur loka",
+  "advanced_options.local-only.tooltip": "Ĉi tiu afiŝo estas nur-loka",
+  "column.favourited_by": "Stelumita per",
+  "column.reblogged_by": "Diskonigita de",
+  "column.subheading": "Diversaj agordoj",
+  "column_header.profile": "Profilo",
+  "column_subheading.lists": "Listoj",
+  "community.column_settings.allow_local_only": "Montri nur-lokajn afiŝojn",
+  "compose.attach": "Aldoni…",
+  "compose.attach.doodle": "Desegni ion",
+  "compose.attach.upload": "Alŝuti dosieron",
+  "compose.content-type.html": "HTML",
+  "compose.content-type.markdown": "Markdown",
+  "compose.content-type.plain": "Plata teksto",
+  "compose_form.poll.multiple_choices": "Permesi multajn elekteblojn",
+  "compose_form.poll.single_choice": "Permesi unu elekteblon",
+  "confirmations.unfilter.author": "Aŭtoro",
+  "confirmations.unfilter.confirm": "Montri",
+  "confirmations.unfilter.edit_filter": "Redakti filtrilon",
+  "navigation_bar.keyboard_shortcuts": "Fulmoklavoj",
+  "notification_purge.btn_all": "Selekti ĉiujn",
+  "notification_purge.btn_apply": "Forigi selektajn",
+  "notification_purge.btn_invert": "Inverti selekton",
+  "notification_purge.btn_none": "Elekti neniun",
+  "notifications.marked_clear": "Forigi selektajn sciigojn",
+  "onboarding.next": "Sekva",
+  "onboarding.page_one.federation": "{domain} estas \"instanco\" de Mastodon. Mastodon estas reto de sendependaj serviloj, ke kuniĝas por fari unu pli grandan socian reton. Ni nomas tiujn servilojn \"instancoj\".",
+  "onboarding.page_six.admin": "La administranto de via instanco estas {admin}.",
+  "onboarding.page_six.almost_done": "Preskaŭ finita…",
+  "onboarding.page_six.apps_available": "Estas {apps} disponeblaj por iOS, Android kaj aliaj sistemoj.",
+  "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}.",
+  "onboarding.page_six.various_app": "poŝtelefonaj aplikaĵoj",
+  "settings.auto_collapse_all": "Ĉiuj",
+  "settings.auto_collapse_lengthy": "Longaj afiŝoj",
+  "settings.auto_collapse_media": "Afiŝoj kun aŭdovidaĵoj",
+  "settings.auto_collapse_notifications": "Sciigoj",
+  "settings.auto_collapse_reblogs": "Diskonigoj",
+  "settings.auto_collapse_replies": "Respondoj",
+  "settings.close": "Fermi",
+  "settings.content_warnings": "Content warnings",
+  "settings.content_warnings.regexp": "Regula esprimo",
+  "settings.preferences": "Preferences",
+  "settings.shared_settings_link": "preferoj de uzanto",
+  "settings.side_arm": "Duaranga butono por afiŝi:",
+  "settings.side_arm.none": "Neniu",
+  "settings.status_icons": "Ikonoj sur la afiŝoj",
+  "settings.status_icons_language": "Indikilo de lingvo",
+  "settings.status_icons_media": "Indikilo de aŭdovidaĵojn kaj balotenketo",
+  "settings.status_icons_reply": "Indikilo de respondoj",
+  "settings.status_icons_visibility": "Indikilo de privateco de afiŝo",
+  "status.local_only": "Videbla nur el via instanco",
+  "web_app_crash.change_your_settings": "Ŝanĝi viajn {settings}",
+  "web_app_crash.reload": "Reŝarĝi",
+  "web_app_crash.reload_page": "{reload} la nunan paĝon",
+  "web_app_crash.settings": "agordojn"
+}
diff --git a/app/javascript/flavours/glitch/locales/es-AR.json b/app/javascript/flavours/glitch/locales/es-AR.json
new file mode 100644
index 000000000..df88d989d
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/es-AR.json
@@ -0,0 +1,200 @@
+{
+  "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.follows": "Sigue",
+  "account.joined": "Unido el {date}",
+  "account.suspended_disclaimer_full": "Este usuario ha sido suspendido por un moderador.",
+  "account.view_full_profile": "Ver perfil completo",
+  "account_note.cancel": "Cancelar",
+  "account_note.edit": "Editar",
+  "account_note.glitch_placeholder": "No se proporcionó comentario alguno",
+  "account_note.save": "Guardar",
+  "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",
+  "boost_modal.missing_description": "Esta publicación contiene medios sin descripción",
+  "column.favourited_by": "Marcado como favorito por",
+  "column.heading": "Misc",
+  "column.reblogged_by": "Impulsado por",
+  "column.subheading": "Opciones misceláneas",
+  "column_header.profile": "Perfil",
+  "column_subheading.lists": "Listas",
+  "column_subheading.navigation": "Navegación",
+  "community.column_settings.allow_local_only": "Mostrar sólo toots locales",
+  "compose.attach": "Adjuntar...",
+  "compose.attach.doodle": "Dibujar algo",
+  "compose.attach.upload": "Subir un archivo",
+  "compose.content-type.html": "HTML",
+  "compose.content-type.markdown": "Markdown",
+  "compose.content-type.plain": "Texto plano",
+  "compose_form.poll.multiple_choices": "Permitir múltiples opciones",
+  "compose_form.poll.single_choice": "Permitir sólo una opción",
+  "compose_form.spoiler": "Esconder el texto detrás de la advertencia",
+  "confirmation_modal.do_not_ask_again": "No preguntar por la confirmación de nuevo",
+  "confirmations.deprecated_settings.confirm": "Usar las preferencias de Mastodon",
+  "confirmations.deprecated_settings.message": "Algunas de las {app_settings} de glitch-soc, específicas para el dispositivo que estás usando han sido reemplazadas en las {preferences} de Mastodon y serán sobreescritas:",
+  "confirmations.missing_media_description.confirm": "Enviar de todos modos",
+  "confirmations.missing_media_description.edit": "Editar medios",
+  "confirmations.missing_media_description.message": "Al menos a un adjunto le falta una descripción. Considera describir toda la multimedia para los débiles visuales antes de mandar el toot.",
+  "confirmations.unfilter.author": "Publicado por",
+  "confirmations.unfilter.confirm": "Mostrar",
+  "confirmations.unfilter.edit_filter": "Editar filtro",
+  "confirmations.unfilter.filters": "Coincidencia con {count, plural, one {filtro} other {filtros}}",
+  "content-type.change": "Tipo de contenido",
+  "direct.group_by_conversations": "Agrupar por conversación",
+  "endorsed_accounts_editor.endorsed_accounts": "Cuentas destacadas",
+  "favourite_modal.combo": "Puedes presionar {combo} para omitir esto la próxima vez",
+  "getting_started.onboarding": "Paseo inicial",
+  "home.column_settings.advanced": "Avanzado",
+  "home.column_settings.filter_regex": "Filtrar por expresiones regulares",
+  "home.column_settings.show_direct": "Mostrar mensajes directos",
+  "home.settings": "Configuraciones de columna",
+  "keyboard_shortcuts.bookmark": "a marcadores",
+  "keyboard_shortcuts.secondary_toot": "para enviar un toot usando lac onfiguración de privacidad secundaria",
+  "keyboard_shortcuts.toggle_collapse": "para colapsar/descolapsar toots",
+  "layout.auto": "Automático",
+  "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.single": "Móvil",
+  "media_gallery.sensitive": "Sensible",
+  "moved_to_warning": "Esta cuenta está marcada como movida a {moved_to_link}, y por lo tanto no aceptará nuevos seguimientos.",
+  "navigation_bar.app_settings": "Ajustes de aplicación",
+  "navigation_bar.featured_users": "Usuarios destacados",
+  "navigation_bar.keyboard_shortcuts": "Atajos de teclado",
+  "navigation_bar.misc": "Misc",
+  "notification.markForDeletion": "Marcar para borrar",
+  "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_purge.start": "Entrar en modo de limpieza de notificaciones",
+  "notifications.marked_clear": "Limpiar notificaciones seleccionadas",
+  "notifications.marked_clear_confirmation": "¿Deseas borrar permanentemente todas las notificaciones seleccionadas?",
+  "onboarding.done": "Hecho",
+  "onboarding.next": "Siguiente",
+  "onboarding.page_five.public_timelines": "La línea de tiempo local muestra mensajes públicos de todos en {domain}. La línea de tiempo federada muestra mensajes públicos de todos aquellos que en {domain} siguen a otros servidores. Estas son las líneas cronológicas públicas, una gran manera de descubrir gente nueva.",
+  "onboarding.page_four.home": "La línea de tiempo principal muestra los mensajes de la gente que sigues.",
+  "onboarding.page_four.notifications": "La columna de notificaciones muestra cuando alguien interactúa contigo.",
+  "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.handle": "Estás en {domain}, así que tu alias completo es {handle}",
+  "onboarding.page_one.welcome": "¡Bienvenidx a {domain}!",
+  "onboarding.page_six.admin": "El administrador de tu instancia es {admin}.",
+  "onboarding.page_six.almost_done": "Casi listo...",
+  "onboarding.page_six.appetoot": "¡A tootear!",
+  "onboarding.page_six.apps_available": "Hay {apps} disponibles para iOS, Android y otras plataformas.",
+  "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}.",
+  "onboarding.page_six.guidelines": "normas de la comunidad",
+  "onboarding.page_six.read_guidelines": "¡Por favor lee las {guidelines} de {domain}!",
+  "onboarding.page_six.various_app": "aplicaciones para móviles",
+  "onboarding.page_three.profile": "Edita tu perfil para cambiar tu avatar, biografía y nombre para mostrar. Ahí, también encontrarás otras preferencias.",
+  "onboarding.page_three.search": "Usa la barra de búsqueda para encontrar gente y mirar las etiquetas (hashtags), como {illustration} y {introductions}. Para buscar a una persona que no esté en esta instancia, utiliza su alias completo.",
+  "onboarding.page_two.compose": "Escribe mensajes desde la columna de composición. Puedes subir imágenes, cambiar la configuración de privacidad y añadir advertencias de contenido con los iconos de abajo.",
+  "onboarding.skip": "Saltar",
+  "settings.always_show_spoilers_field": "Siempre mostrar el campo de advertencia de contenido",
+  "settings.auto_collapse": "Colapsar automáticamente",
+  "settings.auto_collapse_all": "Todo",
+  "settings.auto_collapse_lengthy": "Toots largos",
+  "settings.auto_collapse_media": "Toots con medios",
+  "settings.auto_collapse_height": "Altura (en pixeles) para que un toot sea considerado largo",
+  "settings.auto_collapse_notifications": "Notificaciones",
+  "settings.auto_collapse_reblogs": "Retoots",
+  "settings.auto_collapse_replies": "Respuestas",
+  "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": "Content warnings",
+  "settings.content_warnings.regexp": "Regexp (expresión regular)",
+  "settings.content_warnings_filter": "No descolapsar estas advertencias de contenido:",
+  "settings.content_warnings_media_outside": "Mostrar archivos adjuntos fuera de las advertencias de contenido",
+  "settings.content_warnings_media_outside_hint": "Reproduce el comportamiento normal de Mastodon teniendo al tener el interruptor de advertencia de contenido activado, no afectando los archivos adjuntos",
+  "settings.content_warnings_shared_state": "Mostrar/ocultar el contenido de todas las copias a la vez",
+  "settings.content_warnings_shared_state_hint": "Reproduce el comportamiento normal de Mastodon al hacer que el botón Advertencia de contenido afecte a todas las copias de un mensaje a la vez. Esto evitará el colapso automático de cualquier copia de un toot con CW desplegado",
+  "settings.content_warnings_unfold_opts": "Opciones de Auto-desplegado",
+  "settings.deprecated_setting": "Esta configuración ahora está controlada desde {settings_page_link} de Mastodon",
+  "settings.enable_collapsed": "Habilitar toots colapsados",
+  "settings.enable_collapsed_hint": "Las publicaciones colapsadas tienen partes de su contenido ocultas para ocupar menos espacio en pantalla. Esto es distinto de la función Advertencia de Contenido",
+  "settings.enable_content_warnings_auto_unfold": "Descolapsar automáticamente advertencias de contenido",
+  "settings.general": "General",
+  "settings.hicolor_privacy_icons": "Íconos de privacidad más visibles",
+  "settings.hicolor_privacy_icons.hint": "Mostrar iconos de privacidad en colores brillantes y fácilmente distinguibles",
+  "settings.image_backgrounds": "Fondos de imágenes",
+  "settings.image_backgrounds_media": "Vista previa de medios de toots colapsados",
+  "settings.image_backgrounds_media_hint": "Si la publicación tiene algún archivo adjunto, utilice el primero como fondo",
+  "settings.image_backgrounds_users": "Darle fondo de imagen a toots colapsados",
+  "settings.inline_preview_cards": "Vista previa para enlaces externos",
+  "settings.layout": "Diseño",
+  "settings.layout_opts": "Opciones de diseño",
+  "settings.media": "Medios",
+  "settings.media_fullwidth": "Ancho completo al mostrar medios ",
+  "settings.media_letterbox": "Mantener proporciones al mostrar medios",
+  "settings.media_letterbox_hint": "Escalar medios para que llenen el espacio del contenedor sin cambiar sus proporciones sin recortarlos",
+  "settings.media_reveal_behind_cw": "Siempre mostrar medios sensibles dentro de las advertencias de contenido",
+  "settings.notifications.favicon_badge": "Marcador de notificaciones en el favicon",
+  "settings.notifications.favicon_badge.hint": "Muestra un marcador de notificaciones sin leer en el favicon",
+  "settings.notifications.tab_badge": "Marcador de notificaciones no leídas",
+  "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_opts": "Opciones de notificaciones",
+  "settings.pop_in_left": "Izquierda",
+  "settings.pop_in_player": "Habilitar reproductor emergente",
+  "settings.pop_in_position": "Posición del reproductor:",
+  "settings.pop_in_right": "Derecha",
+  "settings.preferences": "Preferences",
+  "settings.prepend_cw_re": "Anteponer \"re: \" a las advertencias de contenido al responder",
+  "settings.preselect_on_reply": "Preseleccionar nombres de usuarix 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.rewrite_mentions": "Reescribir menciones in publicaciones mostradas",
+  "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.shared_settings_link": "preferencias de usuario",
+  "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": "Botón secundario:",
+  "settings.side_arm.none": "Ninguno",
+  "settings.side_arm_reply_mode": "Al responder a un toot, el botón de toot secundario debe:",
+  "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.status_icons": "Iconos del toot",
+  "settings.status_icons_language": "Indicador de lenguaje",
+  "settings.status_icons_local_only": "Indicador de sólo local",
+  "settings.status_icons_media": "Indicadores de medios y encuestas",
+  "settings.status_icons_reply": "Indicador de respuesta",
+  "settings.status_icons_visibility": "Indicador de privacidad de toot",
+  "settings.swipe_to_change_columns": "Permitir deslizar para cambiar columnas (Sólo en móvil)",
+  "settings.tag_misleading_links": "Marcar enlaces engañosos",
+  "settings.tag_misleading_links.hint": "Añadir una indicación visual indicando el destino de los enlace que no los mencionen explícitamente",
+  "settings.wide_view": "Vista amplia (solo modo de escritorio)",
+  "settings.wide_view_hint": "Expande las columnas para llenar mejor el espacio disponible.",
+  "status.collapse": "Colapsar",
+  "status.has_audio": "Contiene archivos de audio",
+  "status.has_pictures": "Contiene imágenes adjuntas",
+  "status.has_preview_card": "Contiene una tarjeta de vista previa adjunta",
+  "status.has_video": "Contiene videos adjuntos",
+  "status.in_reply_to": "Esta publicación es una respuesta",
+  "status.is_poll": "Esta publicación es una encuesta",
+  "status.local_only": "Sólo visible para tu instancia",
+  "status.sensitive_toggle": "Haga clic para ver",
+  "status.uncollapse": "Descolapsar",
+  "web_app_crash.change_your_settings": "Cambiar las {settings}",
+  "web_app_crash.content": "Puedes probar lo siguiente:",
+  "web_app_crash.debug_info": "Información de depuración",
+  "web_app_crash.disable_addons": "Desactivar complementos del navegador o herramientas de traducción integradas",
+  "web_app_crash.issue_tracker": "rastreador de problemas",
+  "web_app_crash.reload": "Recargar",
+  "web_app_crash.reload_page": "{reload} la página actual",
+  "web_app_crash.report_issue": "Reportar un bug en el {issuetracker}",
+  "web_app_crash.settings": "configuraciones",
+  "web_app_crash.title": "Lo sentimos, pero algo salió mal con la app de Mastodon."
+}
diff --git a/app/javascript/flavours/glitch/locales/es-MX.json b/app/javascript/flavours/glitch/locales/es-MX.json
new file mode 100644
index 000000000..0251ece62
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/es-MX.json
@@ -0,0 +1,200 @@
+{
+  "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.follows": "Seguir",
+  "account.joined": "Unido {date}",
+  "account.suspended_disclaimer_full": "Este usuario ha sido suspendido por un moderador.",
+  "account.view_full_profile": "Ver perfil completo",
+  "account_note.cancel": "Cancelar",
+  "account_note.edit": "Editar",
+  "account_note.glitch_placeholder": "No se proporcionó comentario alguno",
+  "account_note.save": "Guardar",
+  "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",
+  "boost_modal.missing_description": "Esta publicación contiene medios sin descripción",
+  "column.favourited_by": "Marcado como favorito por",
+  "column.heading": "Misc",
+  "column.reblogged_by": "Impulsado por",
+  "column.subheading": "Opciones misceláneas",
+  "column_header.profile": "Perfil",
+  "column_subheading.lists": "Listas",
+  "column_subheading.navigation": "Navegación",
+  "community.column_settings.allow_local_only": "Mostrar sólo toots locales",
+  "compose.attach": "Adjuntar...",
+  "compose.attach.doodle": "Dibujar algo",
+  "compose.attach.upload": "Subir un archivo",
+  "compose.content-type.html": "HTML",
+  "compose.content-type.markdown": "Markdown",
+  "compose.content-type.plain": "Texto plano",
+  "compose_form.poll.multiple_choices": "Permitir múltiples opciones",
+  "compose_form.poll.single_choice": "Permitir sólo una opción",
+  "compose_form.spoiler": "Esconder el texto detrás de la advertencia",
+  "confirmation_modal.do_not_ask_again": "No preguntar por la confirmación de nuevo",
+  "confirmations.deprecated_settings.confirm": "Usar las preferencias de Mastodon",
+  "confirmations.deprecated_settings.message": "Algunas de las {app_settings} de glitch-soc, específicas para el dispositivo que estás usando han sido reemplazadas en las {preferences} de Mastodon y serán sobreescritas:",
+  "confirmations.missing_media_description.confirm": "Enviar de todos modos",
+  "confirmations.missing_media_description.edit": "Editar medios",
+  "confirmations.missing_media_description.message": "Al menos a un adjunto le falta una descripción. Considera describir toda la multimedia para los débiles visuales antes de mandar el toot.",
+  "confirmations.unfilter.author": "Publicado por",
+  "confirmations.unfilter.confirm": "Mostrar",
+  "confirmations.unfilter.edit_filter": "Editar filtro",
+  "confirmations.unfilter.filters": "Coincidencia con {count, plural, one {filtro} other {filtros}}",
+  "content-type.change": "Tipo de contenido",
+  "direct.group_by_conversations": "Agrupar por conversación",
+  "endorsed_accounts_editor.endorsed_accounts": "Cuentas destacadas",
+  "favourite_modal.combo": "Puedes presionar {combo} para omitir esto la próxima vez",
+  "getting_started.onboarding": "Paseo inicial",
+  "home.column_settings.advanced": "Avanzado",
+  "home.column_settings.filter_regex": "Filtrar por expresiones regulares",
+  "home.column_settings.show_direct": "Mostrar mensajes directos",
+  "home.settings": "Configuraciones de columna",
+  "keyboard_shortcuts.bookmark": "a marcadores",
+  "keyboard_shortcuts.secondary_toot": "para enviar un toot usando lac onfiguración de privacidad secundaria",
+  "keyboard_shortcuts.toggle_collapse": "para colapsar/descolapsar toots",
+  "layout.auto": "Automático",
+  "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.single": "Móvil",
+  "media_gallery.sensitive": "Sensible",
+  "moved_to_warning": "Esta cuenta está marcada como movida a {moved_to_link}, y por lo tanto no aceptará nuevos seguimientos.",
+  "navigation_bar.app_settings": "Ajustes de aplicación",
+  "navigation_bar.featured_users": "Usuarios destacados",
+  "navigation_bar.keyboard_shortcuts": "Atajos de teclado",
+  "navigation_bar.misc": "Misc",
+  "notification.markForDeletion": "Marcar para borrar",
+  "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_purge.start": "Entrar en modo de limpieza de notificaciones",
+  "notifications.marked_clear": "Limpiar notificaciones seleccionadas",
+  "notifications.marked_clear_confirmation": "¿Deseas borrar permanentemente todas las notificaciones seleccionadas?",
+  "onboarding.done": "Hecho",
+  "onboarding.next": "Siguiente",
+  "onboarding.page_five.public_timelines": "La línea de tiempo local muestra mensajes públicos de todos en {domain}. La línea de tiempo federada muestra mensajes públicos de todos aquellos que en {domain} siguen a otros servidores. Estas son las líneas cronológicas públicas, una gran manera de descubrir gente nueva.",
+  "onboarding.page_four.home": "La línea de tiempo principal muestra los mensajes de la gente que sigues.",
+  "onboarding.page_four.notifications": "La columna de notificaciones muestra cuando alguien interactúa contigo.",
+  "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.handle": "Estás en {domain}, así que tu alias completo es {handle}",
+  "onboarding.page_one.welcome": "¡Bienvenidx a {domain}!",
+  "onboarding.page_six.admin": "El administrador de tu instancia es {admin}.",
+  "onboarding.page_six.almost_done": "Casi listo...",
+  "onboarding.page_six.appetoot": "¡A tootear!",
+  "onboarding.page_six.apps_available": "Hay {apps} disponibles para iOS, Android y otras plataformas.",
+  "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}.",
+  "onboarding.page_six.guidelines": "normas de la comunidad",
+  "onboarding.page_six.read_guidelines": "¡Por favor lee las {guidelines} de {domain}!",
+  "onboarding.page_six.various_app": "aplicaciones para móviles",
+  "onboarding.page_three.profile": "Edita tu perfil para cambiar tu avatar, biografía y nombre para mostrar. Ahí, también encontrarás otras preferencias.",
+  "onboarding.page_three.search": "Usa la barra de búsqueda para encontrar gente y mirar las etiquetas (hashtags), como {illustration} y {introductions}. Para buscar a una persona que no esté en esta instancia, utiliza su alias completo.",
+  "onboarding.page_two.compose": "Escribe mensajes desde la columna de composición. Puedes subir imágenes, cambiar la configuración de privacidad y añadir advertencias de contenido con los iconos de abajo.",
+  "onboarding.skip": "Saltar",
+  "settings.always_show_spoilers_field": "Siempre mostrar el campo de advertencia de contenido",
+  "settings.auto_collapse": "Colapsar automáticamente",
+  "settings.auto_collapse_all": "Todo",
+  "settings.auto_collapse_lengthy": "Toots largos",
+  "settings.auto_collapse_media": "Toots con medios",
+  "settings.auto_collapse_height": "Altura (en pixeles) para que un toot sea considerado largo",
+  "settings.auto_collapse_notifications": "Notificaciones",
+  "settings.auto_collapse_reblogs": "Retoots",
+  "settings.auto_collapse_replies": "Respuestas",
+  "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": "Content warnings",
+  "settings.content_warnings.regexp": "Regexp (expresión regular)",
+  "settings.content_warnings_filter": "No descolapsar estas advertencias de contenido:",
+  "settings.content_warnings_media_outside": "Mostrar archivos adjuntos fuera de las advertencias de contenido",
+  "settings.content_warnings_media_outside_hint": "Reproduce el comportamiento normal de Mastodon teniendo al tener el interruptor de advertencia de contenido activado, no afectando los archivos adjuntos",
+  "settings.content_warnings_shared_state": "Mostrar/ocultar el contenido de todas las copias a la vez",
+  "settings.content_warnings_shared_state_hint": "Reproduce el comportamiento normal de Mastodon al hacer que el botón Advertencia de contenido afecte a todas las copias de un mensaje a la vez. Esto evitará el colapso automático de cualquier copia de un toot con CW desplegado",
+  "settings.content_warnings_unfold_opts": "Opciones de Auto-desplegado",
+  "settings.deprecated_setting": "Esta configuración ahora está controlada desde {settings_page_link} de Mastodon",
+  "settings.enable_collapsed": "Habilitar toots colapsados",
+  "settings.enable_collapsed_hint": "Las publicaciones colapsadas tienen partes de su contenido ocultas para ocupar menos espacio en pantalla. Esto es distinto de la función Advertencia de Contenido",
+  "settings.enable_content_warnings_auto_unfold": "Descolapsar automáticamente advertencias de contenido",
+  "settings.general": "General",
+  "settings.hicolor_privacy_icons": "Íconos de privacidad más visibles",
+  "settings.hicolor_privacy_icons.hint": "Mostrar iconos de privacidad en colores brillantes y fácilmente distinguibles",
+  "settings.image_backgrounds": "Fondos de imágenes",
+  "settings.image_backgrounds_media": "Vista previa de medios de toots colapsados",
+  "settings.image_backgrounds_media_hint": "Si la publicación tiene algún archivo adjunto, utilice el primero como fondo",
+  "settings.image_backgrounds_users": "Darle fondo de imagen a toots colapsados",
+  "settings.inline_preview_cards": "Vista previa para enlaces externos",
+  "settings.layout": "Diseño",
+  "settings.layout_opts": "Opciones de diseño",
+  "settings.media": "Medios",
+  "settings.media_fullwidth": "Ancho completo al mostrar medios ",
+  "settings.media_letterbox": "Mantener proporciones al mostrar medios",
+  "settings.media_letterbox_hint": "Escalar medios para que llenen el espacio del contenedor sin cambiar sus proporciones sin recortarlos",
+  "settings.media_reveal_behind_cw": "Siempre mostrar medios sensibles dentro de las advertencias de contenido",
+  "settings.notifications.favicon_badge": "Marcador de notificaciones en el favicon",
+  "settings.notifications.favicon_badge.hint": "Muestra un marcador de notificaciones sin leer en el favicon",
+  "settings.notifications.tab_badge": "Marcador de notificaciones no leídas",
+  "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_opts": "Opciones de notificaciones",
+  "settings.pop_in_left": "Izquierda",
+  "settings.pop_in_player": "Habilitar reproductor emergente",
+  "settings.pop_in_position": "Posición del reproductor:",
+  "settings.pop_in_right": "Derecha",
+  "settings.preferences": "Preferences",
+  "settings.prepend_cw_re": "Anteponer \"re: \" a las advertencias de contenido al responder",
+  "settings.preselect_on_reply": "Preseleccionar nombres de usuarix 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.rewrite_mentions": "Reescribir menciones in publicaciones mostradas",
+  "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.shared_settings_link": "preferencias de usuario",
+  "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": "Botón secundario:",
+  "settings.side_arm.none": "Ninguno",
+  "settings.side_arm_reply_mode": "Al responder a un toot, el botón de toot secundario debe:",
+  "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.status_icons": "Iconos del toot",
+  "settings.status_icons_language": "Indicador de lenguaje",
+  "settings.status_icons_local_only": "Indicador de sólo local",
+  "settings.status_icons_media": "Indicadores de medios y encuestas",
+  "settings.status_icons_reply": "Indicador de respuesta",
+  "settings.status_icons_visibility": "Indicador de privacidad de toot",
+  "settings.swipe_to_change_columns": "Permitir deslizar para cambiar columnas (Sólo en móvil)",
+  "settings.tag_misleading_links": "Marcar enlaces engañosos",
+  "settings.tag_misleading_links.hint": "Añadir una indicación visual indicando el destino de los enlace que no los mencionen explícitamente",
+  "settings.wide_view": "Vista amplia (solo modo de escritorio)",
+  "settings.wide_view_hint": "Expande las columnas para llenar mejor el espacio disponible.",
+  "status.collapse": "Colapsar",
+  "status.has_audio": "Contiene archivos de audio",
+  "status.has_pictures": "Contiene imágenes adjuntas",
+  "status.has_preview_card": "Contiene una tarjeta de vista previa adjunta",
+  "status.has_video": "Contiene videos adjuntos",
+  "status.in_reply_to": "Esta publicación es una respuesta",
+  "status.is_poll": "Esta publicación es una encuesta",
+  "status.local_only": "Sólo visible para tu instancia",
+  "status.sensitive_toggle": "Haga clic para ver",
+  "status.uncollapse": "Descolapsar",
+  "web_app_crash.change_your_settings": "Cambiar las {settings}",
+  "web_app_crash.content": "Puedes probar lo siguiente:",
+  "web_app_crash.debug_info": "Información de depuración",
+  "web_app_crash.disable_addons": "Desactivar complementos del navegador o herramientas de traducción integradas",
+  "web_app_crash.issue_tracker": "rastreador de problemas",
+  "web_app_crash.reload": "Recargar",
+  "web_app_crash.reload_page": "{reload} la página actual",
+  "web_app_crash.report_issue": "Reportar un bug en el {issuetracker}",
+  "web_app_crash.settings": "configuraciones",
+  "web_app_crash.title": "Lo sentimos, pero algo salió mal con la app de Mastodon."
+}
diff --git a/app/javascript/flavours/glitch/locales/es.json b/app/javascript/flavours/glitch/locales/es.json
new file mode 100644
index 000000000..6033cea38
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/es.json
@@ -0,0 +1,200 @@
+{
+  "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.follows": "Sigue",
+  "account.joined": "Unido el {date}",
+  "account.suspended_disclaimer_full": "Este usuario ha sido suspendido por un moderador.",
+  "account.view_full_profile": "Ver perfil completo",
+  "account_note.cancel": "Cancelar",
+  "account_note.edit": "Editar",
+  "account_note.glitch_placeholder": "No se proporcionó comentario alguno",
+  "account_note.save": "Guardar",
+  "advanced_options.icon_title": "Opciones avanzadas",
+  "advanced_options.local-only.long": "No publicar a otras instancias",
+  "advanced_options.local-only.short": "Sólo local",
+  "advanced_options.local-only.tooltip": "Esta publicación es sólo local",
+  "advanced_options.threaded_mode.long": "Abre automáticamente una respuesta al publicar",
+  "advanced_options.threaded_mode.short": "Modo hilo",
+  "advanced_options.threaded_mode.tooltip": "Modo hilo habilitado",
+  "boost_modal.missing_description": "Esta publicación contiene medios sin descripción",
+  "column.favourited_by": "Marcado como favorito por",
+  "column.heading": "Misc",
+  "column.reblogged_by": "Impulsado por",
+  "column.subheading": "Opciones misceláneas",
+  "column_header.profile": "Perfil",
+  "column_subheading.lists": "Listas",
+  "column_subheading.navigation": "Navegación",
+  "community.column_settings.allow_local_only": "Mostrar sólo toots locales",
+  "compose.attach": "Adjuntar...",
+  "compose.attach.doodle": "Dibujar algo",
+  "compose.attach.upload": "Subir un archivo",
+  "compose.content-type.html": "HTML",
+  "compose.content-type.markdown": "Markdown",
+  "compose.content-type.plain": "Texto plano",
+  "compose_form.poll.multiple_choices": "Permitir múltiples opciones",
+  "compose_form.poll.single_choice": "Permitir sólo una opción",
+  "compose_form.spoiler": "Esconder el texto detrás de la advertencia",
+  "confirmation_modal.do_not_ask_again": "No preguntar por la confirmación de nuevo",
+  "confirmations.deprecated_settings.confirm": "Usar las preferencias de Mastodon",
+  "confirmations.deprecated_settings.message": "Algunas de las {app_settings} de glitch-soc, específicas para el dispositivo que estás usando han sido reemplazadas en las {preferences} de Mastodon y serán sobreescritas:",
+  "confirmations.missing_media_description.confirm": "Enviar de todos modos",
+  "confirmations.missing_media_description.edit": "Editar medios",
+  "confirmations.missing_media_description.message": "Al menos a un adjunto le falta una descripción. Considera describir toda la multimedia para los débiles visuales antes de mandar el toot.",
+  "confirmations.unfilter.author": "Autor",
+  "confirmations.unfilter.confirm": "Mostrar",
+  "confirmations.unfilter.edit_filter": "Editar filtro",
+  "confirmations.unfilter.filters": "Coincidiendo {count, plural, one {filtro} other {filtros}}",
+  "content-type.change": "Tipo de contenido",
+  "direct.group_by_conversations": "Agrupar por conversación",
+  "endorsed_accounts_editor.endorsed_accounts": "Cuentas destacadas",
+  "favourite_modal.combo": "Puedes presionar {combo} para omitir esto la próxima vez",
+  "getting_started.onboarding": "Paseo inicial",
+  "home.column_settings.advanced": "Avanzado",
+  "home.column_settings.filter_regex": "Filtrar por expresiones regulares",
+  "home.column_settings.show_direct": "Mostrar mensajes directos",
+  "home.settings": "Configuraciones de columna",
+  "keyboard_shortcuts.bookmark": "a marcadores",
+  "keyboard_shortcuts.secondary_toot": "para enviar un toot usando lac onfiguración de privacidad secundaria",
+  "keyboard_shortcuts.toggle_collapse": "para colapsar/descolapsar toots",
+  "layout.auto": "Automático",
+  "layout.desktop": "Escritorio",
+  "layout.hint.auto": "Seleccionar un diseño automáticamente basado en \"Habilitar interface web avanzada\" y el tamaño de la pantalla.",
+  "layout.hint.desktop": "Utiliza el diseño multi-columna sin importar \"Habilitar interface web avanzada\" o el tamaño de la pantalla.",
+  "layout.hint.single": "Utiliza el diseño de una columna sin importar \"Habilitar interface web avanzada\" o el tamaño de la pantalla.",
+  "layout.single": "Móvil",
+  "media_gallery.sensitive": "Sensible",
+  "moved_to_warning": "Esta cuenta está marcada como movida a {moved_to_link}, y por lo tanto no aceptará nuevos seguimientos.",
+  "navigation_bar.app_settings": "Ajustes de la aplicación",
+  "navigation_bar.featured_users": "Usuarios destacados",
+  "navigation_bar.keyboard_shortcuts": "Atajos de teclado",
+  "navigation_bar.misc": "Misc",
+  "notification.markForDeletion": "Marcar para borrado",
+  "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\nninguno",
+  "notification_purge.start": "Entrar en modo de limpieza de notificaciones",
+  "notifications.marked_clear": "Limpiar las notificaciones seleccionadas",
+  "notifications.marked_clear_confirmation": "¿Estás seguro de borrar permanentemente todas las notificaciones seleccionadas?",
+  "onboarding.done": "Hecho",
+  "onboarding.next": "Siguiente",
+  "onboarding.page_five.public_timelines": "La línea de tiempo local muestra mensajes públicos de todos en {domain}. La línea de tiempo federada muestra mensajes públicos de todos aquellos que en {domain} siguen a otros servidores. Estas son las líneas cronológicas públicas, una gran manera de descubrir gente nueva.",
+  "onboarding.page_four.home": "La línea de tiempo principal muestra los mensajes de la gente que sigues.",
+  "onboarding.page_four.notifications": "La columna de notificaciones muestra cuando alguien interactúa contigo.",
+  "onboarding.page_one.federation": "{domain} es una \"instancia\" de Mastodon. Mastodon es una red de servidores independientes uniéndose para crear una red social más grande. A estos servidores los llamamos instancias.",
+  "onboarding.page_one.handle": "Estás en {domain}, así que tu alias completo es {handle}",
+  "onboarding.page_one.welcome": "¡Bienvenido a {domain}!",
+  "onboarding.page_six.admin": "El administrador de tu instancia es {admin}.",
+  "onboarding.page_six.almost_done": "Casi listo...",
+  "onboarding.page_six.appetoot": "¡A tootear!",
+  "onboarding.page_six.apps_available": "Hay {apps} disponibles para iOS, Android y otras plataformas.",
+  "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}.",
+  "onboarding.page_six.guidelines": "normas de la comunidad",
+  "onboarding.page_six.read_guidelines": "¡Por favor lee las {guidelines} de {domain}!",
+  "onboarding.page_six.various_app": "aplicaciones para móviles",
+  "onboarding.page_three.profile": "Edita tu perfil para cambiar tu avatar, biografía y nombre para mostrar. Ahí, también encontrarás otras preferencias.",
+  "onboarding.page_three.search": "Usa la barra de búsqueda para encontrar gente y mirar las etiquetas (hashtags), como {illustration} y {introductions}. Para buscar a una persona que no esté en esta instancia, utiliza su alias completo.",
+  "onboarding.page_two.compose": "Escribe mensajes desde la columna de composición. Puedes subir imágenes, cambiar la configuración de privacidad y añadir advertencias de contenido con los iconos de abajo.",
+  "onboarding.skip": "Saltar",
+  "settings.always_show_spoilers_field": "Siempre mostrar el campo de advertencia de contenido",
+  "settings.auto_collapse": "Colapsar automáticamente",
+  "settings.auto_collapse_all": "Todo",
+  "settings.auto_collapse_lengthy": "Publicaciones largas",
+  "settings.auto_collapse_media": "Publicaciones multimedia",
+  "settings.auto_collapse_height": "Altura (en pixeles) para que un toot sea considerado largo",
+  "settings.auto_collapse_notifications": "Notificaciones",
+  "settings.auto_collapse_reblogs": "Impulsos",
+  "settings.auto_collapse_replies": "Respuestas",
+  "settings.close": "Cerrar",
+  "settings.collapsed_statuses": "Publicaciones colapsadas",
+  "settings.compose_box_opts": "Cuadro de redacción",
+  "settings.confirm_before_clearing_draft": "Mostrar diálogo de confirmación antes de sobreescribir el mensaje siendo redactado",
+  "settings.confirm_boost_missing_media_description": "Mostrar diálogo de confirmación antes de impulsar publicaciones con medios sin descripciones",
+  "settings.confirm_missing_media_description": "Mostrar diálogo de confirmación antes de enviar publicaciones con medios sin descripciones",
+  "settings.content_warnings": "Advertencias de contenido",
+  "settings.content_warnings.regexp": "Regexp (expresión regular)",
+  "settings.content_warnings_filter": "No descolapsar estas advertencias de contenido:",
+  "settings.content_warnings_media_outside": "Mostrar archivos adjuntos fuera de las advertencias de contenido",
+  "settings.content_warnings_media_outside_hint": "Reproduce el comportamiento normal de Mastodon teniendo al tener el interruptor de advertencia de contenido activado, no afectando los archivos adjuntos",
+  "settings.content_warnings_shared_state": "Mostrar/ocultar el contenido de todas las copias a la vez",
+  "settings.content_warnings_shared_state_hint": "Reproduce el comportamiento normal de Mastodon al hacer que el botón Advertencia de contenido afecte a todas las copias de un mensaje a la vez. Esto evitará el colapso automático de cualquier copia de un toot con CW desplegado",
+  "settings.content_warnings_unfold_opts": "Opciones de Auto-desplegado",
+  "settings.deprecated_setting": "Esta configuración ahora está controlada desde {settings_page_link} de Mastodon",
+  "settings.enable_collapsed": "Habilitar publicaciones colapsadas",
+  "settings.enable_collapsed_hint": "Las publicaciones colapsadas tienen partes de su contenido ocultas para ocupar menos espacio en pantalla. Esto es distinto de la función Advertencia de Contenido",
+  "settings.enable_content_warnings_auto_unfold": "Desplegar automáticamente advertencias de contenido",
+  "settings.general": "General",
+  "settings.hicolor_privacy_icons": "Íconos de privacidad más visibles",
+  "settings.hicolor_privacy_icons.hint": "Mostrar iconos de privacidad en colores brillantes y fácilmente distinguibles",
+  "settings.image_backgrounds": "Fondos de imágenes",
+  "settings.image_backgrounds_media": "Vista previa de medios de publicaciones colapsadas",
+  "settings.image_backgrounds_media_hint": "Si la publicación tiene algún archivo adjunto, utilice el primero como fondo",
+  "settings.image_backgrounds_users": "Darle fondo de imagen a publicaciones colapsadas",
+  "settings.inline_preview_cards": "Vista previa para enlaces externos",
+  "settings.layout": "Diseño",
+  "settings.layout_opts": "Opciones de diseño",
+  "settings.media": "Medios",
+  "settings.media_fullwidth": "Ancho completo al mostrar medios ",
+  "settings.media_letterbox": "Mantener proporciones al mostrar medios",
+  "settings.media_letterbox_hint": "Escalar medios para que llenen el espacio del contenedor sin cambiar sus proporciones sin recortarlos",
+  "settings.media_reveal_behind_cw": "Siempre mostrar medios sensibles dentro de las advertencias de contenido",
+  "settings.notifications.favicon_badge": "Marcador de notificaciones en el favicon",
+  "settings.notifications.favicon_badge.hint": "Muestra un marcador de notificaciones sin leer en el favicon",
+  "settings.notifications.tab_badge": "Marcador de notificaciones no leídas",
+  "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_opts": "Opciones de notificaciones",
+  "settings.pop_in_left": "Izquierda",
+  "settings.pop_in_player": "Habilitar reproductor emergente",
+  "settings.pop_in_position": "Posición del reproductor:",
+  "settings.pop_in_right": "Derecha",
+  "settings.preferences": "Preferencias del usuario",
+  "settings.prepend_cw_re": "Anteponer \"re: \" a las advertencias de contenido al responder",
+  "settings.preselect_on_reply": "Preseleccionar nombres de usuarios al responder",
+  "settings.preselect_on_reply_hint": "Al responder a conversaciones con múltiples participantes, preselecciona los nombres de usuario subsecuentes al primero",
+  "settings.rewrite_mentions": "Reescribir menciones in publicaciones mostradas",
+  "settings.rewrite_mentions_acct": "Reescribir con el nombre de usuario y dominio (para las cuentas remotas)",
+  "settings.rewrite_mentions_no": "No reescribir menciones",
+  "settings.rewrite_mentions_username": "Reescribir con nombre de usuario",
+  "settings.shared_settings_link": "preferencias de usuario",
+  "settings.show_action_bar": "Mostrar botones de acción en publicaciones colapsadas",
+  "settings.show_content_type_choice": "Mostrar selección de tipo de contenido al crear publicaciones",
+  "settings.show_reply_counter": "Mostrar un conteo estimado de respuestas",
+  "settings.side_arm": "Botón secundario:",
+  "settings.side_arm.none": "Ninguno",
+  "settings.side_arm_reply_mode": "Al responder a una publicación, el botón de publicación secundario debe:",
+  "settings.side_arm_reply_mode.copy": "Copiar opción de privacidad de la publicación a la 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 de la publicación a la que estás respondiendo",
+  "settings.status_icons": "Iconos del toot",
+  "settings.status_icons_language": "Indicador de lenguaje",
+  "settings.status_icons_local_only": "Indicador de sólo local",
+  "settings.status_icons_media": "Indicadores de medios y encuestas",
+  "settings.status_icons_reply": "Indicador de respuesta",
+  "settings.status_icons_visibility": "Indicador de privacidad de toot",
+  "settings.swipe_to_change_columns": "Permitir deslizar para cambiar columnas (Sólo en móvil)",
+  "settings.tag_misleading_links": "Marcar enlaces engañosos",
+  "settings.tag_misleading_links.hint": "Añadir una indicación visual indicando el destino de los enlace que no los mencionen explícitamente",
+  "settings.wide_view": "Vista amplia (solo modo de escritorio)",
+  "settings.wide_view_hint": "Expande las columnas para llenar mejor el espacio disponible.",
+  "status.collapse": "Colapsar",
+  "status.has_audio": "Contiene archivos de audio",
+  "status.has_pictures": "Contiene imágenes adjuntas",
+  "status.has_preview_card": "Contiene una tarjeta de vista previa adjunta",
+  "status.has_video": "Contiene videos adjuntos",
+  "status.in_reply_to": "Esta publicación es una respuesta",
+  "status.is_poll": "Esta publicación es una encuesta",
+  "status.local_only": "Sólo visible para tu instancia",
+  "status.sensitive_toggle": "Haga clic para ver",
+  "status.uncollapse": "Descolapsar",
+  "web_app_crash.change_your_settings": "Cambiar las {settings}",
+  "web_app_crash.content": "Puedes probar lo siguiente:",
+  "web_app_crash.debug_info": "Información de depuración",
+  "web_app_crash.disable_addons": "Desactivar complementos del navegador o herramientas de traducción integradas",
+  "web_app_crash.issue_tracker": "rastreador de problemas",
+  "web_app_crash.reload": "Recargar",
+  "web_app_crash.reload_page": "{reload} la página actual",
+  "web_app_crash.report_issue": "Reportar un bug en el {issuetracker}",
+  "web_app_crash.settings": "configuraciones",
+  "web_app_crash.title": "Lo sentimos, pero algo salió mal con la app de Mastodon."
+}
diff --git a/app/javascript/flavours/glitch/locales/et.json b/app/javascript/flavours/glitch/locales/et.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/et.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/eu.json b/app/javascript/flavours/glitch/locales/eu.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/eu.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/fa.json b/app/javascript/flavours/glitch/locales/fa.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/fa.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/fi.json b/app/javascript/flavours/glitch/locales/fi.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/fi.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/fo.json b/app/javascript/flavours/glitch/locales/fo.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/fo.json
@@ -0,0 +1 @@
+{}
diff --git a/app/javascript/flavours/glitch/locales/fr-QC.json b/app/javascript/flavours/glitch/locales/fr-QC.json
new file mode 100644
index 000000000..ec42f666d
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/fr-QC.json
@@ -0,0 +1,199 @@
+{
+  "about.fork_disclaimer": "Glitch-soc est un logiciel gratuit et open source, fork de Mastodon.",
+  "account.add_account_note": "Ajouter une note pour @{name}",
+  "account.disclaimer_full": "Les informations ci-dessous peuvent être incomplètes.",
+  "account.follows": "Abonnements",
+  "account.joined": "Ici depuis {date}",
+  "account.suspended_disclaimer_full": "Cet utilisateur a été suspendu par un modérateur.",
+  "account.view_full_profile": "Voir le profil complet",
+  "account_note.cancel": "Annuler",
+  "account_note.edit": "Éditer",
+  "account_note.glitch_placeholder": "Aucun commentaire fourni",
+  "account_note.save": "Sauvegarder",
+  "advanced_options.icon_title": "Options avancées",
+  "advanced_options.local-only.long": "Ne pas envoyer aux autres instances",
+  "advanced_options.local-only.short": "Uniquement en local",
+  "advanced_options.local-only.tooltip": "Ce post est uniquement local",
+  "advanced_options.threaded_mode.long": "Ouvre automatiquement une réponse lors de la publication",
+  "advanced_options.threaded_mode.short": "Mode thread",
+  "advanced_options.threaded_mode.tooltip": "Mode thread activé",
+  "boost_modal.missing_description": "Ce post contient des médias sans description",
+  "column.favourited_by": "Ajouté en favori par",
+  "column.heading": "Divers",
+  "column.reblogged_by": "Partagé par",
+  "column.subheading": "Autres options",
+  "column_header.profile": "Profil",
+  "column_subheading.lists": "Listes",
+  "column_subheading.navigation": "Navigation",
+  "community.column_settings.allow_local_only": "Afficher seulement les posts locaux",
+  "compose.attach": "Joindre…",
+  "compose.attach.doodle": "Dessiner quelque chose",
+  "compose.attach.upload": "Téléverser un fichier",
+  "compose.content-type.html": "HTML",
+  "compose.content-type.markdown": "Markdown",
+  "compose.content-type.plain": "Text brut",
+  "compose_form.poll.multiple_choices": "Choix multiples",
+  "compose_form.poll.single_choice": "Choix unique",
+  "compose_form.spoiler": "Cacher le texte derrière un avertissement",
+  "confirmation_modal.do_not_ask_again": "Ne plus demander confirmation",
+  "confirmations.deprecated_settings.confirm": "Utiliser les préférences de Mastodon",
+  "confirmations.deprecated_settings.message": "Certaines {app_settings} de glitch-soc que vous utilisez ont été remplacées par les {preferences} de Mastodon et seront remplacées :",
+  "confirmations.missing_media_description.confirm": "Envoyer quand même",
+  "confirmations.missing_media_description.edit": "Modifier le média",
+  "confirmations.missing_media_description.message": "Au moins un média joint manque d'une description. Pensez à décrire tous les médias attachés pour les malvoyant·e·s avant de publier votre post.",
+  "confirmations.unfilter.author": "Auteur",
+  "confirmations.unfilter.confirm": "Afficher",
+  "confirmations.unfilter.edit_filter": "Modifier le filtre",
+  "confirmations.unfilter.filters": "Correspondance avec {count, plural, one {un filtre} other {plusieurs filtres}}",
+  "content-type.change": "Type de contenu",
+  "direct.group_by_conversations": "Grouper par conversation",
+  "endorsed_accounts_editor.endorsed_accounts": "Comptes mis en avant",
+  "favourite_modal.combo": "Vous pouvez appuyer sur {combo} pour passer ceci la prochaine fois",
+  "getting_started.onboarding": "Montre-moi les alentours",
+  "home.column_settings.advanced": "Avancé",
+  "home.column_settings.filter_regex": "Filtrer par expression régulière",
+  "home.column_settings.show_direct": "Afficher les MPs",
+  "home.settings": "Paramètres de la colonne",
+  "keyboard_shortcuts.bookmark": "ajouter aux marque-pages",
+  "keyboard_shortcuts.secondary_toot": "Envoyer le post en utilisant les paramètres secondaires de confidentialité",
+  "keyboard_shortcuts.toggle_collapse": "Plier/déplier les posts",
+  "layout.auto": "Auto",
+  "layout.desktop": "Ordinateur",
+  "layout.hint.auto": "Choisir automatiquement la mise en page selon l'option \"Activer l'interface Web avancée\" et la taille d'écran.",
+  "layout.hint.desktop": "Utiliser la mise en page en plusieurs colonnes indépendamment de l'option \"Activer l'interface Web avancée\" ou de la taille d'écran.",
+  "layout.hint.single": "Utiliser la mise en page à colonne unique indépendamment de l'option \"Activer l'interface Web avancée\" ou de la taille d'écran.",
+  "layout.single": "Téléphone",
+  "media_gallery.sensitive": "Sensible",
+  "moved_to_warning": "Ce compte a déménagé vers {moved_to_link} et ne peut donc plus accepter de nouveaux abonné·e·s.",
+  "navigation_bar.app_settings": "Paramètres de l'application",
+  "navigation_bar.featured_users": "Utilisateurs mis en avant",
+  "navigation_bar.keyboard_shortcuts": "Raccourcis clavier",
+  "navigation_bar.misc": "Autres",
+  "notification.markForDeletion": "Ajouter aux éléments à supprimer",
+  "notification_purge.btn_all": "Sélectionner\ntout",
+  "notification_purge.btn_apply": "Effacer\nla sélection",
+  "notification_purge.btn_invert": "Inverser\nla sélection",
+  "notification_purge.btn_none": "Annuler\nla sélection",
+  "notification_purge.start": "Activer le mode de nettoyage des notifications",
+  "notifications.marked_clear": "Effacer les notifications sélectionnées",
+  "notifications.marked_clear_confirmation": "Voulez-vous vraiment effacer de manière permanente toutes les notifications sélectionnées ?",
+  "onboarding.done": "Terminé",
+  "onboarding.next": "Suivant",
+  "onboarding.page_five.public_timelines": "Le fil local affiche les posts publics de tout le monde sur {domain}. Le fil global affiche les posts publics de tous les comptes que les personnes de {domain} suivent. Ce sont les fils publics, une façon formidable de découvrir de nouvelles personnes.",
+  "onboarding.page_four.home": "L'accueil affiche les posts des personnes que vous suivez.",
+  "onboarding.page_four.notifications": "La colonne de notifications vous montre lorsque quelqu'un interagit avec vous.",
+  "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.handle": "Vous êtes sur {domain}, donc votre nom d'utilisateur complet est {handle}",
+  "onboarding.page_one.welcome": "Bievenue sur {domain} !",
+  "onboarding.page_six.admin": "Votre admin d’instance est {admin}.",
+  "onboarding.page_six.almost_done": "C'est bientôt fini...",
+  "onboarding.page_six.appetoot": "Bon appétoot !",
+  "onboarding.page_six.apps_available": "Il y a des {apps} disponibles pour iOS, Android et d'autres plateformes.",
+  "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}.",
+  "onboarding.page_six.guidelines": "règles de la communauté",
+  "onboarding.page_six.read_guidelines": "Veuillez lire les {guidelines} de {domain} !",
+  "onboarding.page_six.various_app": "applications mobiles",
+  "onboarding.page_three.profile": "Modifiez votre profil pour changer votre avatar, biographie et nom public. Ici, vous trouverez également d'autres options.",
+  "onboarding.page_three.search": "Utilisez la barre de recherche pour trouver des personnes et regarder les hashtags comme {illustration} et {introductions}. Pour chercher une personne n'étant pas sur cette instance, utilisez son nom d'utilisateur complet.",
+  "onboarding.page_two.compose": "Écrivez des posts depuis la colonne de rédaction. Vous pouvez téléverser des images, changer la confidentialité et ajouter des avertissements de contenu avec les boutons ci-dessous.",
+  "onboarding.skip": "Passer",
+  "settings.always_show_spoilers_field": "Toujours activer le champ de rédaction de l'avertissement de contenu",
+  "settings.auto_collapse": "Repliage automatique",
+  "settings.auto_collapse_all": "Tout",
+  "settings.auto_collapse_lengthy": "Posts longs",
+  "settings.auto_collapse_media": "Posts avec média",
+  "settings.auto_collapse_notifications": "Notifications",
+  "settings.auto_collapse_reblogs": "Boosts",
+  "settings.auto_collapse_replies": "Réponses",
+  "settings.close": "Fermer",
+  "settings.collapsed_statuses": "Posts repliés",
+  "settings.compose_box_opts": "Zone de rédaction",
+  "settings.confirm_before_clearing_draft": "Afficher une fenêtre de confirmation avant d'écraser le message en cours de rédaction",
+  "settings.confirm_boost_missing_media_description": "Afficher une fenêtre de confirmation avant de partager des posts manquant de description des médias",
+  "settings.confirm_missing_media_description": "Afficher une fenêtre de confirmation avant de publier des posts manquant de description de média",
+  "settings.content_warnings": "Content warnings",
+  "settings.content_warnings.regexp": "Expression rationnelle",
+  "settings.content_warnings_filter": "Avertissement de contenu à ne pas automatiquement déplier :",
+  "settings.content_warnings_media_outside": "Afficher les médias en dehors des avertissements de contenu",
+  "settings.content_warnings_media_outside_hint": "Reproduit le comportement par défaut de Mastodon, les médias attachés ne sont plus affectés par le bouton d'affichage d'un post avec avertissement",
+  "settings.content_warnings_shared_state": "Affiche/cache le contenu de toutes les copies à la fois",
+  "settings.content_warnings_shared_state_hint": "Reproduit le comportement par défaut de Mastodon, le bouton d'avertissement de contenu affecte toutes les copies d'un post à la fois. Cela empêchera le repliement automatique de n'importe quelle copie d'un post avec un avertissement déplié",
+  "settings.content_warnings_unfold_opts": "Options de dépliement automatique",
+  "settings.deprecated_setting": "Cette option est maintenant définie par les {settings_page_link} de Mastodon",
+  "settings.enable_collapsed": "Activer le repliement des posts",
+  "settings.enable_collapsed_hint": "Les posts repliés ont une partie de leur contenu caché pour libérer de l'espace sur l'écran. C'est une option différente de l'avertissement de contenu",
+  "settings.enable_content_warnings_auto_unfold": "Déplier automatiquement les avertissements de contenu",
+  "settings.general": "Général",
+  "settings.hicolor_privacy_icons": "Indicateurs de confidentialité en couleurs",
+  "settings.hicolor_privacy_icons.hint": "Affiche les indicateurs de confidentialité dans des couleurs facilement distinguables",
+  "settings.image_backgrounds": "Images en arrière-plan",
+  "settings.image_backgrounds_media": "Prévisualiser les médias d'un post replié",
+  "settings.image_backgrounds_media_hint": "Si le post a un média attaché, utiliser le premier comme arrière-plan du post",
+  "settings.image_backgrounds_users": "Donner aux posts repliés une image en arrière-plan",
+  "settings.inline_preview_cards": "Cartes d'aperçu pour les liens externes",
+  "settings.layout": "Mise en page :",
+  "settings.layout_opts": "Mise en page",
+  "settings.media": "Média",
+  "settings.media_fullwidth": "Utiliser toute la largeur pour les aperçus",
+  "settings.media_letterbox": "Afficher les médias en Letterbox",
+  "settings.media_letterbox_hint": "Réduit le média et utilise une letterbox pour afficher l'image entière plutôt que de l'étirer et de la rogner",
+  "settings.media_reveal_behind_cw": "Toujours afficher les médias sensibles avec avertissement",
+  "settings.notifications.favicon_badge": "Badge de notifications non lues dans la favicon",
+  "settings.notifications.favicon_badge.hint": "Ajoute un badge dans la favicon pour alerter d'une notification non lue",
+  "settings.notifications.tab_badge": "Badge de notifications non lues",
+  "settings.notifications.tab_badge.hint": "Affiche un badge de notifications non lues dans les icônes des colonnes quand la colonne n'est pas ouverte",
+  "settings.notifications_opts": "Options des notifications",
+  "settings.pop_in_left": "Gauche",
+  "settings.pop_in_player": "Activer le lecteur pop-in",
+  "settings.pop_in_position": "Position du lecteur pop-in :",
+  "settings.pop_in_right": "Droite",
+  "settings.preferences": "Preferences",
+  "settings.prepend_cw_re": "Préfixer les avertissements avec \"re: \" lors d'une réponse",
+  "settings.preselect_on_reply": "Présélectionner les noms d’utilisateur·rices lors de la réponse",
+  "settings.preselect_on_reply_hint": "Présélectionner les noms d'utilisateurs après le premier lors d'une réponse à une conversation à plusieurs participants",
+  "settings.rewrite_mentions": "Réécrire les mentions dans les posts affichés",
+  "settings.rewrite_mentions_acct": "Réécrire avec le nom d'utilisateur·rice et le domaine (lorsque le compte est distant)",
+  "settings.rewrite_mentions_no": "Ne pas réécrire les mentions",
+  "settings.rewrite_mentions_username": "Réécrire avec le nom d’utilisateur·rice",
+  "settings.shared_settings_link": "préférences de l'utilisateur",
+  "settings.show_action_bar": "Afficher les boutons d'action dans les posts repliés",
+  "settings.show_content_type_choice": "Afficher le choix du type de contenu lors de la création des posts",
+  "settings.show_reply_counter": "Afficher une estimation du nombre de réponses",
+  "settings.side_arm": "Bouton secondaire de publication :",
+  "settings.side_arm.none": "Aucun",
+  "settings.side_arm_reply_mode": "Quand vous répondez à un post, le bouton secondaire de publication devrait :",
+  "settings.side_arm_reply_mode.copy": "Copier la confidentialité du post auquel vous répondez",
+  "settings.side_arm_reply_mode.keep": "Garder la confidentialité établie",
+  "settings.side_arm_reply_mode.restrict": "Restreindre la confidentialité de la réponse à celle du post auquel vous répondez",
+  "settings.status_icons": "Icônes des posts",
+  "settings.status_icons_language": "Indicateur de langue",
+  "settings.status_icons_local_only": "Indicateur de post local",
+  "settings.status_icons_media": "Indicateur de médias et sondage",
+  "settings.status_icons_reply": "Indicateur de réponses",
+  "settings.status_icons_visibility": "Indicateur de la confidentialité du post",
+  "settings.swipe_to_change_columns": "Glissement latéral pour changer de colonne (mobile uniquement)",
+  "settings.tag_misleading_links": "Étiqueter les liens trompeurs",
+  "settings.tag_misleading_links.hint": "Ajouter une indication visuelle avec l'hôte cible du lien à chaque lien ne le mentionnant pas explicitement",
+  "settings.wide_view": "Vue élargie (mode ordinateur uniquement)",
+  "settings.wide_view_hint": "Étire les colonnes pour mieux remplir l'espace disponible.",
+  "status.collapse": "Replier",
+  "status.has_audio": "Contient des fichiers audio attachés",
+  "status.has_pictures": "Contient des images attachées",
+  "status.has_preview_card": "Contient une carte de prévisualisation attachée",
+  "status.has_video": "Contient des vidéos attachées",
+  "status.in_reply_to": "Ce post est une réponse",
+  "status.is_poll": "Ce post est un sondage",
+  "status.local_only": "Visible uniquement depuis votre instance",
+  "status.sensitive_toggle": "Cliquer pour voir",
+  "status.uncollapse": "Déplier",
+  "web_app_crash.change_your_settings": "Changez vos {settings}",
+  "web_app_crash.content": "Voici les différentes options qui s'offrent à vous :",
+  "web_app_crash.debug_info": "Informations de débogage",
+  "web_app_crash.disable_addons": "Désactivez les extensions de votre navigateur, ainsi que les outils de traduction intégrés",
+  "web_app_crash.issue_tracker": "traqueur d'erreurs",
+  "web_app_crash.reload": "Rafraichir",
+  "web_app_crash.reload_page": "{reload} la page actuelle",
+  "web_app_crash.report_issue": "Signalez un bug dans le {issuetracker}",
+  "web_app_crash.settings": "paramètres",
+  "web_app_crash.title": "Nous sommes navrés, mais quelque chose s'est mal passé dans l'application Mastodon."
+}
diff --git a/app/javascript/flavours/glitch/locales/fr.json b/app/javascript/flavours/glitch/locales/fr.json
new file mode 100644
index 000000000..ec42f666d
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/fr.json
@@ -0,0 +1,199 @@
+{
+  "about.fork_disclaimer": "Glitch-soc est un logiciel gratuit et open source, fork de Mastodon.",
+  "account.add_account_note": "Ajouter une note pour @{name}",
+  "account.disclaimer_full": "Les informations ci-dessous peuvent être incomplètes.",
+  "account.follows": "Abonnements",
+  "account.joined": "Ici depuis {date}",
+  "account.suspended_disclaimer_full": "Cet utilisateur a été suspendu par un modérateur.",
+  "account.view_full_profile": "Voir le profil complet",
+  "account_note.cancel": "Annuler",
+  "account_note.edit": "Éditer",
+  "account_note.glitch_placeholder": "Aucun commentaire fourni",
+  "account_note.save": "Sauvegarder",
+  "advanced_options.icon_title": "Options avancées",
+  "advanced_options.local-only.long": "Ne pas envoyer aux autres instances",
+  "advanced_options.local-only.short": "Uniquement en local",
+  "advanced_options.local-only.tooltip": "Ce post est uniquement local",
+  "advanced_options.threaded_mode.long": "Ouvre automatiquement une réponse lors de la publication",
+  "advanced_options.threaded_mode.short": "Mode thread",
+  "advanced_options.threaded_mode.tooltip": "Mode thread activé",
+  "boost_modal.missing_description": "Ce post contient des médias sans description",
+  "column.favourited_by": "Ajouté en favori par",
+  "column.heading": "Divers",
+  "column.reblogged_by": "Partagé par",
+  "column.subheading": "Autres options",
+  "column_header.profile": "Profil",
+  "column_subheading.lists": "Listes",
+  "column_subheading.navigation": "Navigation",
+  "community.column_settings.allow_local_only": "Afficher seulement les posts locaux",
+  "compose.attach": "Joindre…",
+  "compose.attach.doodle": "Dessiner quelque chose",
+  "compose.attach.upload": "Téléverser un fichier",
+  "compose.content-type.html": "HTML",
+  "compose.content-type.markdown": "Markdown",
+  "compose.content-type.plain": "Text brut",
+  "compose_form.poll.multiple_choices": "Choix multiples",
+  "compose_form.poll.single_choice": "Choix unique",
+  "compose_form.spoiler": "Cacher le texte derrière un avertissement",
+  "confirmation_modal.do_not_ask_again": "Ne plus demander confirmation",
+  "confirmations.deprecated_settings.confirm": "Utiliser les préférences de Mastodon",
+  "confirmations.deprecated_settings.message": "Certaines {app_settings} de glitch-soc que vous utilisez ont été remplacées par les {preferences} de Mastodon et seront remplacées :",
+  "confirmations.missing_media_description.confirm": "Envoyer quand même",
+  "confirmations.missing_media_description.edit": "Modifier le média",
+  "confirmations.missing_media_description.message": "Au moins un média joint manque d'une description. Pensez à décrire tous les médias attachés pour les malvoyant·e·s avant de publier votre post.",
+  "confirmations.unfilter.author": "Auteur",
+  "confirmations.unfilter.confirm": "Afficher",
+  "confirmations.unfilter.edit_filter": "Modifier le filtre",
+  "confirmations.unfilter.filters": "Correspondance avec {count, plural, one {un filtre} other {plusieurs filtres}}",
+  "content-type.change": "Type de contenu",
+  "direct.group_by_conversations": "Grouper par conversation",
+  "endorsed_accounts_editor.endorsed_accounts": "Comptes mis en avant",
+  "favourite_modal.combo": "Vous pouvez appuyer sur {combo} pour passer ceci la prochaine fois",
+  "getting_started.onboarding": "Montre-moi les alentours",
+  "home.column_settings.advanced": "Avancé",
+  "home.column_settings.filter_regex": "Filtrer par expression régulière",
+  "home.column_settings.show_direct": "Afficher les MPs",
+  "home.settings": "Paramètres de la colonne",
+  "keyboard_shortcuts.bookmark": "ajouter aux marque-pages",
+  "keyboard_shortcuts.secondary_toot": "Envoyer le post en utilisant les paramètres secondaires de confidentialité",
+  "keyboard_shortcuts.toggle_collapse": "Plier/déplier les posts",
+  "layout.auto": "Auto",
+  "layout.desktop": "Ordinateur",
+  "layout.hint.auto": "Choisir automatiquement la mise en page selon l'option \"Activer l'interface Web avancée\" et la taille d'écran.",
+  "layout.hint.desktop": "Utiliser la mise en page en plusieurs colonnes indépendamment de l'option \"Activer l'interface Web avancée\" ou de la taille d'écran.",
+  "layout.hint.single": "Utiliser la mise en page à colonne unique indépendamment de l'option \"Activer l'interface Web avancée\" ou de la taille d'écran.",
+  "layout.single": "Téléphone",
+  "media_gallery.sensitive": "Sensible",
+  "moved_to_warning": "Ce compte a déménagé vers {moved_to_link} et ne peut donc plus accepter de nouveaux abonné·e·s.",
+  "navigation_bar.app_settings": "Paramètres de l'application",
+  "navigation_bar.featured_users": "Utilisateurs mis en avant",
+  "navigation_bar.keyboard_shortcuts": "Raccourcis clavier",
+  "navigation_bar.misc": "Autres",
+  "notification.markForDeletion": "Ajouter aux éléments à supprimer",
+  "notification_purge.btn_all": "Sélectionner\ntout",
+  "notification_purge.btn_apply": "Effacer\nla sélection",
+  "notification_purge.btn_invert": "Inverser\nla sélection",
+  "notification_purge.btn_none": "Annuler\nla sélection",
+  "notification_purge.start": "Activer le mode de nettoyage des notifications",
+  "notifications.marked_clear": "Effacer les notifications sélectionnées",
+  "notifications.marked_clear_confirmation": "Voulez-vous vraiment effacer de manière permanente toutes les notifications sélectionnées ?",
+  "onboarding.done": "Terminé",
+  "onboarding.next": "Suivant",
+  "onboarding.page_five.public_timelines": "Le fil local affiche les posts publics de tout le monde sur {domain}. Le fil global affiche les posts publics de tous les comptes que les personnes de {domain} suivent. Ce sont les fils publics, une façon formidable de découvrir de nouvelles personnes.",
+  "onboarding.page_four.home": "L'accueil affiche les posts des personnes que vous suivez.",
+  "onboarding.page_four.notifications": "La colonne de notifications vous montre lorsque quelqu'un interagit avec vous.",
+  "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.handle": "Vous êtes sur {domain}, donc votre nom d'utilisateur complet est {handle}",
+  "onboarding.page_one.welcome": "Bievenue sur {domain} !",
+  "onboarding.page_six.admin": "Votre admin d’instance est {admin}.",
+  "onboarding.page_six.almost_done": "C'est bientôt fini...",
+  "onboarding.page_six.appetoot": "Bon appétoot !",
+  "onboarding.page_six.apps_available": "Il y a des {apps} disponibles pour iOS, Android et d'autres plateformes.",
+  "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}.",
+  "onboarding.page_six.guidelines": "règles de la communauté",
+  "onboarding.page_six.read_guidelines": "Veuillez lire les {guidelines} de {domain} !",
+  "onboarding.page_six.various_app": "applications mobiles",
+  "onboarding.page_three.profile": "Modifiez votre profil pour changer votre avatar, biographie et nom public. Ici, vous trouverez également d'autres options.",
+  "onboarding.page_three.search": "Utilisez la barre de recherche pour trouver des personnes et regarder les hashtags comme {illustration} et {introductions}. Pour chercher une personne n'étant pas sur cette instance, utilisez son nom d'utilisateur complet.",
+  "onboarding.page_two.compose": "Écrivez des posts depuis la colonne de rédaction. Vous pouvez téléverser des images, changer la confidentialité et ajouter des avertissements de contenu avec les boutons ci-dessous.",
+  "onboarding.skip": "Passer",
+  "settings.always_show_spoilers_field": "Toujours activer le champ de rédaction de l'avertissement de contenu",
+  "settings.auto_collapse": "Repliage automatique",
+  "settings.auto_collapse_all": "Tout",
+  "settings.auto_collapse_lengthy": "Posts longs",
+  "settings.auto_collapse_media": "Posts avec média",
+  "settings.auto_collapse_notifications": "Notifications",
+  "settings.auto_collapse_reblogs": "Boosts",
+  "settings.auto_collapse_replies": "Réponses",
+  "settings.close": "Fermer",
+  "settings.collapsed_statuses": "Posts repliés",
+  "settings.compose_box_opts": "Zone de rédaction",
+  "settings.confirm_before_clearing_draft": "Afficher une fenêtre de confirmation avant d'écraser le message en cours de rédaction",
+  "settings.confirm_boost_missing_media_description": "Afficher une fenêtre de confirmation avant de partager des posts manquant de description des médias",
+  "settings.confirm_missing_media_description": "Afficher une fenêtre de confirmation avant de publier des posts manquant de description de média",
+  "settings.content_warnings": "Content warnings",
+  "settings.content_warnings.regexp": "Expression rationnelle",
+  "settings.content_warnings_filter": "Avertissement de contenu à ne pas automatiquement déplier :",
+  "settings.content_warnings_media_outside": "Afficher les médias en dehors des avertissements de contenu",
+  "settings.content_warnings_media_outside_hint": "Reproduit le comportement par défaut de Mastodon, les médias attachés ne sont plus affectés par le bouton d'affichage d'un post avec avertissement",
+  "settings.content_warnings_shared_state": "Affiche/cache le contenu de toutes les copies à la fois",
+  "settings.content_warnings_shared_state_hint": "Reproduit le comportement par défaut de Mastodon, le bouton d'avertissement de contenu affecte toutes les copies d'un post à la fois. Cela empêchera le repliement automatique de n'importe quelle copie d'un post avec un avertissement déplié",
+  "settings.content_warnings_unfold_opts": "Options de dépliement automatique",
+  "settings.deprecated_setting": "Cette option est maintenant définie par les {settings_page_link} de Mastodon",
+  "settings.enable_collapsed": "Activer le repliement des posts",
+  "settings.enable_collapsed_hint": "Les posts repliés ont une partie de leur contenu caché pour libérer de l'espace sur l'écran. C'est une option différente de l'avertissement de contenu",
+  "settings.enable_content_warnings_auto_unfold": "Déplier automatiquement les avertissements de contenu",
+  "settings.general": "Général",
+  "settings.hicolor_privacy_icons": "Indicateurs de confidentialité en couleurs",
+  "settings.hicolor_privacy_icons.hint": "Affiche les indicateurs de confidentialité dans des couleurs facilement distinguables",
+  "settings.image_backgrounds": "Images en arrière-plan",
+  "settings.image_backgrounds_media": "Prévisualiser les médias d'un post replié",
+  "settings.image_backgrounds_media_hint": "Si le post a un média attaché, utiliser le premier comme arrière-plan du post",
+  "settings.image_backgrounds_users": "Donner aux posts repliés une image en arrière-plan",
+  "settings.inline_preview_cards": "Cartes d'aperçu pour les liens externes",
+  "settings.layout": "Mise en page :",
+  "settings.layout_opts": "Mise en page",
+  "settings.media": "Média",
+  "settings.media_fullwidth": "Utiliser toute la largeur pour les aperçus",
+  "settings.media_letterbox": "Afficher les médias en Letterbox",
+  "settings.media_letterbox_hint": "Réduit le média et utilise une letterbox pour afficher l'image entière plutôt que de l'étirer et de la rogner",
+  "settings.media_reveal_behind_cw": "Toujours afficher les médias sensibles avec avertissement",
+  "settings.notifications.favicon_badge": "Badge de notifications non lues dans la favicon",
+  "settings.notifications.favicon_badge.hint": "Ajoute un badge dans la favicon pour alerter d'une notification non lue",
+  "settings.notifications.tab_badge": "Badge de notifications non lues",
+  "settings.notifications.tab_badge.hint": "Affiche un badge de notifications non lues dans les icônes des colonnes quand la colonne n'est pas ouverte",
+  "settings.notifications_opts": "Options des notifications",
+  "settings.pop_in_left": "Gauche",
+  "settings.pop_in_player": "Activer le lecteur pop-in",
+  "settings.pop_in_position": "Position du lecteur pop-in :",
+  "settings.pop_in_right": "Droite",
+  "settings.preferences": "Preferences",
+  "settings.prepend_cw_re": "Préfixer les avertissements avec \"re: \" lors d'une réponse",
+  "settings.preselect_on_reply": "Présélectionner les noms d’utilisateur·rices lors de la réponse",
+  "settings.preselect_on_reply_hint": "Présélectionner les noms d'utilisateurs après le premier lors d'une réponse à une conversation à plusieurs participants",
+  "settings.rewrite_mentions": "Réécrire les mentions dans les posts affichés",
+  "settings.rewrite_mentions_acct": "Réécrire avec le nom d'utilisateur·rice et le domaine (lorsque le compte est distant)",
+  "settings.rewrite_mentions_no": "Ne pas réécrire les mentions",
+  "settings.rewrite_mentions_username": "Réécrire avec le nom d’utilisateur·rice",
+  "settings.shared_settings_link": "préférences de l'utilisateur",
+  "settings.show_action_bar": "Afficher les boutons d'action dans les posts repliés",
+  "settings.show_content_type_choice": "Afficher le choix du type de contenu lors de la création des posts",
+  "settings.show_reply_counter": "Afficher une estimation du nombre de réponses",
+  "settings.side_arm": "Bouton secondaire de publication :",
+  "settings.side_arm.none": "Aucun",
+  "settings.side_arm_reply_mode": "Quand vous répondez à un post, le bouton secondaire de publication devrait :",
+  "settings.side_arm_reply_mode.copy": "Copier la confidentialité du post auquel vous répondez",
+  "settings.side_arm_reply_mode.keep": "Garder la confidentialité établie",
+  "settings.side_arm_reply_mode.restrict": "Restreindre la confidentialité de la réponse à celle du post auquel vous répondez",
+  "settings.status_icons": "Icônes des posts",
+  "settings.status_icons_language": "Indicateur de langue",
+  "settings.status_icons_local_only": "Indicateur de post local",
+  "settings.status_icons_media": "Indicateur de médias et sondage",
+  "settings.status_icons_reply": "Indicateur de réponses",
+  "settings.status_icons_visibility": "Indicateur de la confidentialité du post",
+  "settings.swipe_to_change_columns": "Glissement latéral pour changer de colonne (mobile uniquement)",
+  "settings.tag_misleading_links": "Étiqueter les liens trompeurs",
+  "settings.tag_misleading_links.hint": "Ajouter une indication visuelle avec l'hôte cible du lien à chaque lien ne le mentionnant pas explicitement",
+  "settings.wide_view": "Vue élargie (mode ordinateur uniquement)",
+  "settings.wide_view_hint": "Étire les colonnes pour mieux remplir l'espace disponible.",
+  "status.collapse": "Replier",
+  "status.has_audio": "Contient des fichiers audio attachés",
+  "status.has_pictures": "Contient des images attachées",
+  "status.has_preview_card": "Contient une carte de prévisualisation attachée",
+  "status.has_video": "Contient des vidéos attachées",
+  "status.in_reply_to": "Ce post est une réponse",
+  "status.is_poll": "Ce post est un sondage",
+  "status.local_only": "Visible uniquement depuis votre instance",
+  "status.sensitive_toggle": "Cliquer pour voir",
+  "status.uncollapse": "Déplier",
+  "web_app_crash.change_your_settings": "Changez vos {settings}",
+  "web_app_crash.content": "Voici les différentes options qui s'offrent à vous :",
+  "web_app_crash.debug_info": "Informations de débogage",
+  "web_app_crash.disable_addons": "Désactivez les extensions de votre navigateur, ainsi que les outils de traduction intégrés",
+  "web_app_crash.issue_tracker": "traqueur d'erreurs",
+  "web_app_crash.reload": "Rafraichir",
+  "web_app_crash.reload_page": "{reload} la page actuelle",
+  "web_app_crash.report_issue": "Signalez un bug dans le {issuetracker}",
+  "web_app_crash.settings": "paramètres",
+  "web_app_crash.title": "Nous sommes navrés, mais quelque chose s'est mal passé dans l'application Mastodon."
+}
diff --git a/app/javascript/flavours/glitch/locales/fy.json b/app/javascript/flavours/glitch/locales/fy.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/fy.json
@@ -0,0 +1 @@
+{}
diff --git a/app/javascript/flavours/glitch/locales/ga.json b/app/javascript/flavours/glitch/locales/ga.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ga.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/gd.json b/app/javascript/flavours/glitch/locales/gd.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/gd.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/gl.json b/app/javascript/flavours/glitch/locales/gl.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/gl.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/he.json b/app/javascript/flavours/glitch/locales/he.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/he.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/hi.json b/app/javascript/flavours/glitch/locales/hi.json
new file mode 100644
index 000000000..f6eb75f84
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/hi.json
@@ -0,0 +1,18 @@
+{
+  "about.fork_disclaimer": "ग्लिच-सोक एक मुफ्त और ओपन सोर्स सॉफ़्टवेर है जो मैस्टोडॉन से फोर्क किया गया है",
+  "account.add_account_note": "@{name} के लिए कोई नोट लिखें",
+  "account.follows": "फ़ॉलोज़",
+  "account.joined": "ज़ोईन करने की {date}",
+  "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": "दूसरे इंस्टेंसों में पोस्ट ना करें",
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/hr.json b/app/javascript/flavours/glitch/locales/hr.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/hr.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/hu.json b/app/javascript/flavours/glitch/locales/hu.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/hu.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/hy.json b/app/javascript/flavours/glitch/locales/hy.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/hy.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/id.json b/app/javascript/flavours/glitch/locales/id.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/id.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/ig.json b/app/javascript/flavours/glitch/locales/ig.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ig.json
@@ -0,0 +1 @@
+{}
diff --git a/app/javascript/flavours/glitch/locales/io.json b/app/javascript/flavours/glitch/locales/io.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/io.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/is.json b/app/javascript/flavours/glitch/locales/is.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/is.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/it.json b/app/javascript/flavours/glitch/locales/it.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/it.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/ja.json b/app/javascript/flavours/glitch/locales/ja.json
new file mode 100644
index 000000000..610cd7525
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ja.json
@@ -0,0 +1,124 @@
+{
+  "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": "このトゥートには少なくとも1つの画像に説明が付与されていません",
+  "community.column_settings.allow_local_only": "ローカル限定投稿を表示する",
+  "compose.attach": "添付...",
+  "compose.attach.doodle": "お絵描きをする",
+  "compose.attach.upload": "ファイルをアップロード",
+  "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.missing_media_description.confirm": "このまま投稿",
+  "confirmations.missing_media_description.edit": "メディアを編集",
+  "confirmations.missing_media_description.message": "少なくとも1つの画像に視覚障害者のための画像説明が付与されていません。すべての画像に対して説明を付与することを望みます。",
+  "confirmations.unfilter.author": "筆者",
+  "confirmations.unfilter.confirm": "見る",
+  "confirmations.unfilter.edit_filter": "フィルターを編集",
+  "confirmations.unfilter.filters": "適用されたフィルター",
+  "content-type.change": "コンテンツ形式を変更",
+  "endorsed_accounts_editor.endorsed_accounts": "紹介しているユーザー",
+  "favourite_modal.combo": "次からは {combo} を押せば、これをスキップできます。",
+  "getting_started.onboarding": "解説を表示",
+  "home.column_settings.advanced": "高度",
+  "home.column_settings.filter_regex": "正規表現でフィルター",
+  "home.column_settings.show_direct": "DMを表示",
+  "keyboard_shortcuts.bookmark": "ブックマーク",
+  "keyboard_shortcuts.secondary_toot": "セカンダリートゥートの公開範囲でトゥートする",
+  "keyboard_shortcuts.toggle_collapse": "折りたたむ/折りたたみを解除",
+  "layout.auto": "自動",
+  "layout.desktop": "デスクトップ",
+  "layout.single": "モバイル",
+  "moved_to_warning": "このアカウント{moved_to_link}に引っ越したため、新しいフォロワーを受け入れていません。",
+  "navigation_bar.app_settings": "アプリ設定",
+  "navigation_bar.featured_users": "紹介しているアカウント",
+  "navigation_bar.misc": "その他",
+  "notification.markForDeletion": "選択",
+  "notification_purge.btn_all": "すべて\n選択",
+  "notification_purge.btn_apply": "選択したものを\n削除",
+  "notification_purge.btn_invert": "選択を\n反転",
+  "notification_purge.btn_none": "選択\n解除",
+  "notifications.marked_clear": "選択した通知を削除する",
+  "notifications.marked_clear_confirmation": "削除した全ての通知を完全に削除してもよろしいですか?",
+  "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.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.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_reveal_behind_cw": "既定で警告指定されているトゥートの閲覧注意メディアを表示する",
+  "settings.notifications.favicon_badge": "通知アイコンに未読件数を表示する",
+  "settings.notifications.tab_badge": "未読の通知があるとき、通知アイコンにマークを表示する",
+  "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.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": "ワイドビュー(デスクトップ レイアウトのみ)",
+  "status.collapse": "折りたたむ",
+  "status.uncollapse": "折りたたみを解除"
+}
diff --git a/app/javascript/flavours/glitch/locales/ka.json b/app/javascript/flavours/glitch/locales/ka.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ka.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/kab.json b/app/javascript/flavours/glitch/locales/kab.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/kab.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/kk.json b/app/javascript/flavours/glitch/locales/kk.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/kk.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/kn.json b/app/javascript/flavours/glitch/locales/kn.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/kn.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/ko.json b/app/javascript/flavours/glitch/locales/ko.json
new file mode 100644
index 000000000..fae7d2227
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ko.json
@@ -0,0 +1,200 @@
+{
+  "about.fork_disclaimer": "글리치는 마스토돈에서 포크한 자유 오픈소스 소프트웨어입니다.",
+  "account.add_account_note": "@{name} 님에 대한 메모 추가",
+  "account.disclaimer_full": "아래에 있는 정보들은 사용자의 프로필을 완벽하게 나타내지 못하고 있을 수도 있습니다.",
+  "account.follows": "팔로우",
+  "account.joined": "{date}에 가입함",
+  "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_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.deprecated_settings.confirm": "마스토돈 설정 사용",
+  "confirmations.deprecated_settings.message": "사용하던 몇몇 기기별 글리치 {app_settings}은 마스토돈 {preferences}으로 대체되었습니다:",
+  "confirmations.missing_media_description.confirm": "그냥 보내기",
+  "confirmations.missing_media_description.edit": "미디어 편집",
+  "confirmations.missing_media_description.message": "하나 이상의 미디어에 대해 설명을 작성하지 않았습니다. 시각장애인을 위해 모든 미디어에 설명을 추가하는 것을 고려해주세요.",
+  "confirmations.unfilter.author": "작성자",
+  "confirmations.unfilter.confirm": "보기",
+  "confirmations.unfilter.edit_filter": "필터 편집",
+  "confirmations.unfilter.filters": "적용된 {count, plural, one {필터} other {필터들}}",
+  "content-type.change": "콘텐트 타입",
+  "direct.group_by_conversations": "대화별로 묶기",
+  "endorsed_accounts_editor.endorsed_accounts": "추천하는 계정들",
+  "favourite_modal.combo": "다음엔 {combo}를 눌러 건너뛸 수 있습니다",
+  "getting_started.onboarding": "둘러보기",
+  "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.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.keyboard_shortcuts": "키보드 단축기",
+  "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.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_height": "길이가 긴 것으로 간주할 툿의 높이 (픽셀 단위)",
+  "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.content_warnings_media_outside": "미디어 첨부를 열람주의 바깥에 보이기",
+  "settings.content_warnings_media_outside_hint": "마스토돈 원본처럼 열람주의 토글이 미디어 첨부에는 영향을 미치지 않게 합니다",
+  "settings.content_warnings_shared_state": "동일한 글의 열람주의를 한번에 열고 닫기",
+  "settings.content_warnings_shared_state_hint": "마스토돈 원본처럼 열람주의 버튼이 동일한 모든 글에 대해 영향을 미치게 합니다. 펼쳐진 열람주의 글이 자동으로 다시 접히는 것을 방지합니다",
+  "settings.content_warnings_unfold_opts": "자동 펼치기 옵션",
+  "settings.deprecated_setting": "이 설정은 마스토돈의 {settings_page_link}에서 관리됩니다",
+  "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.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.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.in_reply_to": "이 글은 답글입니다",
+  "status.is_poll": "이 글은 설문입니다",
+  "status.local_only": "당신의 서버에서만 보입니다",
+  "status.sensitive_toggle": "클릭해서 보기",
+  "status.uncollapse": "펼치기",
+  "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": "죄송합니다, 하지만 마스토돈 앱이 뭔가 잘못되었습니다."
+}
diff --git a/app/javascript/flavours/glitch/locales/ku.json b/app/javascript/flavours/glitch/locales/ku.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ku.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/kw.json b/app/javascript/flavours/glitch/locales/kw.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/kw.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/la.json b/app/javascript/flavours/glitch/locales/la.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/la.json
@@ -0,0 +1 @@
+{}
diff --git a/app/javascript/flavours/glitch/locales/lt.json b/app/javascript/flavours/glitch/locales/lt.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/lt.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/lv.json b/app/javascript/flavours/glitch/locales/lv.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/lv.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/mk.json b/app/javascript/flavours/glitch/locales/mk.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/mk.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/ml.json b/app/javascript/flavours/glitch/locales/ml.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ml.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/mr.json b/app/javascript/flavours/glitch/locales/mr.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/mr.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/ms.json b/app/javascript/flavours/glitch/locales/ms.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ms.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/my.json b/app/javascript/flavours/glitch/locales/my.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/my.json
@@ -0,0 +1 @@
+{}
diff --git a/app/javascript/flavours/glitch/locales/nl.json b/app/javascript/flavours/glitch/locales/nl.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/nl.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/nn.json b/app/javascript/flavours/glitch/locales/nn.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/nn.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/no.json b/app/javascript/flavours/glitch/locales/no.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/no.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/oc.json b/app/javascript/flavours/glitch/locales/oc.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/oc.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/pa.json b/app/javascript/flavours/glitch/locales/pa.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/pa.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/pl.json b/app/javascript/flavours/glitch/locales/pl.json
new file mode 100644
index 000000000..0d8deb512
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/pl.json
@@ -0,0 +1,197 @@
+{
+  "about.fork_disclaimer": "Glitch-soc jest wolnym i otwartym oprogramowaniem wywodzącym się z Mastodonu.",
+  "account.add_account_note": "Dodaj notatkę dla @{name}",
+  "account.disclaimer_full": "Poniższe informacje mogą niekompletnie odzwierciedlać profil tego użytkownika.",
+  "account.follows": "Obserwuje",
+  "account.joined": "Konto utworzono {date}",
+  "account.suspended_disclaimer_full": "Użytkownik został zawieszony przez moderatora.",
+  "account.view_full_profile": "Pokaż pełny profil",
+  "account_note.cancel": "Anuluj",
+  "account_note.edit": "Edytuj",
+  "account_note.glitch_placeholder": "Brak komentarza",
+  "account_note.save": "Zapisz",
+  "advanced_options.icon_title": "Ustawienia zaawansowane",
+  "advanced_options.local-only.long": "Nie wysyłaj na inne instancje",
+  "advanced_options.local-only.short": "Tylko lokalnie",
+  "advanced_options.local-only.tooltip": "Ten wpis jest widoczny tylko lokalnie",
+  "advanced_options.threaded_mode.long": "Przechodzi do tworzenia odpowiedzi po publikacji wpisu",
+  "advanced_options.threaded_mode.short": "Tryb wątków",
+  "advanced_options.threaded_mode.tooltip": "Włączono tryb wątków",
+  "boost_modal.missing_description": "Ten wpis zawiera multimedialne załączniki bez opisu",
+  "column.favourited_by": "Polubiony przez",
+  "column.heading": "Różne",
+  "column.reblogged_by": "Podbity przez",
+  "column.subheading": "Różne opcje",
+  "column_header.profile": "Profil",
+  "column_subheading.lists": "Listy",
+  "column_subheading.navigation": "Nawigacja",
+  "community.column_settings.allow_local_only": "Pokazuj wyłącznie wpisy lokalne",
+  "compose.attach": "Załącz coś",
+  "compose.attach.doodle": "Narysuj coś",
+  "compose.attach.upload": "Wyślij plik",
+  "compose.content-type.html": "HTML",
+  "compose.content-type.markdown": "Markdown",
+  "compose.content-type.plain": "Czysty tekst",
+  "compose_form.poll.multiple_choices": "Pozwól na wybór wielokrotny",
+  "compose_form.poll.single_choice": "Pozwól na tylko jeden wybór",
+  "compose_form.spoiler": "Ukryj tekst za ostrzeżeniem",
+  "confirmation_modal.do_not_ask_again": "Więcej nie pytaj się o potwierdzenie",
+  "confirmations.deprecated_settings.confirm": "Użyj preferencji Mastodonu",
+  "confirmations.missing_media_description.confirm": "Zignoruj i wyślij",
+  "confirmations.missing_media_description.edit": "Edytuj załącznik multimedialny",
+  "confirmations.missing_media_description.message": "Co najmniej jednemu załącznikowi multimedialnemu brakuje opisu. Z uwagi na osoby z zaburzeniami widzenia rozważ opisanie wszystkich załączników przed opublikowaniem wpisu.",
+  "confirmations.unfilter.author": "Autor",
+  "confirmations.unfilter.confirm": "Pokaż",
+  "confirmations.unfilter.edit_filter": "Edytuj filtr",
+  "content-type.change": "Typ zawartości",
+  "direct.group_by_conversations": "Grupuj rozmowami",
+  "endorsed_accounts_editor.endorsed_accounts": "Wybrane konta",
+  "favourite_modal.combo": "Możesz nacisnąć {combo}, aby pominąć to następnym razem",
+  "getting_started.onboarding": "Rozejrzyj się",
+  "home.column_settings.advanced": "Zaawansowane",
+  "home.column_settings.filter_regex": "Filtruj, używając wyrażeń regularnych",
+  "home.column_settings.show_direct": "Pokaż wiadomości bezpośrednie",
+  "home.settings": "Ustawienia kolumn",
+  "keyboard_shortcuts.bookmark": "aby dodać do ulubionych",
+  "keyboard_shortcuts.secondary_toot": "aby opublikować wpis używając dodatkowych ustawień prywatności",
+  "keyboard_shortcuts.toggle_collapse": "aby zwinąć/rozwinąć wpisy",
+  "layout.auto": "Automatyczny",
+  "layout.desktop": "Desktopowy",
+  "layout.hint.auto": "Automatycznie wybierz układ na podstawie ustawienia „Włącz zaawansowany interfejs użytkownika” i rozmiaru ekranu.",
+  "layout.hint.desktop": "Użyj układu wielokolumnowego niezależnie od ustawienia „Włącz zaawansowany interfejs użytkownika” i rozmiaru ekranu.",
+  "layout.hint.single": "Użyj układu jednokolumnowego niezależnie od ustawienia „Włącz zaawansowany interfejs użytkownika” i rozmiaru ekranu.",
+  "layout.single": "Mobilny",
+  "media_gallery.sensitive": "Zawartość wrażliwa",
+  "moved_to_warning": "To konto oznaczone jest jako przeniesione do {moved_to_link} i może z tego powodu nie akceptować nowych obserwujących.",
+  "navigation_bar.app_settings": "Ustawienia aplikacji",
+  "navigation_bar.featured_users": "Użytkownicy wyróżnieni",
+  "navigation_bar.keyboard_shortcuts": "Skróty klawiszowe",
+  "navigation_bar.misc": "Różne",
+  "notification.markForDeletion": "Oznacz do usunięcia",
+  "notification_purge.btn_all": "Zaznacz\nwszystkie",
+  "notification_purge.btn_apply": "Usuń\nzaznaczone",
+  "notification_purge.btn_invert": "Odwróć\nzaznaczenie",
+  "notification_purge.btn_none": "Odznacz\nwszystkie",
+  "notification_purge.start": "Przejdź do trybu usuwania powiadomień",
+  "notifications.marked_clear": "Usuń zaznaczone powiadomienia",
+  "notifications.marked_clear_confirmation": "Czy na pewno chcesz bezpowrtonie usunąć wszystkie powiadomienia?",
+  "onboarding.done": "Zakończ",
+  "onboarding.next": "Następny",
+  "onboarding.page_five.public_timelines": "Lokalna oś czasu pokazuje publiczne posty wszystkich użytkowników {domain}. Globalna oś czasu pokazuje publiczne posty wszystkich użytkowników obserwowanych przez osoby z {domain}. Te publiczne osi czasu są dobrą metodą na poznawanie nowych ludzi.",
+  "onboarding.page_four.home": "Domowa oś czasowa pokazuje wpisy ludzi, których obserwujesz.",
+  "onboarding.page_four.notifications": "Kolumna powiadomień pokazuje interakcje innych z tobą.",
+  "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.handle": "Jesteś na serwerze {domain}, więc twój pełny adres to {handle}",
+  "onboarding.page_one.welcome": "Witamy na {domain}!",
+  "onboarding.page_six.admin": "Administratorem twojego serwera jest {admin}.",
+  "onboarding.page_six.almost_done": "Prawie gotowe…",
+  "onboarding.page_six.apps_available": "Na Android, iOS i inne systemy są dostępne {apps}.",
+  "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}.",
+  "onboarding.page_six.guidelines": "wytyczne społeczności",
+  "onboarding.page_six.read_guidelines": "Proszę przeczytać {guidelines} {domain}!",
+  "onboarding.page_six.various_app": "aplikacje mobilne",
+  "onboarding.page_three.profile": "Edytuj Twój profil, aby zmienić awatar, biogram i widoczną nazwę. Znajdziesz tam również inne ustawienia.",
+  "onboarding.page_three.search": "Użyj paska wyszukiwania aby znaleźć osoby i hasztagi, takie jak {illustration} i {introductions}. Aby znaleźć osobę niebędącą na tym serwerze użyj jej pełnego adresu.",
+  "onboarding.page_two.compose": "Twórz nowe wpisy w lewej kolumnie. Możesz wysłać zdjęcia, zmienić ustawienia prywatności i ukryć wpis za ostrzeżeniem używając poniższych ikon.",
+  "onboarding.skip": "Pomiń",
+  "settings.always_show_spoilers_field": "Zawsze pokazuj pole ostrzeżenia o zawartości",
+  "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_height": "Wysokość (w pikselach) powyżej której wpis będzie uznawany za długi",
+  "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.compose_box_opts": "Pole edycji",
+  "settings.confirm_before_clearing_draft": "Wymuś potwierdzenie przez nadpisaniem aktualnie edytowanego wpisu",
+  "settings.confirm_boost_missing_media_description": "Wymuś potwierdzenie przed podbiciem wpisów z brakującym opisem załączników multimedialnych",
+  "settings.confirm_missing_media_description": "Wymuś potwierdzenie przed opublikowaniem wpisu z brakującymi opisami załączników multimedialnych",
+  "settings.content_warnings": "Content warnings",
+  "settings.content_warnings.regexp": "Wyrażenie regularne",
+  "settings.content_warnings_filter": "Ostrzeżenia o zawartości nieodkrywane automatycznie:",
+  "settings.content_warnings_media_outside": "Wyświetlaj załączniki multimedialne poza ostrzeżeniem o zawartości",
+  "settings.content_warnings_media_outside_hint": "Nie ukrywaj załączników multimedialnych, gdy wpis jest ukryty za ostrzeżeniem, tak jak robi to niezmodyfikowany Mastodon",
+  "settings.content_warnings_shared_state": "Pokaż/ukryj zawartość wszystkich kopii jednocześnie",
+  "settings.content_warnings_shared_state_hint": "Zachowaj się tak, jak niezmodyfikowany Mastodon, tj. wymuś działanie przycisku ostrzeżenia o zawartości na wszystkie kopie danego wpisu. Włączenie tego ustawienia spowoduje wyłączenie automatycznego zwijania kopii wpisów z odkrytym ostrzeżeniem o zawartości.",
+  "settings.content_warnings_unfold_opts": "Opcje automatycznego odkrywania",
+  "settings.deprecated_setting": "To ustawienie jest teraz kontrolowane przez {settings_page_link}",
+  "settings.enable_collapsed": "Włącz zwijanie wpisów",
+  "settings.enable_collapsed_hint": "Zwinięte wpisy są częściowo ukryte, przez co zajmują mniej miejsca. Ta opcja różni się od ukrywania wpisów za ostrzeżeniem",
+  "settings.enable_content_warnings_auto_unfold": "Automatycznie odkrywaj wpisy ukryte za ostrzeżeniem",
+  "settings.general": "Ogólne",
+  "settings.hicolor_privacy_icons": "Ikony ustawień prywatności o jaskrawych kolorach",
+  "settings.hicolor_privacy_icons.hint": "Wyświetl ikony ustawień prywatności używając łatwo rozróżnialnych kolorów",
+  "settings.image_backgrounds": "Obrazy w tle",
+  "settings.image_backgrounds_media": "Wyświetlaj zawartość multimedialną zwiniętych wpisów",
+  "settings.image_backgrounds_media_hint": "Jeśli wpis ma co najmniej jeden załącznik multimedialny, użyj pierwszego z nich, jako tła.",
+  "settings.image_backgrounds_users": "Nadaj tło zwiniętym wpisom",
+  "settings.inline_preview_cards": "Karty podglądu zewnętrznych linków w tekście",
+  "settings.layout": "Układ",
+  "settings.layout_opts": "Opcje układu",
+  "settings.media": "Zawartość multimedialna",
+  "settings.media_fullwidth": "Podgląd zawartości multimedialnej o pełnej szerokości",
+  "settings.media_letterbox": "Dopasuj proporcje multimedialnych załączników",
+  "settings.media_letterbox_hint": "Przeskaluj multimedialne załączniki w sposób umożliwiający zachowanie proporcji.",
+  "settings.media_reveal_behind_cw": "Domyślnie odkrywaj załączniki multimedialne wpisów ukrytych za ostrzeżeniem",
+  "settings.notifications.favicon_badge": "Znacznik nieprzeczytanych powiadomień ikony ulubionych",
+  "settings.notifications.favicon_badge.hint": "Dodaj znacznik nieprzeczytanych powiadomień do ikony ulubionych.",
+  "settings.notifications.tab_badge": "Znacznik nieprzeczytanych powiadomień",
+  "settings.notifications.tab_badge.hint": "Dodaj znacznik nieprzeczytanych powiadomień do ikon kolumn, gdy kolumna powiadomień jest zamknięta.",
+  "settings.notifications_opts": "Opcje powiadomień",
+  "settings.pop_in_left": "Po lewej",
+  "settings.pop_in_player": "Włącz odtwarzacz w wyskakującym okienku",
+  "settings.pop_in_position": "Pozycja wyskakującego okienka:",
+  "settings.pop_in_right": "Po prawej",
+  "settings.preferences": "Preferencje użytkownika",
+  "settings.prepend_cw_re": "Dodaj „re: ” na początku ostrzeżenia o zawartości podczas odpowiadania na wpis z ostrzeżeniem",
+  "settings.preselect_on_reply": "Automatycznie wybierz adresy podczas odpowiadania",
+  "settings.preselect_on_reply_hint": "Podczas odpowiadania w rozmowie z kilkoma uczestnikami automatycznie wybierz adresy inne niż pierwszy.",
+  "settings.rewrite_mentions": "Przerabianie nawiązań w wyświetlonych statusach",
+  "settings.rewrite_mentions_acct": "Przerób na pełny adres, gdy konto jest z innego serwera",
+  "settings.rewrite_mentions_no": "Nie przerabiaj",
+  "settings.rewrite_mentions_username": "Przerób na nazwę użytkownika",
+  "settings.shared_settings_link": "ustawienia użytkownika",
+  "settings.show_action_bar": "Pokazuj przyciski akcji pod zwiniętymi wpisami",
+  "settings.show_content_type_choice": "Podczas tworzenia wpisów umożliw wybór typu zawartości",
+  "settings.show_reply_counter": "Wyświetl szacowaną ilości odpowiedzi",
+  "settings.side_arm": "Drugi przycisk wysyłania",
+  "settings.side_arm.none": "Żaden",
+  "settings.side_arm_reply_mode": "Podczas odpowiadania na wpis, dodatkowy przycisk publikowania powinien:",
+  "settings.side_arm_reply_mode.copy": "Powielić ustawienia prywatności wpisu, na który publikowana jest odpowiedź",
+  "settings.side_arm_reply_mode.keep": "Zachować wcześniej ustawiony tryb prywatności",
+  "settings.side_arm_reply_mode.restrict": "Ograniczyć ustawienia prywatności do tych używanych przez wpis, na który publikowana jest odpowiedź",
+  "settings.status_icons": "Ikony wpisów",
+  "settings.status_icons_language": "Wskaźnik języka",
+  "settings.status_icons_local_only": "Wskaźnik wpisu lokalnego",
+  "settings.status_icons_media": "Wskaźniki załączników multimedialnych i ankiet",
+  "settings.status_icons_reply": "Wskaźnik odpowiedzi",
+  "settings.status_icons_visibility": "Wskaźnik ustawień prywatności wpisu",
+  "settings.swipe_to_change_columns": "W wypadku wersji mobilnej pozwól na zmianę kolumny przez przesunięcie palcem",
+  "settings.tag_misleading_links": "Oznacz mylące linki",
+  "settings.tag_misleading_links.hint": "Dodaj oznaczenie domeny do każdego linku, który nie ma jej w swojej treści",
+  "settings.wide_view": "Szeroki widok (tylko w trybie desktopowym)",
+  "settings.wide_view_hint": "Wykorzystaj więcej dostępnego miejsca, rozciągając kolumny.",
+  "status.collapse": "Zwiń",
+  "status.has_audio": "Posiada załączone pliki dźwiękowe",
+  "status.has_pictures": "Posiada załączone obrazki",
+  "status.has_preview_card": "Posiada załączoną kartę podglądu",
+  "status.has_video": "Posiada załączone wideo",
+  "status.in_reply_to": "Ten wpis jest odpowiedzią",
+  "status.is_poll": "Ten wpis zawiera ankietę",
+  "status.local_only": "Widoczne tylko na twoim serwerze",
+  "status.sensitive_toggle": "Kliknij, aby zobaczyć",
+  "status.uncollapse": "Rozwiń",
+  "web_app_crash.change_your_settings": "Zmień swoje {settings}",
+  "web_app_crash.content": "Możesz spróbować:",
+  "web_app_crash.debug_info": "Informacje pomocne w debugowaniu",
+  "web_app_crash.disable_addons": "Wyłączyć dodatki Twojej przeglądarki lub wbudowane narzędzia do tłumaczenia",
+  "web_app_crash.issue_tracker": "stronie śledzenia błędów",
+  "web_app_crash.reload": "Odświeżyć",
+  "web_app_crash.reload_page": "{reload} tą stronę",
+  "web_app_crash.report_issue": "Zgłosić błąd na {issuetracker}",
+  "web_app_crash.settings": "ustawienia",
+  "web_app_crash.title": "Przepraszamy, ale coś jest nie tak z tą stroną Mastodonu."
+}
diff --git a/app/javascript/flavours/glitch/locales/pt-BR.json b/app/javascript/flavours/glitch/locales/pt-BR.json
new file mode 100644
index 000000000..37451ebe4
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/pt-BR.json
@@ -0,0 +1,200 @@
+{
+  "about.fork_disclaimer": "O Glitch-soc é um software gratuito de código aberto bifurcado a partir do Mastodon.",
+  "account.add_account_note": "Adicionar nota para @{name}",
+  "account.disclaimer_full": "As informações abaixo podem refletir o perfil do usuário de forma incompleta.",
+  "account.follows": "Segue",
+  "account.joined": "Entrou em {date}",
+  "account.suspended_disclaimer_full": "Este usuário foi suspenso por um moderador.",
+  "account.view_full_profile": "Ver o perfil completo",
+  "account_note.cancel": "Cancelar",
+  "account_note.edit": "Editar",
+  "account_note.glitch_placeholder": "Nenhum comentário fornecido",
+  "account_note.save": "Salvar",
+  "advanced_options.icon_title": "Opções avançadas",
+  "advanced_options.local-only.long": "Não publicar em outras instâncias",
+  "advanced_options.local-only.short": "Apenas localmente",
+  "advanced_options.local-only.tooltip": "Este post é somente local",
+  "advanced_options.threaded_mode.long": "Abrir automaticamente uma resposta ao postar",
+  "advanced_options.threaded_mode.short": "Modo de discussão",
+  "advanced_options.threaded_mode.tooltip": "Modo de discussão ativado",
+  "boost_modal.missing_description": "Este toot contém algumas mídias sem descrição",
+  "column.favourited_by": "Favoritado por",
+  "column.heading": "Diversos",
+  "column.reblogged_by": "Inpulsionado por",
+  "column.subheading": "Opções diversas",
+  "column_header.profile": "Perfil",
+  "column_subheading.lists": "Listas",
+  "column_subheading.navigation": "Navegação",
+  "community.column_settings.allow_local_only": "Mostrar os toots apenas locais",
+  "compose.attach": "Anexar...",
+  "compose.attach.doodle": "Desenhe algo",
+  "compose.attach.upload": "Enviar um arquivo",
+  "compose.content-type.html": "HTML",
+  "compose.content-type.markdown": "Markdown",
+  "compose.content-type.plain": "Texto sem formatação",
+  "compose_form.poll.multiple_choices": "Permitir múltipla escolha",
+  "compose_form.poll.single_choice": "Permitir uma escolha",
+  "compose_form.spoiler": "Ocultar texto atrás do aviso",
+  "confirmation_modal.do_not_ask_again": "Não pedir confirmação novamente",
+  "confirmations.deprecated_settings.confirm": "Usar preferências do Mastodon",
+  "confirmations.deprecated_settings.message": "Alguns dos {app_settings} específicos do dispositivo que você está usando foram substituídos por Mastodon {preferences} e serão substituídos:",
+  "confirmations.missing_media_description.confirm": "Enviar mesmo assim",
+  "confirmations.missing_media_description.edit": "Editar mídia",
+  "confirmations.missing_media_description.message": "Pelo menos um anexo de mídia não tem uma descrição. Considere descrever todos os anexos de mídia para deficientes visuais antes de enviar seu toot.",
+  "confirmations.unfilter.author": "Autor",
+  "confirmations.unfilter.confirm": "Exibir",
+  "confirmations.unfilter.edit_filter": "Editar filtro",
+  "confirmations.unfilter.filters": "Correspondência de {count, plural, one {filtro} other {filtros}}",
+  "content-type.change": "Tipo de conteúdo",
+  "direct.group_by_conversations": "Agrupar por conversa",
+  "endorsed_accounts_editor.endorsed_accounts": "Contas em destaque",
+  "favourite_modal.combo": "Você pode pressionar {combo} para pular isso da próxima vez",
+  "getting_started.onboarding": "Mostre-me ao redor",
+  "home.column_settings.advanced": "Avançado",
+  "home.column_settings.filter_regex": "Filtrar com uma expressão regular",
+  "home.column_settings.show_direct": "Mostrar DMs",
+  "home.settings": "Configurações da coluna",
+  "keyboard_shortcuts.bookmark": "para marcar",
+  "keyboard_shortcuts.secondary_toot": "para enviar toot usando a configuração de privacidade secundária",
+  "keyboard_shortcuts.toggle_collapse": "para recolher/mostrar toots",
+  "layout.auto": "Automático",
+  "layout.desktop": "Área de trabalho",
+  "layout.hint.auto": "Escolher automaticamente o layout baseado na configuração \"Habilitar interface web avançada\" e o tamanho da tela.",
+  "layout.hint.desktop": "Use o layout de várias colunas independentemente da configuração \"Habilitar interface web avançada\" ou do tamanho da tela.",
+  "layout.hint.single": "Use o layout de uma coluna independentemente da configuração \"Habilitar interface web avançada\" ou do tamanho da tela.",
+  "layout.single": "Celular",
+  "media_gallery.sensitive": "Sensível",
+  "moved_to_warning": "Esta conta foi como movida para {moved_to_link} e, portanto, pode não aceitar novos seguidores.",
+  "navigation_bar.app_settings": "Configurações do aplicativo",
+  "navigation_bar.featured_users": "Usuários em destaque",
+  "navigation_bar.keyboard_shortcuts": "Atalhos de teclado",
+  "navigation_bar.misc": "Diversos",
+  "notification.markForDeletion": "Marcar para exclusão",
+  "notification_purge.btn_all": "Selecionar\ntudo",
+  "notification_purge.btn_apply": "Limpar\nselecionados",
+  "notification_purge.btn_invert": "Inverter\nseleção",
+  "notification_purge.btn_none": "Selecionar\nnenhum",
+  "notification_purge.start": "Entrar no modo de limpeza de notificação",
+  "notifications.marked_clear": "Limpar as notificações selecionadas",
+  "notifications.marked_clear_confirmation": "Tem certeza que deseja limpar todas as notificações selecionadas permanentemente?",
+  "onboarding.done": "Feito",
+  "onboarding.next": "Próximo",
+  "onboarding.page_five.public_timelines": "A linha do tempo local mostra publicações públicas de todos em {domain}. A linha do tempo federada mostra publicações públicas de todos que as pessoas seguem em {domain}. Estas são as linhas do tempo públicas, uma ótima maneira de descobrir novas pessoas.",
+  "onboarding.page_four.home": "A linha do tempo da casa mostra publicações de pessoas que você segue.",
+  "onboarding.page_four.notifications": "A coluna de notificações mostra quando alguém interage com você.",
+  "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.handle": "Você está em {domain}, então o seu identificador completo é {handle}",
+  "onboarding.page_one.welcome": "Bem-vindo ao {domain}!",
+  "onboarding.page_six.admin": "O administrador da sua instância é {admin}.",
+  "onboarding.page_six.almost_done": "Quase pronto...",
+  "onboarding.page_six.appetoot": "Bom Appetoot!",
+  "onboarding.page_six.apps_available": "Há {apps} disponíveis para iOS, Android e outras plataformas.",
+  "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}.",
+  "onboarding.page_six.guidelines": "diretrizes da comunidade",
+  "onboarding.page_six.read_guidelines": "Por favor, leia {domain} {guidelines}!",
+  "onboarding.page_six.various_app": "aplicativos móveis",
+  "onboarding.page_three.profile": "Edite seu perfil para alterar seu avatar, bio e nome de exibição. Lá você também encontrará outras preferências.",
+  "onboarding.page_three.search": "Use a barra de busca para encontrar pessoas e procure hashtags, tais como {illustration} e {introductions}. Para procurar uma pessoa que não esteja neste caso, use o identificador completo.",
+  "onboarding.page_two.compose": "Escreva as postagens a partir da coluna de composição. Você pode enviar imagens, alterar as configurações de privacidade e adicionar avisos de conteúdo com os ícones abaixo.",
+  "onboarding.skip": "Pular",
+  "settings.always_show_spoilers_field": "Sempre ativar o campo Aviso de Conteúdo",
+  "settings.auto_collapse": "Colapso automático",
+  "settings.auto_collapse_all": "Tudo",
+  "settings.auto_collapse_lengthy": "Toots longos",
+  "settings.auto_collapse_media": "Toots com mídia",
+  "settings.auto_collapse_height": "Altura (em pixels) para um toot ser considerado longo",
+  "settings.auto_collapse_notifications": "Notificações",
+  "settings.auto_collapse_reblogs": "Impulsos",
+  "settings.auto_collapse_replies": "Respostas",
+  "settings.close": "Fechar",
+  "settings.collapsed_statuses": "Toots recolhidos",
+  "settings.compose_box_opts": "Caixa de composição",
+  "settings.confirm_before_clearing_draft": "Mostrar diálogo de confirmação antes de sobrescrever a mensagem que está sendo composta",
+  "settings.confirm_boost_missing_media_description": "Mostrar diálogo antes de inpulsionar os toots sem descrições de mídia",
+  "settings.confirm_missing_media_description": "Mostrar diálogo antes de enviar toots sem descrições de mídia",
+  "settings.content_warnings": "Aviso de Conteúdo",
+  "settings.content_warnings.regexp": "Expressão regular",
+  "settings.content_warnings_filter": "Avisos de conteúdo para não revelar automaticamente:",
+  "settings.content_warnings_media_outside": "Exibir anexos de mídia fora avisos de conteúdo",
+  "settings.content_warnings_media_outside_hint": "Reproduzir o comportamento do Mastodonte, fazendo com que a alternância do Aviso de Conteúdo não afete os anexos de mídia",
+  "settings.content_warnings_shared_state": "Mostrar/ocultar o conteúdo de todas as cópias de uma só vez",
+  "settings.content_warnings_shared_state_hint": "Reproduzir o comportamento do Mastodonte fazendo com que o botão de Aviso de Conteúdo afete todas as cópias de um post de uma só vez. Isto evitará o colapso automático de qualquer cópia de um toon com Aviso de Conteúdo revelado",
+  "settings.content_warnings_unfold_opts": "Opções de auto-revelar",
+  "settings.deprecated_setting": "Essa configuração agora é controlada pelo {settings_page_link} do Mastodon",
+  "settings.enable_collapsed": "Habilitar toots recolhidos",
+  "settings.enable_collapsed_hint": "Posts recolhidos têm partes dos seus conteúdos ocultos para ocupar menos espaço na tela. Isto é diferente do recurso 'Aviso de Conteúdo'",
+  "settings.enable_content_warnings_auto_unfold": "Revelar automaticamente os avisos de conteúdo",
+  "settings.general": "Geral",
+  "settings.hicolor_privacy_icons": "Ícones de privacidade com cores de alto contraste",
+  "settings.hicolor_privacy_icons.hint": "Exibir ícones de privacidade em cores brilhantes e facilmente distinguíveis",
+  "settings.image_backgrounds": "Fundos de imagem",
+  "settings.image_backgrounds_media": "Pré-visualização da mídia de toots colapsados",
+  "settings.image_backgrounds_media_hint": "Se o post tiver algum anexo de mídia, use o primeiro em um plano de fundo",
+  "settings.image_backgrounds_users": "Dar a toots recolhidos uma imagem de fundo",
+  "settings.inline_preview_cards": "Cartões de pré-visualização em linha para links externos",
+  "settings.layout": "Layout:",
+  "settings.layout_opts": "Opções de layout",
+  "settings.media": "Mídia",
+  "settings.media_fullwidth": "Pré-visualização da mídia em largura total",
+  "settings.media_letterbox": "Caixa de mensagens",
+  "settings.media_letterbox_hint": "Escala para baixo para encher os recipientes de imagem em vez de esticá-los e cortá-los",
+  "settings.media_reveal_behind_cw": "Revelar mídia sensível por trás de um Aviso de Conteúdo por padrão",
+  "settings.notifications.favicon_badge": "Notificações não lidas como emblema do favicon",
+  "settings.notifications.favicon_badge.hint": "Adicionar um emblema para notificações não lidas ao favicon",
+  "settings.notifications.tab_badge": "Emblema de notificações não lidas",
+  "settings.notifications.tab_badge.hint": "Exibir um emblema para notificações não lidas nos ícones de coluna quando a coluna de notificações não estiver aberta",
+  "settings.notifications_opts": "Opções de notificações",
+  "settings.pop_in_left": "Esquerda",
+  "settings.pop_in_player": "Ativar player pop-in",
+  "settings.pop_in_position": "Posição do player:",
+  "settings.pop_in_right": "Direita",
+  "settings.preferences": "Preferências do usuário",
+  "settings.prepend_cw_re": "Preparar \"re: \" para avisos de conteúdo quando responder",
+  "settings.preselect_on_reply": "Nome de usuário pré-selecionado na resposta",
+  "settings.preselect_on_reply_hint": "Ao responder a uma conversa com vários participantes, pré-selecionar nomes de usuários após o primeiro",
+  "settings.rewrite_mentions": "Reescrever as menções nos status exibidos",
+  "settings.rewrite_mentions_acct": "Reescrever com nome de usuário e domínio (quando a conta for remota)",
+  "settings.rewrite_mentions_no": "Não reescrever menções",
+  "settings.rewrite_mentions_username": "Reescreva com nome de usuário",
+  "settings.shared_settings_link": "preferências do usuário",
+  "settings.show_action_bar": "Mostrar botões de ação em toots recolhidos",
+  "settings.show_content_type_choice": "Exibir opção do tipo de conteúdo ao autorar toots",
+  "settings.show_reply_counter": "Exibir uma estimativa da contagem de respostas",
+  "settings.side_arm": "Botão de toot secundário:",
+  "settings.side_arm.none": "Nenhum",
+  "settings.side_arm_reply_mode": "Ao responder a um toot, o botão secundário de toot deve:",
+  "settings.side_arm_reply_mode.copy": "Copiar configuração de privacidade do toot sendo respondido a",
+  "settings.side_arm_reply_mode.keep": "Mantenha sua privacidade definida",
+  "settings.side_arm_reply_mode.restrict": "Restringir configuração de privacidade ao toot sendo respondido a",
+  "settings.status_icons": "Ícones de toot",
+  "settings.status_icons_language": "Indicador de idioma",
+  "settings.status_icons_local_only": "Indicador somente local",
+  "settings.status_icons_media": "Indicadores de mídia e enquete",
+  "settings.status_icons_reply": "Indicador de resposta",
+  "settings.status_icons_visibility": "Indicador de privacidade",
+  "settings.swipe_to_change_columns": "Permitir deslizar para alterar colunas (apenas celular)",
+  "settings.tag_misleading_links": "Marcar links enganosos",
+  "settings.tag_misleading_links.hint": "Acrescentar uma indicação visual com o link hospedeiro alvo a cada link que não o mencione explicitamente",
+  "settings.wide_view": "Visualização ampla (apenas no Modo desktop)",
+  "settings.wide_view_hint": "Estica as colunas para preencher melhor o espaço disponível.",
+  "status.collapse": "Recolher",
+  "status.has_audio": "Possui um arquivo de áudio anexado",
+  "status.has_pictures": "Possui uma imagem anexada",
+  "status.has_preview_card": "Possui uma pré-visualização anexada",
+  "status.has_video": "Possui um vídeo anexado",
+  "status.in_reply_to": "Este toot é uma resposta",
+  "status.is_poll": "Este toot é uma enquete",
+  "status.local_only": "Visível apenas em sua instância",
+  "status.sensitive_toggle": "Clique para ver",
+  "status.uncollapse": "Revelar",
+  "web_app_crash.change_your_settings": "Altere suas {settings}",
+  "web_app_crash.content": "Você poderia tentar qualquer uma das seguintes opções:",
+  "web_app_crash.debug_info": "Informações de depuração",
+  "web_app_crash.disable_addons": "Desativar complementos do navegador ou ferramentas de tradução integradas",
+  "web_app_crash.issue_tracker": "rastreador de problemas",
+  "web_app_crash.reload": "Recarregar",
+  "web_app_crash.reload_page": "{reload} a página atual",
+  "web_app_crash.report_issue": "Relatar um erro no {issuetracker}",
+  "web_app_crash.settings": "configurações",
+  "web_app_crash.title": "Desculpe, mas algo deu errado com o aplicativo Mastodon."
+}
diff --git a/app/javascript/flavours/glitch/locales/pt-PT.json b/app/javascript/flavours/glitch/locales/pt-PT.json
new file mode 100644
index 000000000..fc3cdc621
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/pt-PT.json
@@ -0,0 +1,25 @@
+{
+  "about.fork_disclaimer": "O Glitch-soc é um software livre de código aberto, derivado (fork) do Mastodon.",
+  "account.add_account_note": "Juntar uma nota sobre @{name}",
+  "account.disclaimer_full": "As informações abaixo podem não refletir completamente o perfil do utilizador.",
+  "account.follows": "A seguir",
+  "account.joined": "Juntou-se em {date}",
+  "account.suspended_disclaimer_full": "Este utilizador foi suspenso por um elemento da moderação.",
+  "account.view_full_profile": "Ver o perfil completo",
+  "account_note.cancel": "Cancelar",
+  "account_note.edit": "Editar",
+  "account_note.glitch_placeholder": "Nenhum comentário dado",
+  "account_note.save": "Gravar",
+  "advanced_options.icon_title": "Opções avançadas",
+  "advanced_options.local-only.long": "Não publicar noutras instâncias",
+  "advanced_options.local-only.short": "Apenas local",
+  "advanced_options.local-only.tooltip": "Este post é apenas local",
+  "advanced_options.threaded_mode.long": "Abrir automaticamente uma resposta ao publicar",
+  "advanced_options.threaded_mode.short": "Modo de fio",
+  "advanced_options.threaded_mode.tooltip": "Modo de fio ativado",
+  "boost_modal.missing_description": "Este post contém alguns media sem descrição",
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/ro.json b/app/javascript/flavours/glitch/locales/ro.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ro.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/ru.json b/app/javascript/flavours/glitch/locales/ru.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ru.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/sa.json b/app/javascript/flavours/glitch/locales/sa.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/sa.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/sc.json b/app/javascript/flavours/glitch/locales/sc.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/sc.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/sco.json b/app/javascript/flavours/glitch/locales/sco.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/sco.json
@@ -0,0 +1 @@
+{}
diff --git a/app/javascript/flavours/glitch/locales/si.json b/app/javascript/flavours/glitch/locales/si.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/si.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/sk.json b/app/javascript/flavours/glitch/locales/sk.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/sk.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/sl.json b/app/javascript/flavours/glitch/locales/sl.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/sl.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/sq.json b/app/javascript/flavours/glitch/locales/sq.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/sq.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/sr-Latn.json b/app/javascript/flavours/glitch/locales/sr-Latn.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/sr-Latn.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/sr.json b/app/javascript/flavours/glitch/locales/sr.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/sr.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/sv.json b/app/javascript/flavours/glitch/locales/sv.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/sv.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/szl.json b/app/javascript/flavours/glitch/locales/szl.json
new file mode 100644
index 000000000..807ed8207
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/szl.json
@@ -0,0 +1,201 @@
+{
+  "about.fork_disclaimer": "Glitch-soc is free open source software forked from Mastodon.",
+  "account.add_account_note": "Add note for @{name}",
+  "account.disclaimer_full": "Information below may reflect the user's profile incompletely.",
+  "account.follows": "Follows",
+  "account.joined": "Joined {date}",
+  "account.suspended_disclaimer_full": "This user has been suspended by a moderator.",
+  "account.view_full_profile": "View full profile",
+  "account_note.cancel": "Cancel",
+  "account_note.edit": "Edit",
+  "account_note.glitch_placeholder": "No comment provided",
+  "account_note.save": "Save",
+  "advanced_options.icon_title": "Advanced options",
+  "advanced_options.local-only.long": "Do not post to other instances",
+  "advanced_options.local-only.short": "Local-only",
+  "advanced_options.local-only.tooltip": "This post is local-only",
+  "advanced_options.threaded_mode.long": "Automatically opens a reply on posting",
+  "advanced_options.threaded_mode.short": "Threaded mode",
+  "advanced_options.threaded_mode.tooltip": "Threaded mode enabled",
+  "boost_modal.missing_description": "This toot contains some media without description",
+  "column.favourited_by": "Favourited by",
+  "column.heading": "Misc",
+  "column.reblogged_by": "Boosted by",
+  "column.subheading": "Miscellaneous options",
+  "column_header.profile": "Profile",
+  "column_subheading.lists": "Lists",
+  "column_subheading.navigation": "Navigation",
+  "community.column_settings.allow_local_only": "Show local-only toots",
+  "compose.attach": "Attach...",
+  "compose.attach.doodle": "Draw something",
+  "compose.attach.upload": "Upload a file",
+  "compose.content-type.html": "HTML",
+  "compose.content-type.markdown": "Markdown",
+  "compose.content-type.plain": "Plain text",
+  "compose_form.poll.multiple_choices": "Allow multiple choices",
+  "compose_form.poll.single_choice": "Allow one choice",
+  "compose_form.spoiler": "Hide text behind warning",
+  "confirmation_modal.do_not_ask_again": "Do not ask for confirmation again",
+  "confirmations.deprecated_settings.confirm": "Use Mastodon preferences",
+  "confirmations.deprecated_settings.message": "Some of the glitch-soc device-specific {app_settings} you are using have been replaced by Mastodon {preferences} and will be overriden:",
+  "confirmations.missing_media_description.confirm": "Send anyway",
+  "confirmations.missing_media_description.edit": "Edit media",
+  "confirmations.missing_media_description.message": "At least one media attachment is lacking a description. Consider describing all media attachments for the visually impaired before sending your toot.",
+  "confirmations.unfilter.author": "Author",
+  "confirmations.unfilter.confirm": "Show",
+  "confirmations.unfilter.edit_filter": "Edit filter",
+  "confirmations.unfilter.filters": "Matching {count, plural, one {filter} other {filters}}",
+  "content-type.change": "Content type",
+  "direct.group_by_conversations": "Group by conversation",
+  "endorsed_accounts_editor.endorsed_accounts": "Featured accounts",
+  "favourite_modal.combo": "You can press {combo} to skip this next time",
+  "getting_started.onboarding": "Show me around",
+  "home.column_settings.advanced": "Advanced",
+  "home.column_settings.filter_regex": "Filter out by regular expressions",
+  "home.column_settings.show_direct": "Show DMs",
+  "home.settings": "Column settings",
+  "keyboard_shortcuts.bookmark": "to bookmark",
+  "keyboard_shortcuts.secondary_toot": "to send toot using secondary privacy setting",
+  "keyboard_shortcuts.toggle_collapse": "to collapse/uncollapse toots",
+  "layout.auto": "Auto",
+  "layout.desktop": "Desktop",
+  "layout.hint.auto": "Automatically chose layout based on “Enable advanced web interface” setting and screen size.",
+  "layout.hint.desktop": "Use multiple-column layout regardless of the “Enable advanced web interface” setting or screen size.",
+  "layout.hint.single": "Use single-column layout regardless of the “Enable advanced web interface” setting or screen size.",
+  "layout.single": "Mobile",
+  "media_gallery.sensitive": "Sensitive",
+  "moved_to_warning": "This account is marked as moved to {moved_to_link}, and may thus not accept new follows.",
+  "navigation_bar.app_settings": "App settings",
+  "navigation_bar.featured_users": "Featured users",
+  "navigation_bar.info": "Extended information",
+  "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.misc": "Misc",
+  "notification.markForDeletion": "Mark for deletion",
+  "notification_purge.btn_all": "Select\nall",
+  "notification_purge.btn_apply": "Clear\nselected",
+  "notification_purge.btn_invert": "Invert\nselection",
+  "notification_purge.btn_none": "Select\nnone",
+  "notification_purge.start": "Enter notification cleaning mode",
+  "notifications.marked_clear": "Clear selected notifications",
+  "notifications.marked_clear_confirmation": "Are you sure you want to permanently clear all selected notifications?",
+  "onboarding.done": "Done",
+  "onboarding.next": "Next",
+  "onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
+  "onboarding.page_four.home": "The home timeline shows posts from people you follow.",
+  "onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
+  "onboarding.page_one.federation": "{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.handle": "You are on {domain}, so your full handle is {handle}",
+  "onboarding.page_one.welcome": "Welcome to {domain}!",
+  "onboarding.page_six.admin": "Your instance's admin is {admin}.",
+  "onboarding.page_six.almost_done": "Almost done...",
+  "onboarding.page_six.appetoot": "Bon Appetoot!",
+  "onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
+  "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}.",
+  "onboarding.page_six.guidelines": "community guidelines",
+  "onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
+  "onboarding.page_six.various_app": "mobile apps",
+  "onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
+  "onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
+  "onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
+  "onboarding.skip": "Skip",
+  "settings.always_show_spoilers_field": "Always enable the Content Warning field",
+  "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.close": "Close",
+  "settings.collapsed_statuses": "Collapsed toots",
+  "settings.compose_box_opts": "Compose box",
+  "settings.confirm_before_clearing_draft": "Show confirmation dialog before overwriting the message being composed",
+  "settings.confirm_boost_missing_media_description": "Show confirmation dialog before boosting toots lacking media descriptions",
+  "settings.confirm_missing_media_description": "Show confirmation dialog before sending toots lacking media descriptions",
+  "settings.content_warnings": "Content warnings",
+  "settings.content_warnings.regexp": "Regular expression",
+  "settings.content_warnings_filter": "Content warnings to not automatically unfold:",
+  "settings.content_warnings_media_outside": "Display media attachments outside content warnings",
+  "settings.content_warnings_media_outside_hint": "Reproduce upstream Mastodon behavior by having the Content Warning toggle not affect media attachments",
+  "settings.content_warnings_shared_state": "Show/hide content of all copies at once",
+  "settings.content_warnings_shared_state_hint": "Reproduce upstream Mastodon behavior by having the Content Warning button affect all copies of a post at once. This will prevent automatic collapsing of any copy of a toot with unfolded CW",
+  "settings.content_warnings_unfold_opts": "Auto-unfolding options",
+  "settings.deprecated_setting": "This setting is now controlled from Mastodon's {settings_page_link}",
+  "settings.enable_collapsed": "Enable collapsed toots",
+  "settings.enable_collapsed_hint": "Collapsed posts have parts of their contents hidden to take up less screen space. This is distinct from the Content Warning feature",
+  "settings.enable_content_warnings_auto_unfold": "Automatically unfold content-warnings",
+  "settings.filters": "Filters",
+  "settings.general": "General",
+  "settings.hicolor_privacy_icons": "High color privacy icons",
+  "settings.hicolor_privacy_icons.hint": "Display privacy icons in bright and easily distinguishable colors",
+  "settings.image_backgrounds": "Image backgrounds",
+  "settings.image_backgrounds_media": "Preview collapsed toot media",
+  "settings.image_backgrounds_media_hint": "If the post has any media attachment, use the first one as a background",
+  "settings.image_backgrounds_users": "Give collapsed toots an image background",
+  "settings.inline_preview_cards": "Inline preview cards for external links",
+  "settings.layout": "Layout:",
+  "settings.layout_opts": "Layout options",
+  "settings.media": "Media",
+  "settings.media_fullwidth": "Full-width media previews",
+  "settings.media_letterbox": "Letterbox media",
+  "settings.media_letterbox_hint": "Scale down and letterbox media to fill the image containers instead of stretching and cropping them",
+  "settings.media_reveal_behind_cw": "Reveal sensitive media behind a CW by default",
+  "settings.notifications.favicon_badge": "Unread notifications favicon badge",
+  "settings.notifications.favicon_badge.hint": "Add a badge for unread notifications to the favicon",
+  "settings.notifications.tab_badge": "Unread notifications badge",
+  "settings.notifications.tab_badge.hint": "Display a badge for unread notifications in the column icons when the notifications column isn't open",
+  "settings.notifications_opts": "Notifications options",
+  "settings.pop_in_left": "Left",
+  "settings.pop_in_player": "Enable pop-in player",
+  "settings.pop_in_position": "Pop-in player position:",
+  "settings.pop_in_right": "Right",
+  "settings.preferences": "Preferences",
+  "settings.prepend_cw_re": "Prepend “re: ” to content warnings when replying",
+  "settings.preselect_on_reply": "Pre-select usernames on reply",
+  "settings.preselect_on_reply_hint": "When replying to a conversation with multiple participants, pre-select usernames past the first",
+  "settings.rewrite_mentions": "Rewrite mentions in displayed statuses",
+  "settings.rewrite_mentions_acct": "Rewrite with username and domain (when the account is remote)",
+  "settings.rewrite_mentions_no": "Do not rewrite mentions",
+  "settings.rewrite_mentions_username": "Rewrite with username",
+  "settings.shared_settings_link": "user preferences",
+  "settings.show_action_bar": "Show action buttons in collapsed toots",
+  "settings.show_content_type_choice": "Show content-type choice when authoring toots",
+  "settings.show_reply_counter": "Display an estimate of the reply count",
+  "settings.side_arm": "Secondary toot button:",
+  "settings.side_arm.none": "None",
+  "settings.side_arm_reply_mode": "When replying to a toot, the secondary toot button should:",
+  "settings.side_arm_reply_mode.copy": "Copy privacy setting of the toot being replied to",
+  "settings.side_arm_reply_mode.keep": "Keep its set privacy",
+  "settings.side_arm_reply_mode.restrict": "Restrict privacy setting to that of the toot being replied to",
+  "settings.status_icons": "Toot icons",
+  "settings.status_icons_language": "Language indicator",
+  "settings.status_icons_local_only": "Local-only indicator",
+  "settings.status_icons_media": "Media and poll indicators",
+  "settings.status_icons_reply": "Reply indicator",
+  "settings.status_icons_visibility": "Toot privacy indicator",
+  "settings.swipe_to_change_columns": "Allow swiping to change columns (Mobile only)",
+  "settings.tag_misleading_links": "Tag misleading links",
+  "settings.tag_misleading_links.hint": "Add a visual indication with the link target host to every link not mentioning it explicitly",
+  "settings.wide_view": "Wide view (Desktop mode only)",
+  "settings.wide_view_hint": "Stretches columns to better fill the available space.",
+  "status.collapse": "Collapse",
+  "status.has_audio": "Features attached audio files",
+  "status.has_pictures": "Features attached pictures",
+  "status.has_preview_card": "Features an attached preview card",
+  "status.has_video": "Features attached videos",
+  "status.in_reply_to": "This toot is a reply",
+  "status.is_poll": "This toot is a poll",
+  "status.local_only": "Only visible from your instance",
+  "status.sensitive_toggle": "Click to view",
+  "status.uncollapse": "Uncollapse",
+  "web_app_crash.change_your_settings": "Change your {settings}",
+  "web_app_crash.content": "You could try any of the following:",
+  "web_app_crash.debug_info": "Debug information",
+  "web_app_crash.disable_addons": "Disable browser add-ons or built-in translation tools",
+  "web_app_crash.issue_tracker": "issue tracker",
+  "web_app_crash.reload": "Reload",
+  "web_app_crash.reload_page": "{reload} the current page",
+  "web_app_crash.report_issue": "Report a bug in the {issuetracker}",
+  "web_app_crash.settings": "settings",
+  "web_app_crash.title": "We're sorry, but something went wrong with the Mastodon app."
+}
diff --git a/app/javascript/flavours/glitch/locales/ta.json b/app/javascript/flavours/glitch/locales/ta.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ta.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/tai.json b/app/javascript/flavours/glitch/locales/tai.json
new file mode 100644
index 000000000..807ed8207
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/tai.json
@@ -0,0 +1,201 @@
+{
+  "about.fork_disclaimer": "Glitch-soc is free open source software forked from Mastodon.",
+  "account.add_account_note": "Add note for @{name}",
+  "account.disclaimer_full": "Information below may reflect the user's profile incompletely.",
+  "account.follows": "Follows",
+  "account.joined": "Joined {date}",
+  "account.suspended_disclaimer_full": "This user has been suspended by a moderator.",
+  "account.view_full_profile": "View full profile",
+  "account_note.cancel": "Cancel",
+  "account_note.edit": "Edit",
+  "account_note.glitch_placeholder": "No comment provided",
+  "account_note.save": "Save",
+  "advanced_options.icon_title": "Advanced options",
+  "advanced_options.local-only.long": "Do not post to other instances",
+  "advanced_options.local-only.short": "Local-only",
+  "advanced_options.local-only.tooltip": "This post is local-only",
+  "advanced_options.threaded_mode.long": "Automatically opens a reply on posting",
+  "advanced_options.threaded_mode.short": "Threaded mode",
+  "advanced_options.threaded_mode.tooltip": "Threaded mode enabled",
+  "boost_modal.missing_description": "This toot contains some media without description",
+  "column.favourited_by": "Favourited by",
+  "column.heading": "Misc",
+  "column.reblogged_by": "Boosted by",
+  "column.subheading": "Miscellaneous options",
+  "column_header.profile": "Profile",
+  "column_subheading.lists": "Lists",
+  "column_subheading.navigation": "Navigation",
+  "community.column_settings.allow_local_only": "Show local-only toots",
+  "compose.attach": "Attach...",
+  "compose.attach.doodle": "Draw something",
+  "compose.attach.upload": "Upload a file",
+  "compose.content-type.html": "HTML",
+  "compose.content-type.markdown": "Markdown",
+  "compose.content-type.plain": "Plain text",
+  "compose_form.poll.multiple_choices": "Allow multiple choices",
+  "compose_form.poll.single_choice": "Allow one choice",
+  "compose_form.spoiler": "Hide text behind warning",
+  "confirmation_modal.do_not_ask_again": "Do not ask for confirmation again",
+  "confirmations.deprecated_settings.confirm": "Use Mastodon preferences",
+  "confirmations.deprecated_settings.message": "Some of the glitch-soc device-specific {app_settings} you are using have been replaced by Mastodon {preferences} and will be overriden:",
+  "confirmations.missing_media_description.confirm": "Send anyway",
+  "confirmations.missing_media_description.edit": "Edit media",
+  "confirmations.missing_media_description.message": "At least one media attachment is lacking a description. Consider describing all media attachments for the visually impaired before sending your toot.",
+  "confirmations.unfilter.author": "Author",
+  "confirmations.unfilter.confirm": "Show",
+  "confirmations.unfilter.edit_filter": "Edit filter",
+  "confirmations.unfilter.filters": "Matching {count, plural, one {filter} other {filters}}",
+  "content-type.change": "Content type",
+  "direct.group_by_conversations": "Group by conversation",
+  "endorsed_accounts_editor.endorsed_accounts": "Featured accounts",
+  "favourite_modal.combo": "You can press {combo} to skip this next time",
+  "getting_started.onboarding": "Show me around",
+  "home.column_settings.advanced": "Advanced",
+  "home.column_settings.filter_regex": "Filter out by regular expressions",
+  "home.column_settings.show_direct": "Show DMs",
+  "home.settings": "Column settings",
+  "keyboard_shortcuts.bookmark": "to bookmark",
+  "keyboard_shortcuts.secondary_toot": "to send toot using secondary privacy setting",
+  "keyboard_shortcuts.toggle_collapse": "to collapse/uncollapse toots",
+  "layout.auto": "Auto",
+  "layout.desktop": "Desktop",
+  "layout.hint.auto": "Automatically chose layout based on “Enable advanced web interface” setting and screen size.",
+  "layout.hint.desktop": "Use multiple-column layout regardless of the “Enable advanced web interface” setting or screen size.",
+  "layout.hint.single": "Use single-column layout regardless of the “Enable advanced web interface” setting or screen size.",
+  "layout.single": "Mobile",
+  "media_gallery.sensitive": "Sensitive",
+  "moved_to_warning": "This account is marked as moved to {moved_to_link}, and may thus not accept new follows.",
+  "navigation_bar.app_settings": "App settings",
+  "navigation_bar.featured_users": "Featured users",
+  "navigation_bar.info": "Extended information",
+  "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.misc": "Misc",
+  "notification.markForDeletion": "Mark for deletion",
+  "notification_purge.btn_all": "Select\nall",
+  "notification_purge.btn_apply": "Clear\nselected",
+  "notification_purge.btn_invert": "Invert\nselection",
+  "notification_purge.btn_none": "Select\nnone",
+  "notification_purge.start": "Enter notification cleaning mode",
+  "notifications.marked_clear": "Clear selected notifications",
+  "notifications.marked_clear_confirmation": "Are you sure you want to permanently clear all selected notifications?",
+  "onboarding.done": "Done",
+  "onboarding.next": "Next",
+  "onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
+  "onboarding.page_four.home": "The home timeline shows posts from people you follow.",
+  "onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
+  "onboarding.page_one.federation": "{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.handle": "You are on {domain}, so your full handle is {handle}",
+  "onboarding.page_one.welcome": "Welcome to {domain}!",
+  "onboarding.page_six.admin": "Your instance's admin is {admin}.",
+  "onboarding.page_six.almost_done": "Almost done...",
+  "onboarding.page_six.appetoot": "Bon Appetoot!",
+  "onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
+  "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}.",
+  "onboarding.page_six.guidelines": "community guidelines",
+  "onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
+  "onboarding.page_six.various_app": "mobile apps",
+  "onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
+  "onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
+  "onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
+  "onboarding.skip": "Skip",
+  "settings.always_show_spoilers_field": "Always enable the Content Warning field",
+  "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.close": "Close",
+  "settings.collapsed_statuses": "Collapsed toots",
+  "settings.compose_box_opts": "Compose box",
+  "settings.confirm_before_clearing_draft": "Show confirmation dialog before overwriting the message being composed",
+  "settings.confirm_boost_missing_media_description": "Show confirmation dialog before boosting toots lacking media descriptions",
+  "settings.confirm_missing_media_description": "Show confirmation dialog before sending toots lacking media descriptions",
+  "settings.content_warnings": "Content warnings",
+  "settings.content_warnings.regexp": "Regular expression",
+  "settings.content_warnings_filter": "Content warnings to not automatically unfold:",
+  "settings.content_warnings_media_outside": "Display media attachments outside content warnings",
+  "settings.content_warnings_media_outside_hint": "Reproduce upstream Mastodon behavior by having the Content Warning toggle not affect media attachments",
+  "settings.content_warnings_shared_state": "Show/hide content of all copies at once",
+  "settings.content_warnings_shared_state_hint": "Reproduce upstream Mastodon behavior by having the Content Warning button affect all copies of a post at once. This will prevent automatic collapsing of any copy of a toot with unfolded CW",
+  "settings.content_warnings_unfold_opts": "Auto-unfolding options",
+  "settings.deprecated_setting": "This setting is now controlled from Mastodon's {settings_page_link}",
+  "settings.enable_collapsed": "Enable collapsed toots",
+  "settings.enable_collapsed_hint": "Collapsed posts have parts of their contents hidden to take up less screen space. This is distinct from the Content Warning feature",
+  "settings.enable_content_warnings_auto_unfold": "Automatically unfold content-warnings",
+  "settings.filters": "Filters",
+  "settings.general": "General",
+  "settings.hicolor_privacy_icons": "High color privacy icons",
+  "settings.hicolor_privacy_icons.hint": "Display privacy icons in bright and easily distinguishable colors",
+  "settings.image_backgrounds": "Image backgrounds",
+  "settings.image_backgrounds_media": "Preview collapsed toot media",
+  "settings.image_backgrounds_media_hint": "If the post has any media attachment, use the first one as a background",
+  "settings.image_backgrounds_users": "Give collapsed toots an image background",
+  "settings.inline_preview_cards": "Inline preview cards for external links",
+  "settings.layout": "Layout:",
+  "settings.layout_opts": "Layout options",
+  "settings.media": "Media",
+  "settings.media_fullwidth": "Full-width media previews",
+  "settings.media_letterbox": "Letterbox media",
+  "settings.media_letterbox_hint": "Scale down and letterbox media to fill the image containers instead of stretching and cropping them",
+  "settings.media_reveal_behind_cw": "Reveal sensitive media behind a CW by default",
+  "settings.notifications.favicon_badge": "Unread notifications favicon badge",
+  "settings.notifications.favicon_badge.hint": "Add a badge for unread notifications to the favicon",
+  "settings.notifications.tab_badge": "Unread notifications badge",
+  "settings.notifications.tab_badge.hint": "Display a badge for unread notifications in the column icons when the notifications column isn't open",
+  "settings.notifications_opts": "Notifications options",
+  "settings.pop_in_left": "Left",
+  "settings.pop_in_player": "Enable pop-in player",
+  "settings.pop_in_position": "Pop-in player position:",
+  "settings.pop_in_right": "Right",
+  "settings.preferences": "Preferences",
+  "settings.prepend_cw_re": "Prepend “re: ” to content warnings when replying",
+  "settings.preselect_on_reply": "Pre-select usernames on reply",
+  "settings.preselect_on_reply_hint": "When replying to a conversation with multiple participants, pre-select usernames past the first",
+  "settings.rewrite_mentions": "Rewrite mentions in displayed statuses",
+  "settings.rewrite_mentions_acct": "Rewrite with username and domain (when the account is remote)",
+  "settings.rewrite_mentions_no": "Do not rewrite mentions",
+  "settings.rewrite_mentions_username": "Rewrite with username",
+  "settings.shared_settings_link": "user preferences",
+  "settings.show_action_bar": "Show action buttons in collapsed toots",
+  "settings.show_content_type_choice": "Show content-type choice when authoring toots",
+  "settings.show_reply_counter": "Display an estimate of the reply count",
+  "settings.side_arm": "Secondary toot button:",
+  "settings.side_arm.none": "None",
+  "settings.side_arm_reply_mode": "When replying to a toot, the secondary toot button should:",
+  "settings.side_arm_reply_mode.copy": "Copy privacy setting of the toot being replied to",
+  "settings.side_arm_reply_mode.keep": "Keep its set privacy",
+  "settings.side_arm_reply_mode.restrict": "Restrict privacy setting to that of the toot being replied to",
+  "settings.status_icons": "Toot icons",
+  "settings.status_icons_language": "Language indicator",
+  "settings.status_icons_local_only": "Local-only indicator",
+  "settings.status_icons_media": "Media and poll indicators",
+  "settings.status_icons_reply": "Reply indicator",
+  "settings.status_icons_visibility": "Toot privacy indicator",
+  "settings.swipe_to_change_columns": "Allow swiping to change columns (Mobile only)",
+  "settings.tag_misleading_links": "Tag misleading links",
+  "settings.tag_misleading_links.hint": "Add a visual indication with the link target host to every link not mentioning it explicitly",
+  "settings.wide_view": "Wide view (Desktop mode only)",
+  "settings.wide_view_hint": "Stretches columns to better fill the available space.",
+  "status.collapse": "Collapse",
+  "status.has_audio": "Features attached audio files",
+  "status.has_pictures": "Features attached pictures",
+  "status.has_preview_card": "Features an attached preview card",
+  "status.has_video": "Features attached videos",
+  "status.in_reply_to": "This toot is a reply",
+  "status.is_poll": "This toot is a poll",
+  "status.local_only": "Only visible from your instance",
+  "status.sensitive_toggle": "Click to view",
+  "status.uncollapse": "Uncollapse",
+  "web_app_crash.change_your_settings": "Change your {settings}",
+  "web_app_crash.content": "You could try any of the following:",
+  "web_app_crash.debug_info": "Debug information",
+  "web_app_crash.disable_addons": "Disable browser add-ons or built-in translation tools",
+  "web_app_crash.issue_tracker": "issue tracker",
+  "web_app_crash.reload": "Reload",
+  "web_app_crash.reload_page": "{reload} the current page",
+  "web_app_crash.report_issue": "Report a bug in the {issuetracker}",
+  "web_app_crash.settings": "settings",
+  "web_app_crash.title": "We're sorry, but something went wrong with the Mastodon app."
+}
diff --git a/app/javascript/flavours/glitch/locales/te.json b/app/javascript/flavours/glitch/locales/te.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/te.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/th.json b/app/javascript/flavours/glitch/locales/th.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/th.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/tr.json b/app/javascript/flavours/glitch/locales/tr.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/tr.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/tt.json b/app/javascript/flavours/glitch/locales/tt.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/tt.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/ug.json b/app/javascript/flavours/glitch/locales/ug.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ug.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/uk.json b/app/javascript/flavours/glitch/locales/uk.json
new file mode 100644
index 000000000..b21584659
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/uk.json
@@ -0,0 +1,48 @@
+{
+  "advanced_options.local-only.long": "Не дмухати це на інші сервери",
+  "advanced_options.local-only.short": "Лише локальне",
+  "advanced_options.local-only.tooltip": "Цей дмух лише локальний",
+  "compose.attach": "Вкласти...",
+  "compose.attach.doodle": "Помалювати",
+  "compose.attach.upload": "Завантажити сюди файл",
+  "favourite_modal.combo": "Ви можете натиснути {combo}, щоб пропустити це наступного разу",
+  "getting_started.onboarding": "Шо тут",
+  "home.column_settings.show_direct": "Показати прямі повідомлення",
+  "layout.auto": "Автоматичний",
+  "layout.desktop": "Настільний",
+  "media_gallery.sensitive": "Чутливі",
+  "navigation_bar.app_settings": "Налаштування програми",
+  "notification.markForDeletion": "Позначити для видалення",
+  "notification_purge.btn_all": "Вибрати\nвсе",
+  "notification_purge.btn_apply": "Очистити\nвибір",
+  "notification_purge.btn_invert": "Інвертувати\nвибір",
+  "notification_purge.btn_none": "Вибрати\nнічого",
+  "notifications.marked_clear": "Очистити вибрані сповіщення",
+  "notifications.marked_clear_confirmation": "Ви впевнені, що хочете незворотньо очистити всі вибрані сповіщення?",
+  "onboarding.page_one.federation": "{domain} є сервером of Mastodon. Mastodon — мережа незалежних серверів, які працюють разом великою соціяльною мережою. Сервери Mastodon також називають „інстансами“.",
+  "onboarding.page_one.welcome": "Ласкаво просимо до {domain}!",
+  "onboarding.page_six.github": "{domain} використовує Glitchsoc. Glitchsoc — дружній {fork} {Mastodon}, сумісний з будь-яким сервером Mastodon або програмою для нього. Glitchsoc повністю вільний та відкритий. Повідомляти про баги, просити фічі, або працювати з кодом можна на {github}.",
+  "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.content_warnings": "Content warnings",
+  "settings.enable_collapsed": "Увімкути згорнутання дмухів",
+  "settings.general": "Основне",
+  "settings.image_backgrounds": "Картинки на тлі",
+  "settings.image_backgrounds_media": "Підглядати медіа зі схованих дмухів",
+  "settings.image_backgrounds_users": "Давати схованим дмухам тло-картинку",
+  "settings.media": "Медіа",
+  "settings.media_fullwidth": "Показувати медіа повною шириною",
+  "settings.media_letterbox": "Обрізати медіа",
+  "settings.preferences": "Користувацькі налаштування",
+  "settings.show_action_bar": "Показувати кнопки у згорнутих дмухах",
+  "settings.wide_view": "Широкий вид (тільки в режимі для комп'ютерів)",
+  "status.collapse": "Згорнути",
+  "status.uncollapse": "Розгорнути"
+}
diff --git a/app/javascript/flavours/glitch/locales/ur.json b/app/javascript/flavours/glitch/locales/ur.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/ur.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/vi.json b/app/javascript/flavours/glitch/locales/vi.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/vi.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/whitelist_af.json b/app/javascript/flavours/glitch/locales/whitelist_af.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_af.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_ar.json b/app/javascript/flavours/glitch/locales/whitelist_ar.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_ar.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_ast.json b/app/javascript/flavours/glitch/locales/whitelist_ast.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_ast.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_bg.json b/app/javascript/flavours/glitch/locales/whitelist_bg.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_bg.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_bn.json b/app/javascript/flavours/glitch/locales/whitelist_bn.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_bn.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_br.json b/app/javascript/flavours/glitch/locales/whitelist_br.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_br.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_ca.json b/app/javascript/flavours/glitch/locales/whitelist_ca.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_ca.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_ckb.json b/app/javascript/flavours/glitch/locales/whitelist_ckb.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_ckb.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_co.json b/app/javascript/flavours/glitch/locales/whitelist_co.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_co.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_cs.json b/app/javascript/flavours/glitch/locales/whitelist_cs.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_cs.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_cy.json b/app/javascript/flavours/glitch/locales/whitelist_cy.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_cy.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_da.json b/app/javascript/flavours/glitch/locales/whitelist_da.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_da.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_de.json b/app/javascript/flavours/glitch/locales/whitelist_de.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_de.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_el.json b/app/javascript/flavours/glitch/locales/whitelist_el.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_el.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_en.json b/app/javascript/flavours/glitch/locales/whitelist_en.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_en.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_eo.json b/app/javascript/flavours/glitch/locales/whitelist_eo.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_eo.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_es-AR.json b/app/javascript/flavours/glitch/locales/whitelist_es-AR.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_es-AR.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_es-MX.json b/app/javascript/flavours/glitch/locales/whitelist_es-MX.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_es-MX.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_es.json b/app/javascript/flavours/glitch/locales/whitelist_es.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_es.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_et.json b/app/javascript/flavours/glitch/locales/whitelist_et.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_et.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_eu.json b/app/javascript/flavours/glitch/locales/whitelist_eu.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_eu.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_fa.json b/app/javascript/flavours/glitch/locales/whitelist_fa.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_fa.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_fi.json b/app/javascript/flavours/glitch/locales/whitelist_fi.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_fi.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_fr.json b/app/javascript/flavours/glitch/locales/whitelist_fr.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_fr.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_ga.json b/app/javascript/flavours/glitch/locales/whitelist_ga.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_ga.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_gd.json b/app/javascript/flavours/glitch/locales/whitelist_gd.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_gd.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_gl.json b/app/javascript/flavours/glitch/locales/whitelist_gl.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_gl.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_he.json b/app/javascript/flavours/glitch/locales/whitelist_he.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_he.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_hi.json b/app/javascript/flavours/glitch/locales/whitelist_hi.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_hi.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_hr.json b/app/javascript/flavours/glitch/locales/whitelist_hr.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_hr.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_hu.json b/app/javascript/flavours/glitch/locales/whitelist_hu.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_hu.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_hy.json b/app/javascript/flavours/glitch/locales/whitelist_hy.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_hy.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_id.json b/app/javascript/flavours/glitch/locales/whitelist_id.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_id.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_io.json b/app/javascript/flavours/glitch/locales/whitelist_io.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_io.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_is.json b/app/javascript/flavours/glitch/locales/whitelist_is.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_is.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_it.json b/app/javascript/flavours/glitch/locales/whitelist_it.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_it.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_ja.json b/app/javascript/flavours/glitch/locales/whitelist_ja.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_ja.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_ka.json b/app/javascript/flavours/glitch/locales/whitelist_ka.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_ka.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_kab.json b/app/javascript/flavours/glitch/locales/whitelist_kab.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_kab.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_kk.json b/app/javascript/flavours/glitch/locales/whitelist_kk.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_kk.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_kn.json b/app/javascript/flavours/glitch/locales/whitelist_kn.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_kn.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_ko.json b/app/javascript/flavours/glitch/locales/whitelist_ko.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_ko.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_ku.json b/app/javascript/flavours/glitch/locales/whitelist_ku.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_ku.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_kw.json b/app/javascript/flavours/glitch/locales/whitelist_kw.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_kw.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_lt.json b/app/javascript/flavours/glitch/locales/whitelist_lt.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_lt.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_lv.json b/app/javascript/flavours/glitch/locales/whitelist_lv.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_lv.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_mk.json b/app/javascript/flavours/glitch/locales/whitelist_mk.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_mk.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_ml.json b/app/javascript/flavours/glitch/locales/whitelist_ml.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_ml.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_mr.json b/app/javascript/flavours/glitch/locales/whitelist_mr.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_mr.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_ms.json b/app/javascript/flavours/glitch/locales/whitelist_ms.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_ms.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_nl.json b/app/javascript/flavours/glitch/locales/whitelist_nl.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_nl.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_nn.json b/app/javascript/flavours/glitch/locales/whitelist_nn.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_nn.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_no.json b/app/javascript/flavours/glitch/locales/whitelist_no.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_no.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_oc.json b/app/javascript/flavours/glitch/locales/whitelist_oc.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_oc.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_pa.json b/app/javascript/flavours/glitch/locales/whitelist_pa.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_pa.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_pl.json b/app/javascript/flavours/glitch/locales/whitelist_pl.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_pl.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_pt-BR.json b/app/javascript/flavours/glitch/locales/whitelist_pt-BR.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_pt-BR.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_pt-PT.json b/app/javascript/flavours/glitch/locales/whitelist_pt-PT.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_pt-PT.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_ro.json b/app/javascript/flavours/glitch/locales/whitelist_ro.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_ro.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_ru.json b/app/javascript/flavours/glitch/locales/whitelist_ru.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_ru.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_sa.json b/app/javascript/flavours/glitch/locales/whitelist_sa.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_sa.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_sc.json b/app/javascript/flavours/glitch/locales/whitelist_sc.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_sc.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_si.json b/app/javascript/flavours/glitch/locales/whitelist_si.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_si.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_sk.json b/app/javascript/flavours/glitch/locales/whitelist_sk.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_sk.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_sl.json b/app/javascript/flavours/glitch/locales/whitelist_sl.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_sl.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_sq.json b/app/javascript/flavours/glitch/locales/whitelist_sq.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_sq.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_sr-Latn.json b/app/javascript/flavours/glitch/locales/whitelist_sr-Latn.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_sr-Latn.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_sr.json b/app/javascript/flavours/glitch/locales/whitelist_sr.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_sr.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_sv.json b/app/javascript/flavours/glitch/locales/whitelist_sv.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_sv.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_szl.json b/app/javascript/flavours/glitch/locales/whitelist_szl.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_szl.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_ta.json b/app/javascript/flavours/glitch/locales/whitelist_ta.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_ta.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_tai.json b/app/javascript/flavours/glitch/locales/whitelist_tai.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_tai.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_te.json b/app/javascript/flavours/glitch/locales/whitelist_te.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_te.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_th.json b/app/javascript/flavours/glitch/locales/whitelist_th.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_th.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_tr.json b/app/javascript/flavours/glitch/locales/whitelist_tr.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_tr.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_tt.json b/app/javascript/flavours/glitch/locales/whitelist_tt.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_tt.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_ug.json b/app/javascript/flavours/glitch/locales/whitelist_ug.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_ug.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_uk.json b/app/javascript/flavours/glitch/locales/whitelist_uk.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_uk.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_ur.json b/app/javascript/flavours/glitch/locales/whitelist_ur.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_ur.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_vi.json b/app/javascript/flavours/glitch/locales/whitelist_vi.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_vi.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_zgh.json b/app/javascript/flavours/glitch/locales/whitelist_zgh.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_zgh.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_zh-CN.json b/app/javascript/flavours/glitch/locales/whitelist_zh-CN.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_zh-CN.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_zh-HK.json b/app/javascript/flavours/glitch/locales/whitelist_zh-HK.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_zh-HK.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/whitelist_zh-TW.json b/app/javascript/flavours/glitch/locales/whitelist_zh-TW.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/whitelist_zh-TW.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/app/javascript/flavours/glitch/locales/zgh.json b/app/javascript/flavours/glitch/locales/zgh.json
new file mode 100644
index 000000000..807ed8207
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/zgh.json
@@ -0,0 +1,201 @@
+{
+  "about.fork_disclaimer": "Glitch-soc is free open source software forked from Mastodon.",
+  "account.add_account_note": "Add note for @{name}",
+  "account.disclaimer_full": "Information below may reflect the user's profile incompletely.",
+  "account.follows": "Follows",
+  "account.joined": "Joined {date}",
+  "account.suspended_disclaimer_full": "This user has been suspended by a moderator.",
+  "account.view_full_profile": "View full profile",
+  "account_note.cancel": "Cancel",
+  "account_note.edit": "Edit",
+  "account_note.glitch_placeholder": "No comment provided",
+  "account_note.save": "Save",
+  "advanced_options.icon_title": "Advanced options",
+  "advanced_options.local-only.long": "Do not post to other instances",
+  "advanced_options.local-only.short": "Local-only",
+  "advanced_options.local-only.tooltip": "This post is local-only",
+  "advanced_options.threaded_mode.long": "Automatically opens a reply on posting",
+  "advanced_options.threaded_mode.short": "Threaded mode",
+  "advanced_options.threaded_mode.tooltip": "Threaded mode enabled",
+  "boost_modal.missing_description": "This toot contains some media without description",
+  "column.favourited_by": "Favourited by",
+  "column.heading": "Misc",
+  "column.reblogged_by": "Boosted by",
+  "column.subheading": "Miscellaneous options",
+  "column_header.profile": "Profile",
+  "column_subheading.lists": "Lists",
+  "column_subheading.navigation": "Navigation",
+  "community.column_settings.allow_local_only": "Show local-only toots",
+  "compose.attach": "Attach...",
+  "compose.attach.doodle": "Draw something",
+  "compose.attach.upload": "Upload a file",
+  "compose.content-type.html": "HTML",
+  "compose.content-type.markdown": "Markdown",
+  "compose.content-type.plain": "Plain text",
+  "compose_form.poll.multiple_choices": "Allow multiple choices",
+  "compose_form.poll.single_choice": "Allow one choice",
+  "compose_form.spoiler": "Hide text behind warning",
+  "confirmation_modal.do_not_ask_again": "Do not ask for confirmation again",
+  "confirmations.deprecated_settings.confirm": "Use Mastodon preferences",
+  "confirmations.deprecated_settings.message": "Some of the glitch-soc device-specific {app_settings} you are using have been replaced by Mastodon {preferences} and will be overriden:",
+  "confirmations.missing_media_description.confirm": "Send anyway",
+  "confirmations.missing_media_description.edit": "Edit media",
+  "confirmations.missing_media_description.message": "At least one media attachment is lacking a description. Consider describing all media attachments for the visually impaired before sending your toot.",
+  "confirmations.unfilter.author": "Author",
+  "confirmations.unfilter.confirm": "Show",
+  "confirmations.unfilter.edit_filter": "Edit filter",
+  "confirmations.unfilter.filters": "Matching {count, plural, one {filter} other {filters}}",
+  "content-type.change": "Content type",
+  "direct.group_by_conversations": "Group by conversation",
+  "endorsed_accounts_editor.endorsed_accounts": "Featured accounts",
+  "favourite_modal.combo": "You can press {combo} to skip this next time",
+  "getting_started.onboarding": "Show me around",
+  "home.column_settings.advanced": "Advanced",
+  "home.column_settings.filter_regex": "Filter out by regular expressions",
+  "home.column_settings.show_direct": "Show DMs",
+  "home.settings": "Column settings",
+  "keyboard_shortcuts.bookmark": "to bookmark",
+  "keyboard_shortcuts.secondary_toot": "to send toot using secondary privacy setting",
+  "keyboard_shortcuts.toggle_collapse": "to collapse/uncollapse toots",
+  "layout.auto": "Auto",
+  "layout.desktop": "Desktop",
+  "layout.hint.auto": "Automatically chose layout based on “Enable advanced web interface” setting and screen size.",
+  "layout.hint.desktop": "Use multiple-column layout regardless of the “Enable advanced web interface” setting or screen size.",
+  "layout.hint.single": "Use single-column layout regardless of the “Enable advanced web interface” setting or screen size.",
+  "layout.single": "Mobile",
+  "media_gallery.sensitive": "Sensitive",
+  "moved_to_warning": "This account is marked as moved to {moved_to_link}, and may thus not accept new follows.",
+  "navigation_bar.app_settings": "App settings",
+  "navigation_bar.featured_users": "Featured users",
+  "navigation_bar.info": "Extended information",
+  "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
+  "navigation_bar.misc": "Misc",
+  "notification.markForDeletion": "Mark for deletion",
+  "notification_purge.btn_all": "Select\nall",
+  "notification_purge.btn_apply": "Clear\nselected",
+  "notification_purge.btn_invert": "Invert\nselection",
+  "notification_purge.btn_none": "Select\nnone",
+  "notification_purge.start": "Enter notification cleaning mode",
+  "notifications.marked_clear": "Clear selected notifications",
+  "notifications.marked_clear_confirmation": "Are you sure you want to permanently clear all selected notifications?",
+  "onboarding.done": "Done",
+  "onboarding.next": "Next",
+  "onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
+  "onboarding.page_four.home": "The home timeline shows posts from people you follow.",
+  "onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
+  "onboarding.page_one.federation": "{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.handle": "You are on {domain}, so your full handle is {handle}",
+  "onboarding.page_one.welcome": "Welcome to {domain}!",
+  "onboarding.page_six.admin": "Your instance's admin is {admin}.",
+  "onboarding.page_six.almost_done": "Almost done...",
+  "onboarding.page_six.appetoot": "Bon Appetoot!",
+  "onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
+  "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}.",
+  "onboarding.page_six.guidelines": "community guidelines",
+  "onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
+  "onboarding.page_six.various_app": "mobile apps",
+  "onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
+  "onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
+  "onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
+  "onboarding.skip": "Skip",
+  "settings.always_show_spoilers_field": "Always enable the Content Warning field",
+  "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.close": "Close",
+  "settings.collapsed_statuses": "Collapsed toots",
+  "settings.compose_box_opts": "Compose box",
+  "settings.confirm_before_clearing_draft": "Show confirmation dialog before overwriting the message being composed",
+  "settings.confirm_boost_missing_media_description": "Show confirmation dialog before boosting toots lacking media descriptions",
+  "settings.confirm_missing_media_description": "Show confirmation dialog before sending toots lacking media descriptions",
+  "settings.content_warnings": "Content warnings",
+  "settings.content_warnings.regexp": "Regular expression",
+  "settings.content_warnings_filter": "Content warnings to not automatically unfold:",
+  "settings.content_warnings_media_outside": "Display media attachments outside content warnings",
+  "settings.content_warnings_media_outside_hint": "Reproduce upstream Mastodon behavior by having the Content Warning toggle not affect media attachments",
+  "settings.content_warnings_shared_state": "Show/hide content of all copies at once",
+  "settings.content_warnings_shared_state_hint": "Reproduce upstream Mastodon behavior by having the Content Warning button affect all copies of a post at once. This will prevent automatic collapsing of any copy of a toot with unfolded CW",
+  "settings.content_warnings_unfold_opts": "Auto-unfolding options",
+  "settings.deprecated_setting": "This setting is now controlled from Mastodon's {settings_page_link}",
+  "settings.enable_collapsed": "Enable collapsed toots",
+  "settings.enable_collapsed_hint": "Collapsed posts have parts of their contents hidden to take up less screen space. This is distinct from the Content Warning feature",
+  "settings.enable_content_warnings_auto_unfold": "Automatically unfold content-warnings",
+  "settings.filters": "Filters",
+  "settings.general": "General",
+  "settings.hicolor_privacy_icons": "High color privacy icons",
+  "settings.hicolor_privacy_icons.hint": "Display privacy icons in bright and easily distinguishable colors",
+  "settings.image_backgrounds": "Image backgrounds",
+  "settings.image_backgrounds_media": "Preview collapsed toot media",
+  "settings.image_backgrounds_media_hint": "If the post has any media attachment, use the first one as a background",
+  "settings.image_backgrounds_users": "Give collapsed toots an image background",
+  "settings.inline_preview_cards": "Inline preview cards for external links",
+  "settings.layout": "Layout:",
+  "settings.layout_opts": "Layout options",
+  "settings.media": "Media",
+  "settings.media_fullwidth": "Full-width media previews",
+  "settings.media_letterbox": "Letterbox media",
+  "settings.media_letterbox_hint": "Scale down and letterbox media to fill the image containers instead of stretching and cropping them",
+  "settings.media_reveal_behind_cw": "Reveal sensitive media behind a CW by default",
+  "settings.notifications.favicon_badge": "Unread notifications favicon badge",
+  "settings.notifications.favicon_badge.hint": "Add a badge for unread notifications to the favicon",
+  "settings.notifications.tab_badge": "Unread notifications badge",
+  "settings.notifications.tab_badge.hint": "Display a badge for unread notifications in the column icons when the notifications column isn't open",
+  "settings.notifications_opts": "Notifications options",
+  "settings.pop_in_left": "Left",
+  "settings.pop_in_player": "Enable pop-in player",
+  "settings.pop_in_position": "Pop-in player position:",
+  "settings.pop_in_right": "Right",
+  "settings.preferences": "Preferences",
+  "settings.prepend_cw_re": "Prepend “re: ” to content warnings when replying",
+  "settings.preselect_on_reply": "Pre-select usernames on reply",
+  "settings.preselect_on_reply_hint": "When replying to a conversation with multiple participants, pre-select usernames past the first",
+  "settings.rewrite_mentions": "Rewrite mentions in displayed statuses",
+  "settings.rewrite_mentions_acct": "Rewrite with username and domain (when the account is remote)",
+  "settings.rewrite_mentions_no": "Do not rewrite mentions",
+  "settings.rewrite_mentions_username": "Rewrite with username",
+  "settings.shared_settings_link": "user preferences",
+  "settings.show_action_bar": "Show action buttons in collapsed toots",
+  "settings.show_content_type_choice": "Show content-type choice when authoring toots",
+  "settings.show_reply_counter": "Display an estimate of the reply count",
+  "settings.side_arm": "Secondary toot button:",
+  "settings.side_arm.none": "None",
+  "settings.side_arm_reply_mode": "When replying to a toot, the secondary toot button should:",
+  "settings.side_arm_reply_mode.copy": "Copy privacy setting of the toot being replied to",
+  "settings.side_arm_reply_mode.keep": "Keep its set privacy",
+  "settings.side_arm_reply_mode.restrict": "Restrict privacy setting to that of the toot being replied to",
+  "settings.status_icons": "Toot icons",
+  "settings.status_icons_language": "Language indicator",
+  "settings.status_icons_local_only": "Local-only indicator",
+  "settings.status_icons_media": "Media and poll indicators",
+  "settings.status_icons_reply": "Reply indicator",
+  "settings.status_icons_visibility": "Toot privacy indicator",
+  "settings.swipe_to_change_columns": "Allow swiping to change columns (Mobile only)",
+  "settings.tag_misleading_links": "Tag misleading links",
+  "settings.tag_misleading_links.hint": "Add a visual indication with the link target host to every link not mentioning it explicitly",
+  "settings.wide_view": "Wide view (Desktop mode only)",
+  "settings.wide_view_hint": "Stretches columns to better fill the available space.",
+  "status.collapse": "Collapse",
+  "status.has_audio": "Features attached audio files",
+  "status.has_pictures": "Features attached pictures",
+  "status.has_preview_card": "Features an attached preview card",
+  "status.has_video": "Features attached videos",
+  "status.in_reply_to": "This toot is a reply",
+  "status.is_poll": "This toot is a poll",
+  "status.local_only": "Only visible from your instance",
+  "status.sensitive_toggle": "Click to view",
+  "status.uncollapse": "Uncollapse",
+  "web_app_crash.change_your_settings": "Change your {settings}",
+  "web_app_crash.content": "You could try any of the following:",
+  "web_app_crash.debug_info": "Debug information",
+  "web_app_crash.disable_addons": "Disable browser add-ons or built-in translation tools",
+  "web_app_crash.issue_tracker": "issue tracker",
+  "web_app_crash.reload": "Reload",
+  "web_app_crash.reload_page": "{reload} the current page",
+  "web_app_crash.report_issue": "Report a bug in the {issuetracker}",
+  "web_app_crash.settings": "settings",
+  "web_app_crash.title": "We're sorry, but something went wrong with the Mastodon app."
+}
diff --git a/app/javascript/flavours/glitch/locales/zh-CN.json b/app/javascript/flavours/glitch/locales/zh-CN.json
new file mode 100644
index 000000000..a8e604bef
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/zh-CN.json
@@ -0,0 +1,200 @@
+{
+  "about.fork_disclaimer": "Glitch-soc是从Mastodon派生的免费开源软件。",
+  "account.add_account_note": "为 @{name} 添加备注",
+  "account.disclaimer_full": "以下信息可能无法完整代表你的个人资料。",
+  "account.follows": "正在关注",
+  "account.joined": "在 {date} 加入",
+  "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_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.deprecated_settings.confirm": "使用 Mastodon 偏好设置",
+  "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.unfilter.author": "作者",
+  "confirmations.unfilter.confirm": "查看",
+  "confirmations.unfilter.edit_filter": "编辑过滤器",
+  "confirmations.unfilter.filters": "应用 {count, plural, one {过滤器} other {过滤器}}",
+  "content-type.change": "内容类型 ",
+  "direct.group_by_conversations": "以对话分组",
+  "endorsed_accounts_editor.endorsed_accounts": "推荐用户",
+  "favourite_modal.combo": "下次你可以按 {combo} 跳过这个",
+  "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": "折叠或展开嘟文",
+  "layout.auto": "自动模式",
+  "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.keyboard_shortcuts": "键盘快捷键",
+  "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.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_height": "嘟文被视作长嘟文的临界高度(像素)",
+  "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.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_unfold_opts": "自动展开设置项",
+  "settings.deprecated_setting": "此设置现在被 Mastodon 的 {settings_page_link} 控制",
+  "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.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.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.in_reply_to": "此嘟文是回复",
+  "status.is_poll": "此嘟文是投票",
+  "status.local_only": "此嘟文仅本实例可见",
+  "status.sensitive_toggle": "点击查看",
+  "status.uncollapse": "不折叠",
+  "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 出了点问题。"
+}
diff --git a/app/javascript/flavours/glitch/locales/zh-HK.json b/app/javascript/flavours/glitch/locales/zh-HK.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/zh-HK.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}
diff --git a/app/javascript/flavours/glitch/locales/zh-TW.json b/app/javascript/flavours/glitch/locales/zh-TW.json
new file mode 100644
index 000000000..4d243f94c
--- /dev/null
+++ b/app/javascript/flavours/glitch/locales/zh-TW.json
@@ -0,0 +1,6 @@
+{
+  "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.content_warnings": "Content warnings",
+  "settings.preferences": "Preferences"
+}