diff --git a/ui/i18next-parser.config.js b/ui/i18next-parser.config.js
index f0f8670..c039225 100644
--- a/ui/i18next-parser.config.js
+++ b/ui/i18next-parser.config.js
@@ -1,7 +1,20 @@
 module.exports = {
   skipDefaultValues: locale => locale != 'en',
   sort: true,
-  locales: ['da', 'de', 'en', 'es', 'fr', 'it', 'pl', 'ru', 'sv'],
+  locales: [
+    'da',
+    'de',
+    'en',
+    'es',
+    'fr',
+    'it',
+    'pl',
+    'pt',
+    'ru',
+    'sv',
+    'zh-CN',
+    'zh-HK',
+  ],
   input: 'src/**/*.{js,ts,jsx,tsx}',
   output: 'src/extractedTranslations/$LOCALE/$NAMESPACE.json',
 }
diff --git a/ui/package-lock.json b/ui/package-lock.json
index bb88d29..deadfef 100644
--- a/ui/package-lock.json
+++ b/ui/package-lock.json
@@ -12,7 +12,7 @@
         "@apollo/client": "^3.3.21",
         "@babel/preset-typescript": "^7.14.5",
         "@craco/craco": "^6.2.0",
-        "@headlessui/react": "^1.3.0",
+        "@headlessui/react": "^1.4.1",
         "@react-aria/focus": "^3.4.0",
         "@rollup/plugin-babel": "^5.3.0",
         "@types/geojson": "^7946.0.8",
@@ -2103,9 +2103,9 @@
       }
     },
     "node_modules/@headlessui/react": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.3.0.tgz",
-      "integrity": "sha512-2gqTO6BQ3Jr8vDX1B67n1gl6MGKTt6DBmR+H0qxwj0gTMnR2+Qpktj8alRWxsZBODyOiBb77QSQpE/6gG3MX4Q==",
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.4.1.tgz",
+      "integrity": "sha512-gL6Ns5xQM57cZBzX6IVv6L7nsam8rDEpRhs5fg28SN64ikfmuuMgunc+Rw5C1cMScnvFM+cz32ueVrlSFEVlSg==",
       "engines": {
         "node": ">=10"
       },
@@ -28802,9 +28802,9 @@
       }
     },
     "@headlessui/react": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.3.0.tgz",
-      "integrity": "sha512-2gqTO6BQ3Jr8vDX1B67n1gl6MGKTt6DBmR+H0qxwj0gTMnR2+Qpktj8alRWxsZBODyOiBb77QSQpE/6gG3MX4Q==",
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.4.1.tgz",
+      "integrity": "sha512-gL6Ns5xQM57cZBzX6IVv6L7nsam8rDEpRhs5fg28SN64ikfmuuMgunc+Rw5C1cMScnvFM+cz32ueVrlSFEVlSg==",
       "requires": {}
     },
     "@humanwhocodes/config-array": {
diff --git a/ui/package.json b/ui/package.json
index 7d7a44e..5658733 100644
--- a/ui/package.json
+++ b/ui/package.json
@@ -12,7 +12,7 @@
     "@apollo/client": "^3.3.21",
     "@babel/preset-typescript": "^7.14.5",
     "@craco/craco": "^6.2.0",
-    "@headlessui/react": "^1.3.0",
+    "@headlessui/react": "^1.4.1",
     "@react-aria/focus": "^3.4.0",
     "@rollup/plugin-babel": "^5.3.0",
     "@types/geojson": "^7946.0.8",
diff --git a/ui/src/Pages/PeoplePage/SingleFaceGroup/FaceGroupTitle.tsx b/ui/src/Pages/PeoplePage/SingleFaceGroup/FaceGroupTitle.tsx
index 48e2815..b49ed8f 100644
--- a/ui/src/Pages/PeoplePage/SingleFaceGroup/FaceGroupTitle.tsx
+++ b/ui/src/Pages/PeoplePage/SingleFaceGroup/FaceGroupTitle.tsx
@@ -133,16 +133,24 @@ const FaceGroupTitle = ({ faceGroup }: FaceGroupTitleProps) => {
         <div className="mb-2">{title}</div>
         <ul className="flex gap-2 flex-wrap mb-6">
           <li>
-            <Button onClick={() => setEditLabel(true)}>{t('people_page.action_label.change_label', 'Change label')}</Button>
+            <Button onClick={() => setEditLabel(true)}>
+              {t('people_page.action_label.change_label', 'Change label')}
+            </Button>
           </li>
           <li>
-            <Button onClick={() => setMergeModalOpen(true)}>{t('people_page.action_label.merge_face', 'Merge face')}</Button>
+            <Button onClick={() => setMergeModalOpen(true)}>
+              {t('people_page.action_label.merge_people', 'Merge people')}
+            </Button>
           </li>
           <li>
-            <Button onClick={() => setDetachModalOpen(true)}>{t('people_page.action_label.detach_face', 'Detach face')}</Button>
+            <Button onClick={() => setDetachModalOpen(true)}>
+              {t('people_page.action_label.detach_images', 'Detach images')}
+            </Button>
           </li>
           <li>
-            <Button onClick={() => setMoveModalOpen(true)}>{t('people_page.action_label.move_faces', 'Moves faces')}</Button>
+            <Button onClick={() => setMoveModalOpen(true)}>
+              {t('people_page.action_label.move_faces', 'Move faces')}
+            </Button>
           </li>
         </ul>
       </div>
diff --git a/ui/src/components/sidebar/MediaSidebar/MediaSidebarPeople.tsx b/ui/src/components/sidebar/MediaSidebar/MediaSidebarPeople.tsx
index 49188ac..e4be0f7 100644
--- a/ui/src/components/sidebar/MediaSidebar/MediaSidebarPeople.tsx
+++ b/ui/src/components/sidebar/MediaSidebar/MediaSidebarPeople.tsx
@@ -2,12 +2,76 @@ import React from 'react'
 import { useTranslation } from 'react-i18next'
 import { Link } from 'react-router-dom'
 import FaceCircleImage from '../../../Pages/PeoplePage/FaceCircleImage'
-import { Button } from '../../../primitives/form/Input'
 import { SidebarSection, SidebarSectionTitle } from '../SidebarComponents'
 import { MediaSidebarMedia } from './MediaSidebar'
 import { sidebarMediaQuery_media_faces } from './__generated__/sidebarMediaQuery'
 
 import { ReactComponent as PeopleDotsIcon } from './icons/peopleDotsIcon.svg'
+import { Menu } from '@headlessui/react'
+import { Button } from '../../../primitives/form/Input'
+import { ArrowPopoverPanel } from '../Sharing'
+import { tailwindClassNames } from '../../../helpers/utils'
+
+type PersonMoreMenuItemProps = {
+  label: string
+  className?: string
+}
+
+const PersonMoreMenuItem = ({ label, className }: PersonMoreMenuItemProps) => {
+  return (
+    <Menu.Item>
+      {({ active }) => (
+        <a
+          className={tailwindClassNames(
+            `block py-1 cursor-pointer ${active && 'bg-gray-50 text-black'}`,
+            className
+          )}
+        >
+          {label}
+        </a>
+      )}
+    </Menu.Item>
+  )
+}
+
+type PersonMoreMenuProps = {
+  face: sidebarMediaQuery_media_faces
+}
+
+const PersonMoreMenu = ({ face }: PersonMoreMenuProps) => {
+  const { t } = useTranslation()
+
+  face
+  return (
+    <Menu as="div" className="relative inline-block">
+      <Menu.Button as={Button} className="px-1.5 py-1.5 align-middle ml-1">
+        <PeopleDotsIcon className="text-gray-500" />
+      </Menu.Button>
+      <Menu.Items className="">
+        <ArrowPopoverPanel width={120}>
+          <PersonMoreMenuItem
+            className="border-b"
+            label={t('people_page.action_label.change_label', 'Change label')}
+          />
+          <PersonMoreMenuItem
+            className="border-b"
+            label={t('sidebar.people.action_label.merge_face', 'Merge face')}
+          />
+          <PersonMoreMenuItem
+            className="border-b"
+            label={t(
+              'sidebar.people.action_label.detach_image',
+              'Detach image'
+            )}
+          />
+          <PersonMoreMenuItem
+            label={t('sidebar.people.action_label.move_face', 'Move face')}
+          />
+        </ArrowPopoverPanel>
+      </Menu.Items>
+    </Menu>
+  )
+}
 
 type MediaSidebarFaceProps = {
   face: sidebarMediaQuery_media_faces
@@ -19,18 +83,16 @@ const MediaSidebarPerson = ({ face }: MediaSidebarFaceProps) => {
   return (
     <li className="inline-block">
       <Link to={`/people/${face.faceGroup.id}`}>
-        <FaceCircleImage imageFace={face} selectable={true} size="100px" />
+        <FaceCircleImage imageFace={face} selectable={true} size="92px" />
       </Link>
       <div
-        className={`text-center ${
+        className={`text-center text-sm mt-1 ${
           face.faceGroup.label ? 'text-black' : 'text-gray-600'
         }`}
       >
         {face.faceGroup.label ??
           t('people_page.face_group.unlabeled', 'Unlabeled')}
-        <Button className="px-2 py-1.5 align-middle ml-1">
-          <PeopleDotsIcon className="text-gray-500" />
-        </Button>
+        <PersonMoreMenu face={face} />
       </div>
     </li>
   )
@@ -54,8 +116,12 @@ const MediaSidebarPeople = ({ media }: MediaSidebarFacesProps) => {
       <SidebarSectionTitle>
         {t('sidebar.people.title', 'People')}
       </SidebarSectionTitle>
-      <div className="overflow-x-auto">
+      <div
+        className="overflow-x-auto mb-[-200px]"
+        style={{ scrollbarWidth: 'none' }}
+      >
         <ul className="flex gap-4 mx-4">{faceElms}</ul>
+        <div className="h-[200px]"></div>
       </div>
     </SidebarSection>
   )
diff --git a/ui/src/components/sidebar/Sharing.tsx b/ui/src/components/sidebar/Sharing.tsx
index b282627..e0100f3 100644
--- a/ui/src/components/sidebar/Sharing.tsx
+++ b/ui/src/components/sidebar/Sharing.tsx
@@ -106,10 +106,12 @@ const DELETE_SHARE_MUTATION = gql`
   }
 `
 
-const ArrowPopoverPanel = styled.div.attrs({
+export const ArrowPopoverPanel = styled.div.attrs({
   className:
-    'absolute right-6 -top-3 bg-white rounded shadow-md border border-gray-200 w-[260px]',
-})`
+    'absolute right-6 -top-3 bg-white rounded shadow-md border border-gray-200',
+})<{ width: number }>`
+  width: ${({ width }) => width}px;
+
   &::after {
     content: '';
     position: absolute;
@@ -247,7 +249,7 @@ const MorePopover = ({ id, share, query }: MorePopoverProps) => {
       </Popover.Button>
 
       <Popover.Panel>
-        <ArrowPopoverPanel>
+        <ArrowPopoverPanel width={260}>
           <MorePopoverSectionPassword id={id} share={share} query={query} />
           <div className="px-4 py-2 border-t border-gray-200 mt-2 mb-2">
             <Checkbox label="Expiration date" />
diff --git a/ui/src/extractedTranslations/da/translation.json b/ui/src/extractedTranslations/da/translation.json
index d6fd2db..525e3c0 100644
--- a/ui/src/extractedTranslations/da/translation.json
+++ b/ui/src/extractedTranslations/da/translation.json
@@ -63,8 +63,8 @@
   "people_page": {
     "action_label": {
       "change_label": "Ændre navn",
-      "detach_face": "Løsriv billeder",
-      "merge_face": "Sammenflet personer",
+      "detach_images": "Løsriv billeder",
+      "merge_people": "Sammenflet personer",
       "move_faces": "Flyt ansigter"
     },
     "face_group": {
@@ -263,7 +263,7 @@
       "title": "Lokation"
     },
     "media": {
-      "album": "Album",
+      "album_path": "",
       "exif": {
         "exposure_program": {
           "action_program": "Actionprogram",
@@ -305,6 +305,11 @@
       }
     },
     "people": {
+      "action_label": {
+        "detach_image": "",
+        "merge_face": "",
+        "move_face": ""
+      },
       "title": "Personer"
     },
     "sharing": {
diff --git a/ui/src/extractedTranslations/da/translation_old.json b/ui/src/extractedTranslations/da/translation_old.json
index a888751..ec51c67 100644
--- a/ui/src/extractedTranslations/da/translation_old.json
+++ b/ui/src/extractedTranslations/da/translation_old.json
@@ -42,6 +42,15 @@
       "merge_face": null,
       "detach_face": null,
       "move_faces": null
+    },
+    "modal": {
+      "merge_people_groups": {
+        "description": "Alle billeder fra denne gruppe vil blive flettet sammen med den valgte gruppe",
+        "destination_table": {
+          "title": "Vælg destinationsgruppe"
+        },
+        "title": "Vælg gruppe at flette med"
+      }
     }
   },
   "settings": {
@@ -71,6 +80,9 @@
         "mega_byte_plural": null,
         "tera_byte_plural": null
       }
+    },
+    "media": {
+      "album": "Album"
     }
   },
   "timeline_filter": {
diff --git a/ui/src/extractedTranslations/de/translation.json b/ui/src/extractedTranslations/de/translation.json
index 368abda..1fc27d8 100644
--- a/ui/src/extractedTranslations/de/translation.json
+++ b/ui/src/extractedTranslations/de/translation.json
@@ -63,8 +63,8 @@
   "people_page": {
     "action_label": {
       "change_label": "",
-      "detach_face": "",
-      "merge_face": "",
+      "detach_images": "",
+      "merge_people": "",
       "move_faces": ""
     },
     "face_group": {
@@ -263,7 +263,7 @@
       "title": ""
     },
     "media": {
-      "album": "",
+      "album_path": "",
       "exif": {
         "exposure_program": {
           "action_program": "Action (kurze Verschlusszeit)",
@@ -305,6 +305,11 @@
       }
     },
     "people": {
+      "action_label": {
+        "detach_image": "",
+        "merge_face": "",
+        "move_face": ""
+      },
       "title": ""
     },
     "sharing": {
diff --git a/ui/src/extractedTranslations/de/translation_old.json b/ui/src/extractedTranslations/de/translation_old.json
index aa43241..d21d24f 100644
--- a/ui/src/extractedTranslations/de/translation_old.json
+++ b/ui/src/extractedTranslations/de/translation_old.json
@@ -61,6 +61,13 @@
           "title": null
         },
         "title": null
+      },
+      "merge_people_groups": {
+        "description": "",
+        "destination_table": {
+          "title": ""
+        },
+        "title": ""
       }
     },
     "table": {
@@ -115,6 +122,9 @@
         "mega_byte_plural": null,
         "tera_byte_plural": null
       }
+    },
+    "media": {
+      "album": ""
     }
   },
   "album_filter": {
diff --git a/ui/src/extractedTranslations/en/translation.json b/ui/src/extractedTranslations/en/translation.json
index 932cfa6..fabeafe 100644
--- a/ui/src/extractedTranslations/en/translation.json
+++ b/ui/src/extractedTranslations/en/translation.json
@@ -63,8 +63,8 @@
   "people_page": {
     "action_label": {
       "change_label": "Change label",
-      "detach_face": "Detach face",
-      "merge_face": "Merge face",
+      "detach_images": "Detach face",
+      "merge_people": "Merge face",
       "move_faces": "Move faces"
     },
     "face_group": {
@@ -263,7 +263,7 @@
       "title": "Location"
     },
     "media": {
-      "album": "Album",
+      "album_path": "Album path",
       "exif": {
         "exposure_program": {
           "action_program": "Action program",
@@ -305,6 +305,11 @@
       }
     },
     "people": {
+      "action_label": {
+        "detach_image": "Detach image",
+        "merge_face": "Merge face",
+        "move_face": "Move face"
+      },
       "title": "People"
     },
     "sharing": {
diff --git a/ui/src/extractedTranslations/en/translation_old.json b/ui/src/extractedTranslations/en/translation_old.json
index fecc4be..1a50360 100644
--- a/ui/src/extractedTranslations/en/translation_old.json
+++ b/ui/src/extractedTranslations/en/translation_old.json
@@ -36,6 +36,15 @@
       "select_image_faces": {
         "search_images_placeholder": "Search images..."
       }
+    },
+    "modal": {
+      "merge_people_groups": {
+        "description": "All images within this face group will be merged into the selected face group.",
+        "destination_table": {
+          "title": "Select the destination face"
+        },
+        "title": "Merge Face Groups"
+      }
     }
   },
   "settings": {
@@ -54,6 +63,9 @@
     },
     "sharing": {
       "table_header": "Public shares"
+    },
+    "media": {
+      "album": "Album"
     }
   }
 }
diff --git a/ui/src/extractedTranslations/es/translation.json b/ui/src/extractedTranslations/es/translation.json
index 4ba5391..983e1c7 100644
--- a/ui/src/extractedTranslations/es/translation.json
+++ b/ui/src/extractedTranslations/es/translation.json
@@ -63,8 +63,8 @@
   "people_page": {
     "action_label": {
       "change_label": "",
-      "detach_face": "",
-      "merge_face": "",
+      "detach_images": "",
+      "merge_people": "",
       "move_faces": ""
     },
     "face_group": {
@@ -263,7 +263,7 @@
       "title": ""
     },
     "media": {
-      "album": "",
+      "album_path": "",
       "exif": {
         "exposure_program": {
           "action_program": "Programa de acción",
@@ -305,6 +305,11 @@
       }
     },
     "people": {
+      "action_label": {
+        "detach_image": "",
+        "merge_face": "",
+        "move_face": ""
+      },
       "title": ""
     },
     "sharing": {
diff --git a/ui/src/extractedTranslations/es/translation_old.json b/ui/src/extractedTranslations/es/translation_old.json
index 94a8bb3..eee880e 100644
--- a/ui/src/extractedTranslations/es/translation_old.json
+++ b/ui/src/extractedTranslations/es/translation_old.json
@@ -61,6 +61,13 @@
           "title": null
         },
         "title": null
+      },
+      "merge_people_groups": {
+        "description": "",
+        "destination_table": {
+          "title": ""
+        },
+        "title": ""
       }
     },
     "table": {
@@ -120,6 +127,9 @@
         "mega_byte_plural": null,
         "tera_byte_plural": null
       }
+    },
+    "media": {
+      "album": ""
     }
   },
   "title": {
diff --git a/ui/src/extractedTranslations/fr/translation.json b/ui/src/extractedTranslations/fr/translation.json
index 4e07e73..d3fe60d 100644
--- a/ui/src/extractedTranslations/fr/translation.json
+++ b/ui/src/extractedTranslations/fr/translation.json
@@ -63,8 +63,8 @@
   "people_page": {
     "action_label": {
       "change_label": "Changer le label",
-      "detach_face": "Détacher le visage",
-      "merge_face": "Fusionner le visage",
+      "detach_images": "Détacher le visage",
+      "merge_people": "Fusionner le visage",
       "move_faces": "Déplacer les visages"
     },
     "face_group": {
@@ -263,7 +263,7 @@
       "title": ""
     },
     "media": {
-      "album": "",
+      "album_path": "",
       "exif": {
         "exposure_program": {
           "action_program": "Programme d'action",
@@ -305,6 +305,11 @@
       }
     },
     "people": {
+      "action_label": {
+        "detach_image": "",
+        "merge_face": "",
+        "move_face": ""
+      },
       "title": ""
     },
     "sharing": {
diff --git a/ui/src/extractedTranslations/fr/translation_old.json b/ui/src/extractedTranslations/fr/translation_old.json
index 61e3c86..58420ff 100644
--- a/ui/src/extractedTranslations/fr/translation_old.json
+++ b/ui/src/extractedTranslations/fr/translation_old.json
@@ -60,6 +60,13 @@
           "title": null
         },
         "title": null
+      },
+      "merge_people_groups": {
+        "description": "Toutes les images de ce groupe de visages seront fusionnées dans le groupe de visages sélectionné.",
+        "destination_table": {
+          "title": "Sélectionner le visage de destination"
+        },
+        "title": "Fusionner des groupes de visages"
       }
     },
     "table": {
@@ -95,6 +102,9 @@
     },
     "sharing": {
       "table_header": "Partages publics"
+    },
+    "media": {
+      "album": ""
     }
   },
   "title": {
diff --git a/ui/src/extractedTranslations/it/translation.json b/ui/src/extractedTranslations/it/translation.json
index 17d7984..1f942bf 100644
--- a/ui/src/extractedTranslations/it/translation.json
+++ b/ui/src/extractedTranslations/it/translation.json
@@ -63,8 +63,8 @@
   "people_page": {
     "action_label": {
       "change_label": "",
-      "detach_face": "",
-      "merge_face": "",
+      "detach_images": "",
+      "merge_people": "",
       "move_faces": ""
     },
     "face_group": {
@@ -263,7 +263,7 @@
       "title": ""
     },
     "media": {
-      "album": "",
+      "album_path": "",
       "exif": {
         "exposure_program": {
           "action_program": "Programma sport",
@@ -305,6 +305,11 @@
       }
     },
     "people": {
+      "action_label": {
+        "detach_image": "",
+        "merge_face": "",
+        "move_face": ""
+      },
       "title": ""
     },
     "sharing": {
diff --git a/ui/src/extractedTranslations/it/translation_old.json b/ui/src/extractedTranslations/it/translation_old.json
index b09cdcc..3cd12dd 100644
--- a/ui/src/extractedTranslations/it/translation_old.json
+++ b/ui/src/extractedTranslations/it/translation_old.json
@@ -49,6 +49,15 @@
     },
     "tableselect_image_faces": {
       "search_images_placeholder": null
+    },
+    "modal": {
+      "merge_people_groups": {
+        "description": "Tutte le immagini di questo volto saranno unite alle immagini del volto selezionato",
+        "destination_table": {
+          "title": "Seleziona il volto di destinazione"
+        },
+        "title": "Unisci immagini volto"
+      }
     }
   },
   "settings": {
@@ -82,6 +91,9 @@
         "mega_byte_plural": null,
         "tera_byte_plural": null
       }
+    },
+    "media": {
+      "album": ""
     }
   },
   "album_filter": {
diff --git a/ui/src/extractedTranslations/pl/translation.json b/ui/src/extractedTranslations/pl/translation.json
index d15d921..5fcffc3 100644
--- a/ui/src/extractedTranslations/pl/translation.json
+++ b/ui/src/extractedTranslations/pl/translation.json
@@ -63,8 +63,8 @@
   "people_page": {
     "action_label": {
       "change_label": "",
-      "detach_face": "",
-      "merge_face": "",
+      "detach_images": "",
+      "merge_people": "",
       "move_faces": ""
     },
     "face_group": {
@@ -268,7 +268,7 @@
       "title": ""
     },
     "media": {
-      "album": "",
+      "album_path": "",
       "exif": {
         "exposure_program": {
           "action_program": "Program działania",
@@ -310,6 +310,11 @@
       }
     },
     "people": {
+      "action_label": {
+        "detach_image": "",
+        "merge_face": "",
+        "move_face": ""
+      },
       "title": ""
     },
     "sharing": {
diff --git a/ui/src/extractedTranslations/pl/translation_old.json b/ui/src/extractedTranslations/pl/translation_old.json
index 19305fd..fab4374 100644
--- a/ui/src/extractedTranslations/pl/translation_old.json
+++ b/ui/src/extractedTranslations/pl/translation_old.json
@@ -61,6 +61,13 @@
           "title": null
         },
         "title": null
+      },
+      "merge_people_groups": {
+        "description": "",
+        "destination_table": {
+          "title": ""
+        },
+        "title": ""
       }
     },
     "table": {
@@ -137,6 +144,9 @@
       "table_header": "Publiczne udostępnienia",
       "delete": null,
       "more": null
+    },
+    "media": {
+      "album": ""
     }
   },
   "title": {
diff --git a/ui/src/extractedTranslations/pt/translation.json b/ui/src/extractedTranslations/pt/translation.json
index 358d159..c9c5e16 100644
--- a/ui/src/extractedTranslations/pt/translation.json
+++ b/ui/src/extractedTranslations/pt/translation.json
@@ -61,17 +61,17 @@
     "description": "Galeria de fotos simples e fácil de usar para servidores pessoais"
   },
   "people_page": {
+    "action_label": {
+      "change_label": "",
+      "detach_images": "",
+      "merge_people": "",
+      "move_faces": ""
+    },
     "face_group": {
       "label_placeholder": "Etiqueta",
       "unlabeled": "Sem etiqueta",
       "unlabeled_person": "Pessoa sem etiqueta"
     },
-    "action_label": {
-      "change_label": null,
-      "merge_face": null,
-      "detach_face": null,
-      "move_faces": null
-    },
     "modal": {
       "action": {
         "merge": "Juntar"
@@ -215,6 +215,27 @@
   },
   "sidebar": {
     "album": {
+      "album_cover": "",
+      "download": {
+        "high-resolutions": {
+          "description": "",
+          "title": ""
+        },
+        "originals": {
+          "description": "",
+          "title": ""
+        },
+        "thumbnails": {
+          "description": "",
+          "title": ""
+        },
+        "web-videos": {
+          "description": "",
+          "title": ""
+        }
+      },
+      "reset_cover": "",
+      "set_cover": "",
       "title_placeholder": "Título do Álbum"
     },
     "download": {
@@ -238,7 +259,11 @@
       },
       "title": "Descarregar"
     },
+    "location": {
+      "title": ""
+    },
     "media": {
+      "album_path": "",
       "exif": {
         "exposure_program": {
           "action_program": "Programa de ação",
@@ -267,6 +292,7 @@
         "name": {
           "aperture": "Abertura",
           "camera": "Câmera",
+          "coordinates": "",
           "date_shot": "Data da foto",
           "exposure": "Exposição",
           "exposure_program": "Programa",
@@ -278,6 +304,14 @@
         }
       }
     },
+    "people": {
+      "action_label": {
+        "detach_image": "",
+        "merge_face": "",
+        "move_face": ""
+      },
+      "title": ""
+    },
     "sharing": {
       "add_share": "Adicionar partilha",
       "copy_link": "Copiar link",
@@ -295,6 +329,13 @@
     "places": "Locais",
     "settings": "Configurações"
   },
+  "timeline_filter": {
+    "date": {
+      "dropdown_all": "",
+      "dropdown_year": "",
+      "label": ""
+    }
+  },
   "title": {
     "loading_album": "Carregar Álbum",
     "login": "Login",
diff --git a/ui/src/extractedTranslations/pt/translation_old.json b/ui/src/extractedTranslations/pt/translation_old.json
new file mode 100644
index 0000000..8f73fa0
--- /dev/null
+++ b/ui/src/extractedTranslations/pt/translation_old.json
@@ -0,0 +1,19 @@
+{
+  "people_page": {
+    "action_label": {
+      "change_label": null,
+      "merge_people": null,
+      "detach_images": null,
+      "move_faces": null
+    },
+    "modal": {
+      "merge_people_groups": {
+        "description": "Todas as imagens neste grupo de caras serão juntas no grupo selecionado.",
+        "destination_table": {
+          "title": "Selecione a cara de destino"
+        },
+        "title": "Juntar grupos de cara"
+      }
+    }
+  }
+}
diff --git a/ui/src/extractedTranslations/ru/translation.json b/ui/src/extractedTranslations/ru/translation.json
index ecfa6c9..4f2bfc0 100644
--- a/ui/src/extractedTranslations/ru/translation.json
+++ b/ui/src/extractedTranslations/ru/translation.json
@@ -63,8 +63,8 @@
   "people_page": {
     "action_label": {
       "change_label": "",
-      "detach_face": "",
-      "merge_face": "",
+      "detach_images": "",
+      "merge_people": "",
       "move_faces": ""
     },
     "face_group": {
@@ -268,7 +268,7 @@
       "title": ""
     },
     "media": {
-      "album": "",
+      "album_path": "",
       "exif": {
         "exposure_program": {
           "action_program": "Действие программа",
@@ -310,6 +310,11 @@
       }
     },
     "people": {
+      "action_label": {
+        "detach_image": "",
+        "merge_face": "",
+        "move_face": ""
+      },
       "title": ""
     },
     "sharing": {
diff --git a/ui/src/extractedTranslations/ru/translation_old.json b/ui/src/extractedTranslations/ru/translation_old.json
index 9ade823..ae7cdd0 100644
--- a/ui/src/extractedTranslations/ru/translation_old.json
+++ b/ui/src/extractedTranslations/ru/translation_old.json
@@ -49,6 +49,15 @@
     },
     "tableselect_image_faces": {
       "search_images_placeholder": null
+    },
+    "modal": {
+      "merge_people_groups": {
+        "description": "Все фотографии в этой группе лиц будут обьеденены с выбранной группой.",
+        "destination_table": {
+          "title": "Выберете конечное лицо"
+        },
+        "title": "Обьединить группы лиц"
+      }
     }
   },
   "settings": {
@@ -99,6 +108,9 @@
       "table_header": "Общий доступ",
       "delete": null,
       "more": null
+    },
+    "media": {
+      "album": ""
     }
   },
   "album_filter": {
diff --git a/ui/src/extractedTranslations/sv/translation.json b/ui/src/extractedTranslations/sv/translation.json
index bf4eed7..2917fe9 100644
--- a/ui/src/extractedTranslations/sv/translation.json
+++ b/ui/src/extractedTranslations/sv/translation.json
@@ -63,8 +63,8 @@
   "people_page": {
     "action_label": {
       "change_label": "",
-      "detach_face": "",
-      "merge_face": "",
+      "detach_images": "",
+      "merge_people": "",
       "move_faces": ""
     },
     "face_group": {
@@ -263,7 +263,7 @@
       "title": ""
     },
     "media": {
-      "album": "",
+      "album_path": "",
       "exif": {
         "exposure_program": {
           "action_program": "Actionprogram",
@@ -305,6 +305,11 @@
       }
     },
     "people": {
+      "action_label": {
+        "detach_image": "",
+        "merge_face": "",
+        "move_face": ""
+      },
       "title": ""
     },
     "sharing": {
diff --git a/ui/src/extractedTranslations/sv/translation_old.json b/ui/src/extractedTranslations/sv/translation_old.json
index fb0943d..061609f 100644
--- a/ui/src/extractedTranslations/sv/translation_old.json
+++ b/ui/src/extractedTranslations/sv/translation_old.json
@@ -61,6 +61,13 @@
           "title": null
         },
         "title": null
+      },
+      "merge_people_groups": {
+        "description": "",
+        "destination_table": {
+          "title": ""
+        },
+        "title": ""
       }
     },
     "table": {
@@ -123,6 +130,9 @@
         "mega_byte_plural": null,
         "tera_byte_plural": null
       }
+    },
+    "media": {
+      "album": ""
     }
   },
   "title": {
diff --git a/ui/src/extractedTranslations/zh-CN/translation.json b/ui/src/extractedTranslations/zh-CN/translation.json
index c60569f..c4f9997 100644
--- a/ui/src/extractedTranslations/zh-CN/translation.json
+++ b/ui/src/extractedTranslations/zh-CN/translation.json
@@ -61,17 +61,17 @@
     "description": "简单及易用的照片库给个人服务器"
   },
   "people_page": {
+    "action_label": {
+      "change_label": "",
+      "detach_images": "",
+      "merge_people": "",
+      "move_faces": ""
+    },
     "face_group": {
       "label_placeholder": "名称",
       "unlabeled": "未命名",
       "unlabeled_person": "未命名人物"
     },
-    "action_label": {
-      "change_label": null,
-      "merge_face": null,
-      "detach_face": null,
-      "move_faces": null
-    },
     "modal": {
       "action": {
         "merge": "合并"
@@ -215,30 +215,36 @@
   },
   "sidebar": {
     "album": {
+      "album_cover": "",
+      "download": {
+        "high-resolutions": {
+          "description": "",
+          "title": ""
+        },
+        "originals": {
+          "description": "",
+          "title": ""
+        },
+        "thumbnails": {
+          "description": "",
+          "title": ""
+        },
+        "web-videos": {
+          "description": "",
+          "title": ""
+        }
+      },
+      "reset_cover": "",
+      "set_cover": "",
       "title_placeholder": "相册名称"
     },
     "download": {
       "filesize": {
-        "byte": null,
-        "giga_byte": null,
-        "kilo_byte": null,
-        "mega_byte": null,
-        "tera_byte": null,
-        "byte_0": null,
-        "byte_1": null,
-        "byte_2": null,
-        "giga_byte_0": null,
-        "giga_byte_1": null,
-        "giga_byte_2": null,
-        "kilo_byte_0": null,
-        "kilo_byte_1": null,
-        "kilo_byte_2": null,
-        "mega_byte_0": null,
-        "mega_byte_1": null,
-        "mega_byte_2": null,
-        "tera_byte_0": null,
-        "tera_byte_1": null,
-        "tera_byte_2": null
+        "byte": "",
+        "giga_byte": "",
+        "kilo_byte": "",
+        "mega_byte": "",
+        "tera_byte": ""
       },
       "table_columns": {
         "dimensions": "尺寸",
@@ -248,7 +254,11 @@
       },
       "title": "下载"
     },
+    "location": {
+      "title": ""
+    },
     "media": {
+      "album_path": "",
       "exif": {
         "exposure_program": {
           "action_program": "动态模式",
@@ -264,19 +274,20 @@
         },
         "flash": {
           "auto": "自动",
-          "did_not_fire": null,
-          "fired": null,
-          "no_flash": null,
-          "no_flash_function": null,
+          "did_not_fire": "",
+          "fired": "",
+          "no_flash": "",
+          "no_flash_function": "",
           "off": "关闭",
           "on": "使用",
           "red_eye_reduction": "减轻红眼",
-          "return_detected": null,
-          "return_not_detected": null
+          "return_detected": "",
+          "return_not_detected": ""
         },
         "name": {
           "aperture": "光圈",
           "camera": "相机",
+          "coordinates": "",
           "date_shot": "拍摄日期",
           "exposure": "曝光",
           "exposure_program": "模式",
@@ -288,6 +299,14 @@
         }
       }
     },
+    "people": {
+      "action_label": {
+        "detach_image": "",
+        "merge_face": "",
+        "move_face": ""
+      },
+      "title": ""
+    },
     "sharing": {
       "add_share": "新增分享",
       "copy_link": "复制链接",
@@ -305,6 +324,13 @@
     "places": "地点",
     "settings": "设置"
   },
+  "timeline_filter": {
+    "date": {
+      "dropdown_all": "",
+      "dropdown_year": "",
+      "label": ""
+    }
+  },
   "title": {
     "loading_album": "载入相册",
     "login": "登入",
diff --git a/ui/src/extractedTranslations/zh-CN/translation_old.json b/ui/src/extractedTranslations/zh-CN/translation_old.json
new file mode 100644
index 0000000..1f14223
--- /dev/null
+++ b/ui/src/extractedTranslations/zh-CN/translation_old.json
@@ -0,0 +1,42 @@
+{
+  "people_page": {
+    "action_label": {
+      "change_label": null,
+      "merge_people": null,
+      "detach_images": null,
+      "move_faces": null
+    },
+    "modal": {
+      "merge_people_groups": {
+        "description": "所有在此的脸孔群组将会合并到已选择的脸孔群组",
+        "destination_table": {
+          "title": "选择目标脸孔群组"
+        },
+        "title": "合并脸孔群组"
+      }
+    }
+  },
+  "sidebar": {
+    "download": {
+      "filesize": {
+        "byte": null,
+        "giga_byte": null,
+        "kilo_byte": null,
+        "mega_byte": null,
+        "tera_byte": null
+      }
+    },
+    "media": {
+      "exif": {
+        "flash": {
+          "did_not_fire": null,
+          "fired": null,
+          "no_flash": null,
+          "no_flash_function": null,
+          "return_detected": null,
+          "return_not_detected": null
+        }
+      }
+    }
+  }
+}
diff --git a/ui/src/extractedTranslations/zh-HK/translation.json b/ui/src/extractedTranslations/zh-HK/translation.json
index aa8fc83..4062476 100644
--- a/ui/src/extractedTranslations/zh-HK/translation.json
+++ b/ui/src/extractedTranslations/zh-HK/translation.json
@@ -61,17 +61,17 @@
     "description": "簡單及易用的照片庫給個人伺服器"
   },
   "people_page": {
+    "action_label": {
+      "change_label": "",
+      "detach_images": "",
+      "merge_people": "",
+      "move_faces": ""
+    },
     "face_group": {
       "label_placeholder": "名稱",
       "unlabeled": "未命名",
       "unlabeled_person": "未命名人物"
     },
-    "action_label": {
-      "change_label": null,
-      "merge_face": null,
-      "detach_face": null,
-      "move_faces": null
-    },
     "modal": {
       "action": {
         "merge": "合併"
@@ -215,30 +215,36 @@
   },
   "sidebar": {
     "album": {
+      "album_cover": "",
+      "download": {
+        "high-resolutions": {
+          "description": "",
+          "title": ""
+        },
+        "originals": {
+          "description": "",
+          "title": ""
+        },
+        "thumbnails": {
+          "description": "",
+          "title": ""
+        },
+        "web-videos": {
+          "description": "",
+          "title": ""
+        }
+      },
+      "reset_cover": "",
+      "set_cover": "",
       "title_placeholder": "相簿名稱"
     },
     "download": {
       "filesize": {
-        "byte": null,
-        "giga_byte": null,
-        "kilo_byte": null,
-        "mega_byte": null,
-        "tera_byte": null,
-        "byte_0": null,
-        "byte_1": null,
-        "byte_2": null,
-        "giga_byte_0": null,
-        "giga_byte_1": null,
-        "giga_byte_2": null,
-        "kilo_byte_0": null,
-        "kilo_byte_1": null,
-        "kilo_byte_2": null,
-        "mega_byte_0": null,
-        "mega_byte_1": null,
-        "mega_byte_2": null,
-        "tera_byte_0": null,
-        "tera_byte_1": null,
-        "tera_byte_2": null
+        "byte": "",
+        "giga_byte": "",
+        "kilo_byte": "",
+        "mega_byte": "",
+        "tera_byte": ""
       },
       "table_columns": {
         "dimensions": "尺寸",
@@ -248,7 +254,11 @@
       },
       "title": "下載"
     },
+    "location": {
+      "title": ""
+    },
     "media": {
+      "album_path": "",
       "exif": {
         "exposure_program": {
           "action_program": "動態模式",
@@ -264,19 +274,20 @@
         },
         "flash": {
           "auto": "自動",
-          "did_not_fire": null,
-          "fired": null,
-          "no_flash": null,
-          "no_flash_function": null,
+          "did_not_fire": "",
+          "fired": "",
+          "no_flash": "",
+          "no_flash_function": "",
           "off": "關閉",
           "on": "使用",
           "red_eye_reduction": "減輕紅眼",
-          "return_detected": null,
-          "return_not_detected": null
+          "return_detected": "",
+          "return_not_detected": ""
         },
         "name": {
           "aperture": "光圈",
           "camera": "相機",
+          "coordinates": "",
           "date_shot": "拍攝日期",
           "exposure": "曝光",
           "exposure_program": "模式",
@@ -288,6 +299,14 @@
         }
       }
     },
+    "people": {
+      "action_label": {
+        "detach_image": "",
+        "merge_face": "",
+        "move_face": ""
+      },
+      "title": ""
+    },
     "sharing": {
       "add_share": "新增分享",
       "copy_link": "複製連結",
@@ -305,6 +324,13 @@
     "places": "地點",
     "settings": "設定"
   },
+  "timeline_filter": {
+    "date": {
+      "dropdown_all": "",
+      "dropdown_year": "",
+      "label": ""
+    }
+  },
   "title": {
     "loading_album": "載入相簿",
     "login": "登入",
diff --git a/ui/src/extractedTranslations/zh-HK/translation_old.json b/ui/src/extractedTranslations/zh-HK/translation_old.json
new file mode 100644
index 0000000..c45a0a1
--- /dev/null
+++ b/ui/src/extractedTranslations/zh-HK/translation_old.json
@@ -0,0 +1,42 @@
+{
+  "people_page": {
+    "action_label": {
+      "change_label": null,
+      "merge_people": null,
+      "detach_images": null,
+      "move_faces": null
+    },
+    "modal": {
+      "merge_people_groups": {
+        "description": "所有在此的臉孔群組將會合併到已選擇的臉孔群組",
+        "destination_table": {
+          "title": "選擇目標臉孔群組"
+        },
+        "title": "合併臉孔群組"
+      }
+    }
+  },
+  "sidebar": {
+    "download": {
+      "filesize": {
+        "byte": null,
+        "giga_byte": null,
+        "kilo_byte": null,
+        "mega_byte": null,
+        "tera_byte": null
+      }
+    },
+    "media": {
+      "exif": {
+        "flash": {
+          "did_not_fire": null,
+          "fired": null,
+          "no_flash": null,
+          "no_flash_function": null,
+          "return_detected": null,
+          "return_not_detected": null
+        }
+      }
+    }
+  }
+}
