From 78d04beb26706d09c757404b454c2285d674bde6 Mon Sep 17 00:00:00 2001 From: mebtte Date: Tue, 1 Aug 2023 15:23:54 +0800 Subject: [PATCH] improve i18n --- apps/pwa/src/i18n/en_us.ts | 10 ++++++ apps/pwa/src/i18n/zh_hans.ts | 10 ++++++ .../pages/player/singer_drawer/edit_menu.tsx | 36 +++++++++---------- shared/constants/index.ts | 2 +- 4 files changed, 39 insertions(+), 19 deletions(-) diff --git a/apps/pwa/src/i18n/en_us.ts b/apps/pwa/src/i18n/en_us.ts index 95d8a293..3ebe8e53 100644 --- a/apps/pwa/src/i18n/en_us.ts +++ b/apps/pwa/src/i18n/en_us.ts @@ -69,4 +69,14 @@ export default { year_of_issue: 'year of issue', edit_year_of_issue: 'edit year of issue', year_of_issue_limit: 'year of issue should be between %s1 and %s2', + edit_avatar: 'edit avatar', + please_select_an_avatar: 'please select an avatar', + reset_avatar: 'reset avatar', + reset_avatar_question: 'Are you sure to reset avatar ?', + edit_name: 'edit name', + name: 'name', + please_enter_the_name: 'please enter the name', + edit_alias: 'edit alias', + alias: 'alias', + view_modify_record: 'view modify record', }; diff --git a/apps/pwa/src/i18n/zh_hans.ts b/apps/pwa/src/i18n/zh_hans.ts index 35685a46..c5117cf5 100644 --- a/apps/pwa/src/i18n/zh_hans.ts +++ b/apps/pwa/src/i18n/zh_hans.ts @@ -68,6 +68,16 @@ const zhCN: { year_of_issue: '发行年份', edit_year_of_issue: '编辑发行年份', year_of_issue_limit: '发行年份应在 %s1 - %s2 之间', + edit_avatar: '编辑头像', + please_select_an_avatar: '请选择一个头像', + reset_avatar: '重置头像', + reset_avatar_question: '确定重置头像吗?', + edit_name: '编辑名字', + name: '名字', + please_enter_the_name: '请输入名字', + edit_alias: '编辑别名', + alias: '别名', + view_modify_record: '查看修改记录', }; export default zhCN; diff --git a/apps/pwa/src/pages/player/singer_drawer/edit_menu.tsx b/apps/pwa/src/pages/player/singer_drawer/edit_menu.tsx index 0f356160..046db8c6 100644 --- a/apps/pwa/src/pages/player/singer_drawer/edit_menu.tsx +++ b/apps/pwa/src/pages/player/singer_drawer/edit_menu.tsx @@ -20,6 +20,7 @@ import stringArrayEqual from '#/utils/string_array_equal'; import dialog from '@/utils/dialog'; import logger from '@/utils/logger'; import notice from '@/utils/notice'; +import { t } from '@/i18n'; import { ZIndex } from '../constants'; import e, { EventType } from './eventemitter'; import { Singer } from './constants'; @@ -65,13 +66,13 @@ function EditMenu({ singer }: { singer: Singer }) { } - label="编辑头像" + label={t('edit_avatar')} onClick={() => dialog.imageCut({ - title: '编辑头像', + title: t('edit_avatar'), onConfirm: async (blob) => { if (!blob) { - notice.error('请选择头像'); + notice.error(t('please_select_an_avatar')); return false; } try { @@ -88,7 +89,7 @@ function EditMenu({ singer }: { singer: Singer }) { id: singer.id, }); } catch (error) { - logger.error(error, "Updating singer's avatar fail"); + logger.error(error, "Failed to update singers'avatar"); notice.error(error.message); return false; } @@ -100,11 +101,10 @@ function EditMenu({ singer }: { singer: Singer }) { } - label="重置头像" + label={t('reset_avatar')} onClick={() => dialog.confirm({ - title: '确定重置头像吗?', - content: '重置后歌手将使用默认头像', + title: t('reset_avatar_question'), onConfirm: async () => { try { await updateSinger({ @@ -116,7 +116,7 @@ function EditMenu({ singer }: { singer: Singer }) { id: singer.id, }); } catch (error) { - logger.error(error, '重置歌手头像失败'); + logger.error(error, "Failed to reset singer's avatar"); dialog.alert({ content: error.message, }); @@ -130,17 +130,17 @@ function EditMenu({ singer }: { singer: Singer }) { } - label="编辑名字" + label={t('edit_name')} onClick={() => dialog.input({ - title: '编辑名字', - label: '名字', + title: t('edit_name'), + label: t('name'), initialValue: singer.name, maxLength: NAME_MAX_LENGTH, onConfirm: async (name: string) => { const trimmedName = name.replace(/\s+/g, ' ').trim(); if (!trimmedName) { - notice.error('请输入名字'); + notice.error(t('please_enter_the_name')); return false; } if (singer.name !== trimmedName) { @@ -154,7 +154,7 @@ function EditMenu({ singer }: { singer: Singer }) { id: singer.id, }); } catch (error) { - logger.error(error, '更新歌手名字失败'); + logger.error(error, "Failed to update singer's name"); notice.error(error.message); return false; } @@ -166,11 +166,11 @@ function EditMenu({ singer }: { singer: Singer }) { } - label="编辑别名" + label={t('edit_alias')} onClick={() => dialog.inputList({ - title: '编辑别名', - label: '别名', + title: t('edit_alias'), + label: t('alias'), initialValue: singer.aliases, maxLength: ALIAS_MAX_LENGTH, onConfirm: async (aliases: string[]) => { @@ -189,7 +189,7 @@ function EditMenu({ singer }: { singer: Singer }) { id: singer.id, }); } catch (error) { - logger.error(error, "Updating singer's aliases fail"); + logger.error(error, "Failed to update singer's alias"); notice.error(error.message); return false; } @@ -201,7 +201,7 @@ function EditMenu({ singer }: { singer: Singer }) { } - label="查看修改记录" + label={t('view_modify_record')} onClick={() => playerEventemitter.emit( PlayerEventType.OPEN_SINGER_MODIFY_RECORD_DRAWER, diff --git a/shared/constants/index.ts b/shared/constants/index.ts index 695bcb8f..f52237c1 100644 --- a/shared/constants/index.ts +++ b/shared/constants/index.ts @@ -92,8 +92,8 @@ export const SHARED_MUSICBILL_INVITATION_MINIMAL_TTL = 1000 * 60 * 60 * 24 * 3; export const SINGER_MODIFY_RECORD_TTL = 1000 * 60 * 60 * 24 * 180; export enum Language { - EN_US = 'en-us', ZH_HANS = 'zh-hans', + EN_US = 'en-us', JA = 'ja', } export const LANGUAGES = Object.values(Language);