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: '创建新标签',