Shun Miyazawa 1 год назад
Родитель
Сommit
9f7a32bc2c

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

@@ -503,7 +503,12 @@
     "show_error_detail": "Show error details"
     "show_error_detail": "Show error details"
   },
   },
   "modal_ai_assistant": {
   "modal_ai_assistant": {
-    "default_instruction": "You are the knowledge assistant for this Wiki. Please provide support according to the following guidelines:\n\n- Analyze document relevance and connect information\n- Suggest new perspectives\n- Provide accurate information based on understanding the intent of questions\nI will provide information in a structured format when necessary."
+    "default_instruction": "You are the knowledge assistant for this Wiki. Please provide support according to the following guidelines:\n\n- Analyze document relevance and connect information\n- Suggest new perspectives\n- Provide accurate information based on understanding the intent of questions\nI will provide information in a structured format when necessary.",
+    "page_mode_title": {
+      "share": "Assistant Sharing",
+      "pages": "Reference Pages",
+      "instruction": "Assistant Instructions"
+    }
   },
   },
   "link_edit": {
   "link_edit": {
     "edit_link": "Edit Link",
     "edit_link": "Edit Link",

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

@@ -498,7 +498,12 @@
     "show_error_detail": "Détails de l'exposition"
     "show_error_detail": "Détails de l'exposition"
   },
   },
   "modal_ai_assistant": {
   "modal_ai_assistant": {
-    "default_instruction": "Vous êtes l'assistant de connaissances pour ce Wiki. Veuillez fournir un support selon les directives suivantes :\n\n- Analyser la pertinence des documents et relier les informations\n- Proposer de nouvelles perspectives\n- Fournir des informations précises en comprenant l'intention des questions\nJe fournirai les informations sous forme structurée si nécessaire."
+    "default_instruction": "Vous êtes l'assistant de connaissances pour ce Wiki. Veuillez fournir un support selon les directives suivantes :\n\n- Analyser la pertinence des documents et relier les informations\n- Proposer de nouvelles perspectives\n- Fournir des informations précises en comprenant l'intention des questions\nJe fournirai les informations sous forme structurée si nécessaire.",
+    "page_mode_title": {
+      "share": "Partage de l'assistant",
+      "pages": "Pages de référence",
+      "instruction": "Instructions de l'assistant"
+    }
   },
   },
   "link_edit": {
   "link_edit": {
     "edit_link": "Modifier lien",
     "edit_link": "Modifier lien",

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

@@ -536,7 +536,12 @@
     "show_error_detail": "詳細を表示"
     "show_error_detail": "詳細を表示"
   },
   },
   "modal_ai_assistant": {
   "modal_ai_assistant": {
-    "default_instruction": "あなたはこのWikiの知識アシスタントです。以下の方針で支援を行ってください:\n\n- 文書の関連性分析と情報の関連付け\n- 新しい視点の提案\n- 質問の意図を理解した的確な情報提供 必要に応じて構造化された形式で情報を提供します。"
+    "default_instruction": "あなたはこのWikiの知識アシスタントです。以下の方針で支援を行ってください:\n\n- 文書の関連性分析と情報の関連付け\n- 新しい視点の提案\n- 質問の意図を理解した的確な情報提供 必要に応じて構造化された形式で情報を提供します。",
+    "page_mode_title": {
+      "share": "アシスタントの共有",
+      "pages": "参照ページ",
+      "instruction": "アシスタントへの指示"
+    }
   },
   },
   "link_edit": {
   "link_edit": {
     "edit_link": "リンク編集",
     "edit_link": "リンク編集",

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

@@ -492,7 +492,12 @@
     "show_error_detail": "显示详情"
     "show_error_detail": "显示详情"
   },
   },
   "modal_ai_assistant": {
   "modal_ai_assistant": {
-    "default_instruction": "您是这个Wiki的知识助手。请按照以下方针提供支持:\n\n- 分析文档相关性并连接信息\n- 提出新的观点\n- 理解问题意图并提供准确信息\n必要时我会以结构化的形式提供信息。"
+    "default_instruction": "您是这个Wiki的知识助手。请按照以下方针提供支持:\n\n- 分析文档相关性并连接信息\n- 提出新的观点\n- 理解问题意图并提供准确信息\n必要时我会以结构化的形式提供信息。",
+    "page_mode_title": {
+      "share": "助理共享",
+      "pages": "参考页面",
+      "instruction": "助理指示"
+    }
   },
   },
   "link_edit": {
   "link_edit": {
     "edit_link": "Edit Link",
     "edit_link": "Edit Link",

+ 4 - 2
apps/app/src/features/openai/client/components/AiAssistant/AiAssistantManagementModal/AiAssistantManagementHeader.tsx

@@ -1,9 +1,11 @@
+import { useTranslation } from 'react-i18next';
 import { ModalHeader } from 'reactstrap';
 import { ModalHeader } from 'reactstrap';
 
 
 import { useAiAssistantManagementModal, AiAssistantManagementModalPageMode } from '../../../stores/ai-assistant';
 import { useAiAssistantManagementModal, AiAssistantManagementModalPageMode } from '../../../stores/ai-assistant';
 
 
 export const AiAssistantManagementHeader = (): JSX.Element => {
 export const AiAssistantManagementHeader = (): JSX.Element => {
-  const { close, changePageMode } = useAiAssistantManagementModal();
+  const { t } = useTranslation();
+  const { data, close, changePageMode } = useAiAssistantManagementModal();
 
 
   return (
   return (
     <ModalHeader
     <ModalHeader
@@ -17,7 +19,7 @@ export const AiAssistantManagementHeader = (): JSX.Element => {
         <button type="button" className="btn p-0 me-3" onClick={() => changePageMode(AiAssistantManagementModalPageMode.HOME)}>
         <button type="button" className="btn p-0 me-3" onClick={() => changePageMode(AiAssistantManagementModalPageMode.HOME)}>
           <span className="material-symbols-outlined text-primary">chevron_left</span>
           <span className="material-symbols-outlined text-primary">chevron_left</span>
         </button>
         </button>
-        <span>アシスタントへの指示</span>
+        <span>{t(`modal_ai_assistant.page_mode_title.${data?.pageMode}`)}</span>
       </div>
       </div>
     </ModalHeader>
     </ModalHeader>
   );
   );

+ 6 - 3
apps/app/src/features/openai/client/components/AiAssistant/AiAssistantManagementModal/AiAssistantManagementHome.tsx

@@ -1,5 +1,6 @@
 import React from 'react';
 import React from 'react';
 
 
+import { useTranslation } from 'react-i18next';
 import {
 import {
   ModalHeader, ModalBody, ModalFooter, Input,
   ModalHeader, ModalBody, ModalFooter, Input,
 } from 'reactstrap';
 } from 'reactstrap';
@@ -13,6 +14,8 @@ type Props = {
 export const AiAssistantManagementHome = (props: Props): JSX.Element => {
 export const AiAssistantManagementHome = (props: Props): JSX.Element => {
   const { instruction } = props;
   const { instruction } = props;
 
 
+  const { t } = useTranslation();
+
   const { close: closeAiAssistantManagementModal, changePageMode } = useAiAssistantManagementModal();
   const { close: closeAiAssistantManagementModal, changePageMode } = useAiAssistantManagementModal();
 
 
   return (
   return (
@@ -53,7 +56,7 @@ export const AiAssistantManagementHome = (props: Props): JSX.Element => {
               type="button"
               type="button"
               className="btn w-100 d-flex justify-content-between align-items-center py-3 mb-2 border-0"
               className="btn w-100 d-flex justify-content-between align-items-center py-3 mb-2 border-0"
             >
             >
-              <span className="fw-normal">アシスタントの共有</span>
+              <span className="fw-normal">{t('modal_ai_assistant.page_mode_title.share')}</span>
               <div className="d-flex align-items-center text-secondary">
               <div className="d-flex align-items-center text-secondary">
                 <span>UserNameのみ</span>
                 <span>UserNameのみ</span>
                 <span className="material-symbols-outlined ms-2 align-middle">chevron_right</span>
                 <span className="material-symbols-outlined ms-2 align-middle">chevron_right</span>
@@ -64,7 +67,7 @@ export const AiAssistantManagementHome = (props: Props): JSX.Element => {
               type="button"
               type="button"
               className="btn w-100 d-flex justify-content-between align-items-center py-3 mb-2 border-0"
               className="btn w-100 d-flex justify-content-between align-items-center py-3 mb-2 border-0"
             >
             >
-              <span className="fw-normal">参照ページ</span>
+              <span className="fw-normal">{t('modal_ai_assistant.page_mode_title.pages')}</span>
               <div className="d-flex align-items-center text-secondary">
               <div className="d-flex align-items-center text-secondary">
                 <span>3ページ</span>
                 <span>3ページ</span>
                 <span className="material-symbols-outlined ms-2 align-middle">chevron_right</span>
                 <span className="material-symbols-outlined ms-2 align-middle">chevron_right</span>
@@ -76,7 +79,7 @@ export const AiAssistantManagementHome = (props: Props): JSX.Element => {
               onClick={() => { changePageMode(AiAssistantManagementModalPageMode.INSTRUCTION) }}
               onClick={() => { changePageMode(AiAssistantManagementModalPageMode.INSTRUCTION) }}
               className="btn w-100 d-flex justify-content-between align-items-center py-3 mb-2 border-0"
               className="btn w-100 d-flex justify-content-between align-items-center py-3 mb-2 border-0"
             >
             >
-              <span className="fw-normal">アシスタントへの指示</span>
+              <span className="fw-normal">{t('modal_ai_assistant.page_mode_title.instruction')}</span>
               <div className="d-flex align-items-center text-secondary">
               <div className="d-flex align-items-center text-secondary">
                 <span className="text-truncate" style={{ maxWidth: '280px' }}>
                 <span className="text-truncate" style={{ maxWidth: '280px' }}>
                   {instruction}
                   {instruction}

+ 2 - 0
apps/app/src/features/openai/client/stores/ai-assistant.tsx

@@ -5,6 +5,8 @@ import type { SWRResponse } from 'swr';
 
 
 export const AiAssistantManagementModalPageMode = {
 export const AiAssistantManagementModalPageMode = {
   HOME: 'home',
   HOME: 'home',
+  SHARE: 'share',
+  PAGES: 'pages',
   INSTRUCTION: 'instruction',
   INSTRUCTION: 'instruction',
 } as const;
 } as const;