Procházet zdrojové kódy

Add translations for log entries

arvid-e před 5 měsíci
rodič
revize
7bbbdcba2e

+ 11 - 1
apps/app/public/static/locales/en_US/translation.json

@@ -1000,7 +1000,17 @@
   "user_home_page": {
     "bookmarks": "Bookmarks",
     "recently_created": "Recently Created",
-    "recent_activity": "Recent Activity"
+    "recent_activity": "Recent Activity",
+    "unknown_action": "performed an unknown action",
+    "page_create": "created a page",
+    "page_update": "updated a page",
+    "page_delete": "deleted a page",
+    "page_delete_completely": "deleted a page",
+    "page_rename": "renamed a page",
+    "page_revert": "reverted a page",
+    "page_like": "liked a page",
+    "page_duplicate": "duplicated a page",
+    "comment_create": "posted a comment"
   },
   "bookmark_folder": {
     "bookmark_folder": "bookmark folder",

+ 11 - 1
apps/app/public/static/locales/fr_FR/translation.json

@@ -994,7 +994,17 @@
   "user_home_page": {
     "bookmarks": "Favoris",
     "recently_created": "Page récentes",
-    "recent_activity": "Activité récente"
+    "recent_activity": "Activité récente",
+    "unknown_action": "a effectué une action inconnue",
+    "page_create": "a créé une page",
+    "page_update": "a mis à jour une page",
+    "page_delete": "a supprimé une page",
+    "page_delete_completely": "a supprimé complètement une page",
+    "page_rename": "a renommé une page",
+    "page_revert": "a restauré une page",
+    "page_duplicate": "a dupliqué une page",
+    "page_like": "a aimé une page",
+    "comment_create": "a publié un commentaire"
   },
   "bookmark_folder": {
     "bookmark_folder": "dossier de favoris",

+ 11 - 1
apps/app/public/static/locales/ja_JP/translation.json

@@ -1033,7 +1033,17 @@
   "user_home_page": {
     "bookmarks": "ブックマーク",
     "recently_created": "最近作成したページ",
-    "recent_activity": "最近のアクティビティ"
+    "recent_activity": "最近のアクティビティ",
+    "unknown_action": "不明な操作を実行しました",
+    "page_create": "ページを作成しました",
+    "page_update": "ページを更新しました",
+    "page_delete": "ページを削除しました",
+    "page_delete_completely": "ページを完全に削除しました",
+    "page_rename": "ページの名前を変更しました",
+    "page_revert": "ページを元に戻しました",
+    "page_duplicate": "ページを複製しました",
+    "page_like": "ページをいいねしました",
+    "comment_create": "コメントを投稿しました"
   },
   "bookmark_folder": {
     "bookmark_folder": "ブックマークフォルダ",

+ 11 - 1
apps/app/public/static/locales/ko_KR/translation.json

@@ -960,7 +960,17 @@
   "user_home_page": {
     "bookmarks": "북마크",
     "recently_created": "최근 생성됨",
-    "recent_activity": "최근 활동"
+    "recent_activity": "최근 활동",
+    "unknown_action": "알 수 없는 작업을 수행했습니다",
+    "page_create": "페이지를 생성했습니다",
+    "page_update": "페이지를 업데이트했습니다",
+    "page_delete": "페이지를 삭제했습니다",
+    "page_delete_completely": "페이지를 완전히 삭제했습니다",
+    "page_rename": "페이지 이름을 변경했습니다",
+    "page_revert": "페이지를 되돌렸습니다",
+    "page_duplicate": "페이지를 복제했습니다",
+    "page_like": "페이지에 좋아요를 눌렀습니다",
+    "comment_create": "댓글을 게시했습니다"
   },
   "bookmark_folder": {
     "bookmark_folder": "북마크 폴더",

+ 11 - 1
apps/app/public/static/locales/zh_CN/translation.json

@@ -1005,7 +1005,17 @@
   "user_home_page": {
     "bookmarks": "书签",
     "recently_created": "最近创建页面",
-    "recent_activity": "最近动态"
+    "recent_activity": "最近动态",
+    "unknown_action": "执行了未知操作",
+    "page_create": "创建了页面",
+    "page_update": "更新了页面",
+    "page_delete": "删除了页面",
+    "page_delete_completely": "彻底删除了页面",
+    "page_rename": "重命名了页面",
+    "page_revert": "还原了页面",
+    "page_duplicate": "复制了页面",
+    "page_like": "赞了页面",
+    "comment_create": "发布了评论"
   },
   "bookmark_folder": {
     "bookmark_folder": "书签文件夹",

+ 20 - 19
apps/app/src/client/components/RecentActivity/ActivityListItem.tsx

@@ -1,21 +1,23 @@
 import { formatDistanceToNow } from 'date-fns';
+import { useTranslation } from 'next-i18next';
 
 import type { ActivityHasUserId, SupportedActivityActionType } from '~/interfaces/activity';
 import { ActivityLogActions } from '~/interfaces/activity';
 
+
 export const ActivityActionTranslationMap: Record<
   SupportedActivityActionType,
   string
 > = {
-  [ActivityLogActions.ACTION_PAGE_CREATE]: 'created a page',
-  [ActivityLogActions.ACTION_PAGE_UPDATE]: 'updated a page',
-  [ActivityLogActions.ACTION_PAGE_DELETE]: 'deleted a page',
-  [ActivityLogActions.ACTION_PAGE_DELETE_COMPLETELY]: 'deleted a page',
-  [ActivityLogActions.ACTION_PAGE_RENAME]: 'renamed a page',
-  [ActivityLogActions.ACTION_PAGE_REVERT]: 'reverted a page',
-  [ActivityLogActions.ACTION_PAGE_DUPLICATE]: 'duplicated a page',
-  [ActivityLogActions.ACTION_PAGE_LIKE]: 'liked a page',
-  [ActivityLogActions.ACTION_COMMENT_CREATE]: 'posted a comment',
+  [ActivityLogActions.ACTION_PAGE_CREATE]: 'page_create',
+  [ActivityLogActions.ACTION_PAGE_UPDATE]: 'page_update',
+  [ActivityLogActions.ACTION_PAGE_DELETE]: 'page_delete',
+  [ActivityLogActions.ACTION_PAGE_DELETE_COMPLETELY]: 'page_delete_completely',
+  [ActivityLogActions.ACTION_PAGE_RENAME]: 'page_rename',
+  [ActivityLogActions.ACTION_PAGE_REVERT]: 'page_revert',
+  [ActivityLogActions.ACTION_PAGE_DUPLICATE]: 'page_duplicate',
+  [ActivityLogActions.ACTION_PAGE_LIKE]: 'page_like',
+  [ActivityLogActions.ACTION_COMMENT_CREATE]: 'comment_create',
 };
 
 export const IconActivityTranslationMap: Record<
@@ -34,11 +36,11 @@ export const IconActivityTranslationMap: Record<
 };
 
 const translateAction = (action: SupportedActivityActionType): string => {
-  return ActivityActionTranslationMap[action] || 'performed an unknown action';
+  return ActivityActionTranslationMap[action] || 'KEY_MISSING_ERROR';
 };
 
 const setIcon = (action: SupportedActivityActionType): string => {
-  return IconActivityTranslationMap[action] || 'performed an unknown action';
+  return IconActivityTranslationMap[action] || '';
 };
 
 const calculateTimePassed = (date: Date): string => {
@@ -49,23 +51,22 @@ const calculateTimePassed = (date: Date): string => {
 
 
 export const ActivityListItem = ({ activity }: { activity: ActivityHasUserId }): JSX.Element => {
-  const username = activity.user?.username;
+  const { t } = useTranslation();
+
   const action = activity.action as SupportedActivityActionType;
+  const keyToTranslate = translateAction(action);
+  const fullKeyPath = `user_home_page.${keyToTranslate}`;
 
   return (
     <div className="activity-row">
-      <p className="text-muted small mb-1">
+      <p className="small mb-1">
         {setIcon(action)}
 
-        <span className="text-gray-900 dark:text-white">
-          {username}
-        </span>
-
         <strong className="text-gray-900 dark:text-white">
-          {' '}{translateAction(action)}
+          {' '}{t(fullKeyPath)}
         </strong>
 
-        <span className="text-muted text-xs">
+        <span className="text-secondary">
           {' '}・{' '}
           {calculateTimePassed(activity.createdAt)}
         </span>