diff --git a/packages/frontend/core/src/components/affine/auth/ai-login-required.tsx b/packages/frontend/core/src/components/affine/auth/ai-login-required.tsx index 9af682eb11fc2..7d4dd77ac2197 100644 --- a/packages/frontend/core/src/components/affine/auth/ai-login-required.tsx +++ b/packages/frontend/core/src/components/affine/auth/ai-login-required.tsx @@ -1,11 +1,13 @@ import { useConfirmModal } from '@affine/component'; import { authAtom } from '@affine/core/atoms'; +import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { atom, useAtom, useSetAtom } from 'jotai'; import { useCallback, useEffect } from 'react'; export const showAILoginRequiredAtom = atom(false); export const AiLoginRequiredModal = () => { + const t = useAFFiNEI18N(); const [open, setOpen] = useAtom(showAILoginRequiredAtom); const setAuth = useSetAtom(authAtom); const { openConfirmModal, closeConfirmModal } = useConfirmModal(); @@ -17,23 +19,23 @@ export const AiLoginRequiredModal = () => { useEffect(() => { if (open) { openConfirmModal({ - title: 'Sign in to Continue', - description: - 'To use AFFiNE AI, please sign in to your AFFiNE Cloud account.', + title: t['com.affine.ai.login-required.dialog-title'](), + description: t['com.affine.ai.login-required.dialog-content'](), onConfirm: () => { setOpen(false); openSignIn(); }, confirmButtonOptions: { - children: 'Sign in', + children: t['com.affine.ai.login-required.dialog-confirm'](), type: 'primary', }, + cancelText: t['com.affine.ai.login-required.dialog-cancel'](), onOpenChange: setOpen, }); } else { closeConfirmModal(); } - }, [closeConfirmModal, open, openConfirmModal, openSignIn, setOpen]); + }, [closeConfirmModal, open, openConfirmModal, openSignIn, setOpen, t]); return null; }; diff --git a/packages/frontend/i18n/src/resources/en.json b/packages/frontend/i18n/src/resources/en.json index f5235db815a3b..05f8cc647d0d8 100644 --- a/packages/frontend/i18n/src/resources/en.json +++ b/packages/frontend/i18n/src/resources/en.json @@ -1304,5 +1304,9 @@ "com.affine.ai-onboarding.local.action-dismiss": "Dismiss", "com.affine.ai-onboarding.local.action-learn-more": "Learn More", "com.affine.ai-onboarding.edgeless.title": "Meet AFFiNE AI", - "com.affine.ai-onboarding.edgeless.message": "Lets you think bigger, create faster, work smarter and save time for every project." + "com.affine.ai-onboarding.edgeless.message": "Lets you think bigger, create faster, work smarter and save time for every project.", + "com.affine.ai.login-required.dialog-title": "Sign in to Continue", + "com.affine.ai.login-required.dialog-content": "To use AFFiNE AI, please sign in to your AFFiNE Cloud account.", + "com.affine.ai.login-required.dialog-confirm": "Sign in", + "com.affine.ai.login-required.dialog-cancel": "Cancel" }