diff --git a/web/app/components/base/file-uploader/file-from-link-or-local/index.tsx b/web/app/components/base/file-uploader/file-from-link-or-local/index.tsx index 93c18626bc..0621d4f8d8 100644 --- a/web/app/components/base/file-uploader/file-from-link-or-local/index.tsx +++ b/web/app/components/base/file-uploader/file-from-link-or-local/index.tsx @@ -2,6 +2,7 @@ import { memo, useState, } from 'react' +import { useTranslation } from 'react-i18next' import { RiUploadCloud2Line } from '@remixicon/react' import { PortalToFollowElem, @@ -22,6 +23,7 @@ const FileFromLinkOrLocal = ({ showFromLocal = true, trigger, }: FileFromLinkOrLocalProps) => { + const { t } = useTranslation() const [open, setOpen] = useState(false) const [url, setUrl] = useState('') @@ -53,7 +55,7 @@ const FileFromLinkOrLocal = ({ disabled={!url} onClick={() => onLink?.(url)} > - OK + {t('common.operation.ok')} ) @@ -74,7 +76,7 @@ const FileFromLinkOrLocal = ({ variant='secondary-accent' > - Upload from computer + {t('common.fileUploader.uploadFromComputer')} ) } diff --git a/web/app/components/base/file-uploader/file-uploader-in-attachment/index.tsx b/web/app/components/base/file-uploader/file-uploader-in-attachment/index.tsx index 2174cc9df0..ff4a61221d 100644 --- a/web/app/components/base/file-uploader/file-uploader-in-attachment/index.tsx +++ b/web/app/components/base/file-uploader/file-uploader-in-attachment/index.tsx @@ -6,6 +6,7 @@ import { RiLink, RiUploadCloud2Line, } from '@remixicon/react' +import { useTranslation } from 'react-i18next' import FileFromLinkOrLocal from '../file-from-link-or-local' import FileInAttachmentItem from './file-in-attachment-item' import Button from '@/app/components/base/button' @@ -17,15 +18,16 @@ type Option = { icon: JSX.Element } const FileUploaderInAttachment = () => { + const { t } = useTranslation() const options = [ { value: 'local', - label: 'Local upload', + label: t('common.fileUploader.uploadFromComputer'), icon: , }, { value: 'link', - label: 'Paste file link', + label: t('common.fileUploader.pasteFileLink'), icon: , }, ] diff --git a/web/i18n/en-US/common.ts b/web/i18n/en-US/common.ts index 5c7a3d1d0e..8ec717d071 100644 --- a/web/i18n/en-US/common.ts +++ b/web/i18n/en-US/common.ts @@ -552,6 +552,10 @@ const translation = { pasteImageLinkInvalid: 'Invalid image link', imageUpload: 'Image Upload', }, + fileUploader: { + uploadFromComputer: 'Local upload', + pasteImageLink: 'Paste file link', + }, tag: { placeholder: 'All Tags', addNew: 'Add new tag', diff --git a/web/i18n/zh-Hans/common.ts b/web/i18n/zh-Hans/common.ts index e0072e2cba..f5144af7a1 100644 --- a/web/i18n/zh-Hans/common.ts +++ b/web/i18n/zh-Hans/common.ts @@ -548,6 +548,10 @@ const translation = { pasteImageLinkInvalid: '图片链接无效', imageUpload: '图片上传', }, + fileUploader: { + uploadFromComputer: '从本地上传', + pasteFileLink: '粘贴文件链接', + }, tag: { placeholder: '全部标签', addNew: '创建新标签',