diff --git a/components/publish/PublishWidget.vue b/components/publish/PublishWidget.vue
index f53560e3..ac1c56d9 100644
--- a/components/publish/PublishWidget.vue
+++ b/components/publish/PublishWidget.vue
@@ -193,7 +193,7 @@ const languageList: {
   name?: string
 }[] = [{
   code: null,
-  nativeName: 'None',
+  nativeName: t('language.none'),
 }, ...ISO6391.getAllCodes().map(code => ({
   code,
   nativeName: ISO6391.getNativeName(code),
@@ -363,7 +363,7 @@ defineExpose({
               <div min-w-80 p3>
                 <input
                   v-model="languageKeyword"
-                  placeholder="Search"
+                  :placeholder="t('language.search')"
                   p2 mb2 border-rounded w-full bg-transparent
                   outline-none border="~ base"
                 >
diff --git a/components/tag/TagActionButton.vue b/components/tag/TagActionButton.vue
index 49020093..3bd13d60 100644
--- a/components/tag/TagActionButton.vue
+++ b/components/tag/TagActionButton.vue
@@ -25,10 +25,10 @@ const toggleFollowTag = async () => {
   <button
     rounded group focus:outline-none
     hover:text-primary focus-visible:text-primary
-    :aria-label="tag.following ? `Unfollow ${tag.name} tag` : `Follow ${tag.name} tag`"
+    :aria-label="tag.following ? $t('tag.unfollow_label', [tag.name]) : $t('tag.follow_label', [tag.name])"
     @click="toggleFollowTag()"
   >
-    <CommonTooltip placement="bottom" :content="tag.following ? 'Unfollow' : 'Follow'">
+    <CommonTooltip placement="bottom" :content="tag.following ? $t('tag.unfollow') : $t('tag.follow')">
       <div rounded-full p2 group-hover="bg-orange/10" group-focus-visible="bg-orange/10" group-focus-visible:ring="2 current">
         <div :class="[tag.following ? 'i-ri:star-fill' : 'i-ri:star-line']" />
       </div>
diff --git a/locales/de-DE.json b/locales/de-DE.json
index e8ac86b7..bf09fede 100644
--- a/locales/de-DE.json
+++ b/locales/de-DE.json
@@ -83,6 +83,10 @@
     "desc_para3": "Doch in der Zwischenzeit kannst du der Entwicklung aushelfen, indem du unsere Teammitglieder durch die unten stehenden Links unterstützt.",
     "title": "Elk ist in der Alpha!"
   },
+  "language": {
+    "none": "Keine",
+    "search": "Suche"
+  },
   "menu": {
     "block_account": "Sperre {0}",
     "block_domain": "Sperre Domain {0}",
@@ -119,9 +123,10 @@
     "local": "Lokal",
     "notifications": "Mitteilungen",
     "profile": "Profil",
-    "search": "Durchsuche",
+    "search": "Suche",
     "select_feature_flags": "Feature-Flags aktivieren",
     "select_language": "Sprache auswählen",
+    "settings": "Einstellungen",
     "show_intro": "Intro anzeigen",
     "toggle_theme": "Farbschema wechseln",
     "zen_mode": "Zen-Modus"
@@ -146,10 +151,51 @@
     "search_desc": "Suche nach Accounts & Hashtags"
   },
   "settings": {
+    "about": {
+      "label": "Info"
+    },
     "feature_flags": {
-      "github_cards": "GitHub Cards",
-      "user_picker": "User Picker",
+      "github_cards": "GitHub-Karten",
+      "title": "Experimentelle Funktionen",
+      "user_picker": "Benutzerauswahl",
       "virtual_scroll": "Virtuelles Scrollen"
+    },
+    "interface": {
+      "color_mode": "Farbschema",
+      "dark_mode": "Dunkles Farbschema",
+      "default": " (Standard)",
+      "font_size": "Schriftgröße",
+      "label": "Oberfläche",
+      "light_mode": "Helles Farbschema"
+    },
+    "language": {
+      "display_language": "Anzeigesprache",
+      "label": "Sprache"
+    },
+    "preferences": {
+      "label": "Einstellungen"
+    },
+    "profile": {
+      "appearance": {
+        "bio": "Bio",
+        "description": "Avatar, Benutzername, Profil, etc. bearbeiten",
+        "display_name": "Anzeigename",
+        "label": "Erscheinungsbild",
+        "profile_metadata": "Profil-Metadaten",
+        "profile_metadata_desc": "Du kannst bis zu vier Einträge als Tabelle in deinem Profil anzeigen lassen",
+        "title": "Profil bearbeiten"
+      },
+      "featured_tags": {
+        "description": "Leute können deine öffentlichen Beiträge mit diesen Hashtags ansehen.",
+        "label": "Ausgewählte Hashtags"
+      },
+      "label": "Profil"
+    },
+    "select_a_settings": "Einstellung auswählen",
+    "users": {
+      "export": "Benutzer-Token exportieren",
+      "import": "Benutzer-Token importieren",
+      "label": "Eingeloggte Benutzer"
     }
   },
   "state": {
@@ -192,6 +238,12 @@
     "posts": "Beiträge",
     "posts_with_replies": "Beiträge und Antworten"
   },
+  "tag": {
+    "follow": "Folgen",
+    "follow_label": "Folge dem {0}-Tag",
+    "unfollow": "Entfolgen",
+    "unfollow_label": "Entfolge dem {0}-Tag"
+  },
   "time_ago_options": {
     "day_future": "in 0 Tagen|morgen|in {n} Tagen",
     "day_past": "vor 0 Tagen|gestern|vor {n} Tagen",
@@ -232,8 +284,9 @@
   },
   "tooltip": {
     "add_content_warning": "Inhaltswarnung hinzufügen",
-    "add_media": "Füge Bilder, ein Video oder eine Audiodatei hinzu",
-    "change_content_visibility": "Ändere die Sichtbarkeit von Inhalten",
+    "add_media": "Bilder, ein Video oder eine Audiodatei hinzufügen",
+    "change_content_visibility": "Sichtbarkeit von Inhalten ändern",
+    "change_language": "Sprache ändern",
     "explore_links_intro": "Diese Nachrichten werden gerade von Leuten auf diesem und anderen Servern des dezentralen Netzwerks besprochen.",
     "explore_posts_intro": "Diese Beiträge von diesem Server gewinnen gerade unter den Leuten von diesem und anderen Servern des dezentralen Netzweks an Reichweite.",
     "explore_tags_intro": "Diese Hashtags gewinnen gerade unter den Leuten von diesem und anderen Servern des dezentralen Netzweks an Reichweite.",
diff --git a/locales/en-US.json b/locales/en-US.json
index a0ee2895..938fd302 100644
--- a/locales/en-US.json
+++ b/locales/en-US.json
@@ -110,6 +110,10 @@
     "desc_para3": "To help boosting out development, you can sponsor our team members with the links below. We hope you enjoy Elk!",
     "title": "Elk is in Preview!"
   },
+  "language": {
+    "none": "None",
+    "search": "Search"
+  },
   "menu": {
     "block_account": "Block {0}",
     "block_domain": "Block domain {0}",
@@ -252,6 +256,8 @@
         "description": "Edit avatar, username, profile, etc.",
         "display_name": "Display name",
         "label": "Appearance",
+        "profile_metadata": "Profile metadata",
+        "profile_metadata_desc": "You can have up to 4 items displayed as a table on your profile",
         "title": "Edit profile"
       },
       "featured_tags": {
@@ -310,6 +316,12 @@
     "posts": "Posts",
     "posts_with_replies": "Posts & Replies"
   },
+  "tag": {
+    "follow": "Follow",
+    "follow_label": "Follow {0} tag",
+    "unfollow": "Unfollow",
+    "unfollow_label": "Unfollow {0} tag"
+  },
   "time_ago_options": {
     "day_future": "in 0 days|tomorrow|in {n} days",
     "day_past": "0 days ago|yesterday|{n} days ago",
diff --git a/pages/settings/profile/appearance.vue b/pages/settings/profile/appearance.vue
index 421ac5b9..6355138c 100644
--- a/pages/settings/profile/appearance.vue
+++ b/pages/settings/profile/appearance.vue
@@ -127,10 +127,10 @@ const { submit, submitting } = submitter(async ({ dirtyFields }) => {
         <!-- metadata -->
         <div space-y-2>
           <div font-medium>
-            Profile metadata
+            {{ $t('settings.profile.appearance.profile_metadata') }}
           </div>
           <div text-sm text-secondary>
-            You can have up to 4 items displayed as a table on your profile
+            {{ $t('settings.profile.appearance.profile_metadata_desc') }}
           </div>
 
           <SettingsProfileMetadata v-if="isHydrated" v-model:form="form" />