Преглед изворни кода

Modify translation for error branch and update for the parent-child f… (#12127)

Hanqing Zhao пре 3 месеци
родитељ
комит
adfbfc1255

+ 2 - 2
web/i18n/ja-JP/app-debug.ts

@@ -11,7 +11,7 @@ const translation = {
     advancedWarning: {
       title: 'エキスパートモードに切り替えました。PROMPTを変更すると、基本モードに戻ることはできません。',
       description: 'エキスパートモードでは、PROMPT全体を編集できます。',
-      learnMore: '詳細を見る',
+      learnMore: '詳細はこちら',
       ok: 'OK',
     },
     operation: {
@@ -150,7 +150,7 @@ const translation = {
       title: '会話履歴',
       description: '会話の役割に接頭辞名を設定します',
       tip: '会話履歴は有効になっていません。上記のプロンプトに <histories> を追加してください。',
-      learnMore: '詳細を見る',
+      learnMore: '詳細はこちら',
       editModal: {
         title: '会話役割名の編集',
         userPrefix: 'ユーザー接頭辞',

+ 10 - 10
web/i18n/ja-JP/common.ts

@@ -33,7 +33,7 @@ const translation = {
     reload: '再読み込み',
     ok: 'OK',
     log: 'ログ',
-    learnMore: '詳細を見る',
+    learnMore: '詳細はこちら',
     params: 'パラメータ',
     duplicate: '重複',
     rename: '名前の変更',
@@ -42,11 +42,11 @@ const translation = {
     openInNewTab: '新しいタブで開く',
     zoomOut: 'ズームアウト',
     copyImage: '画像をコピー',
-    viewMore: 'もっと見る',
-    view: '眺める',
-    close: '閉める',
-    saveAndRegenerate: '子チャンクの保存と再生成',
-    regenerate: '再生',
+    saveAndRegenerate: '保存して子チャンクを再生成',
+    close: '閉じる',
+    view: '表示',
+    viewMore: 'さらに表示',
+    regenerate: '再生',
   },
   errorMsg: {
     fieldRequired: '{{field}}は必要です',
@@ -393,7 +393,7 @@ const translation = {
     configure: '設定',
     notion: {
       title: 'ノーション',
-      description: '知識データソースとしてノーションを使用します。',
+      description: 'ナレッジデータソースとしてノーションを使用します。',
       connectedWorkspace: '接続済みワークスペース',
       addWorkspace: 'ワークスペースの追加',
       connected: '接続済み',
@@ -480,10 +480,10 @@ const translation = {
     documents: 'ドキュメント',
     hitTesting: '検索テスト',
     settings: '設定',
-    emptyTip: '関連付けられた知識がありません。アプリケーションやプラグインに移動して関連付けを完了してください。',
+    emptyTip: 'このナレッジはどのアプリケーションにも統合されていません。ドキュメントを参照してガイダンスを確認してください。',
     viewDoc: 'ドキュメントを表示',
     relatedApp: '関連アプリ',
-    noRelatedApp: 'リンクされたアプリはありません',
+    noRelatedApp: '関連付けられたアプリはありません',
   },
   voiceInput: {
     speaking: '今話しています...',
@@ -508,7 +508,7 @@ const translation = {
     conversationNameCanNotEmpty: '会話名は必須です',
     citation: {
       title: '引用',
-      linkToDataset: '知識へのリンク',
+      linkToDataset: 'ナレッジへのリンク',
       characters: '文字数:',
       hitCount: '検索回数:',
       vectorHash: 'ベクトルハッシュ:',

+ 40 - 40
web/i18n/ja-JP/dataset-creation.ts

@@ -4,9 +4,9 @@ const translation = {
       creation: 'ナレッジの作成',
       update: 'データの追加',
     },
-    one: 'データソースの選択',
-    two: 'テキストの前処理とクリーニング',
-    three: '実行して完了',
+    one: 'データソース',
+    two: 'テキスト進行中',
+    three: '実行と完成',
   },
   error: {
     unavailable: 'このナレッジは利用できません',
@@ -16,6 +16,11 @@ const translation = {
     apiKeyPlaceholder: 'firecrawl.devからのAPIキー',
     getApiKeyLinkText: 'firecrawl.devからAPIキーを取得する',
   },
+  jinaReader: {
+    getApiKeyLinkText: '無料のAPIキーを jina.ai で取得',
+    apiKeyPlaceholder: 'jina.ai からの API キー',
+    configJinaReader: 'Jina Readerの設定',
+  },
   stepOne: {
     filePreview: 'ファイルプレビュー',
     pagePreview: 'ページプレビュー',
@@ -42,6 +47,7 @@ const translation = {
     notionSyncTitle: 'Notionが接続されていません',
     notionSyncTip: 'Notionと同期するには、まずNotionへの接続が必要です。',
     connect: '接続する',
+    cancel: 'キャンセル',
     button: '次へ',
     emptyDatasetCreation: '空のナレッジを作成します',
     modal: {
@@ -87,7 +93,6 @@ const translation = {
       jinaReaderNotConfiguredDescription: '無料のAPIキーを入力してJina Readerを設定します。',
       useSitemapTooltip: 'サイトマップに沿ってサイトをクロールします。そうでない場合、Jina Readerはページの関連性に基づいて繰り返しクロールし、ページ数は少なくなりますが、高品質のページが得られます。',
     },
-    cancel: 'キャンセル',
   },
   stepTwo: {
     segmentation: 'チャンク設定',
@@ -95,6 +100,16 @@ const translation = {
     autoDescription: 'チャンクと前処理ルールを自動的に設定します。初めてのユーザーはこれを選択することをおすすめします。',
     custom: 'カスタム',
     customDescription: 'チャンクのルール、チャンクの長さ、前処理ルールなどをカスタマイズします。',
+    general: '一般',
+    generalTip: '標準的なテキスト分割モードです。検索とコンテキスト抽出に同じチャンクを使用します。',
+    parentChild: '親子',
+    parentChildTip: '親子モードでは、子チャンクを検索に、親チャンクをコンテキスト抽出に使用します。',
+    parentChunkForContext: 'コンテキスト用親チャンク',
+    childChunkForRetrieval: '検索用子チャンク',
+    paragraph: '段落',
+    paragraphTip: '区切り文字と最大チャンク長に基づいてテキストを段落に分割し、分割されたテキストを検索用の親チャンクとして使用します。',
+    fullDoc: '全文',
+    fullDocTip: 'ドキュメント全体を親チャンクとして使用し、直接検索します。パフォーマンス上の理由から、10000トークンを超えるテキストは自動的に切り捨てられます。',
     separator: 'セグメント識別子',
     separatorPlaceholder: '例えば改行(\\\\n)や特殊なセパレータ(例:「***」)',
     maxLength: '最大チャンク長',
@@ -105,19 +120,22 @@ const translation = {
     removeExtraSpaces: '連続するスペース、改行、タブを置換する',
     removeUrlEmails: 'すべてのURLとメールアドレスを削除する',
     removeStopwords: '「a」「an」「the」などのストップワードを削除する',
-    preview: '確認&プレビュー',
+    preview: 'プレビュー',
+    previewChunk: 'チュンクをプレビュー',
     reset: 'リセット',
-    indexMode: 'インデックスモード',
+    indexMode: 'インデックス方法',
     qualified: '高品質',
-    recommend: 'おすすめ',
-    qualifiedTip: 'ユーザーのクエリに対してより高い精度を提供するために、デフォルトのシステム埋め込みインターフェースを呼び出して処理します。',
+    highQualityTip: '高品質モードで埋め込みを終了したら、経済的モードに戻すことはできません。',
+    recommend: '推奨',
+    qualifiedTip: '埋め込みモデルを呼び出してドキュメントを処理し、より正確な検索を行うと、LLMが高品質の回答を生成するのに役立ちます。',
     warning: 'モデルプロバイダのAPIキーを設定してください。',
     click: '設定に移動',
     economical: '経済的',
-    economicalTip: 'オフラインのベクトルエンジン、キーワードインデックスなどを使用して、トークンを消費せずに精度を低下させます。',
+    economicalTip: '検索時にチャンクあたり10個のキーワードを使用することで、精度は低下しますが、トークン消費を抑えられます。',
     QATitle: '質問と回答形式でセグメント化',
     QATip: 'このオプションを有効にすると、追加のトークンが消費されます',
     QALanguage: '使用言語',
+    useQALanguage: 'Q&A形式で分割',
     estimateCost: '見積もり',
     estimateSegment: '推定チャンク数',
     segmentCount: 'チャンク',
@@ -149,32 +167,19 @@ const translation = {
     datasetSettingLink: 'ナレッジ設定',
     separatorTip: '区切り文字は、テキストを区切るために使用される文字です。\\n\\n と \\n は、段落と行を区切るために一般的に使用される区切り記号です。カンマ (\\n\\n,\\n) と組み合わせると、最大チャンク長を超えると、段落は行で区切られます。自分で定義した特別な区切り文字を使用することもできます(例:***)。',
     maxLengthCheck: 'チャンクの最大長は {{limit}} 未満にする必要があります',
-    useQALanguage: 'Q&A 形式を使用したチャンク',
-    previewChunkTip: '左側の「Preview Chunk」ボタンをクリックして、プレビューをロードします',
-    qaSwitchHighQualityTipTitle: 'Q&A 形式には高品質のインデックス作成方法が必要',
-    qaSwitchHighQualityTipContent: '現在、Q&A 形式のチャンク化をサポートしているのは、高品質のインデックス メソッドのみです。高品質モードに切り替えますか?',
-    childChunkForRetrieval: '取得用の子チャンク',
-    fullDoc: 'フルドキュメント',
-    parentChildDelimiterTip: '区切り文字は、テキストを区切るために使用される文字です。\\n\\n は、元のドキュメントを大きな親チャンクに分割する場合に推奨されます。また、自分で定義した特別な区切り文字を使用することもできます。',
-    general: '全般',
-    switch: 'スイッチ',
-    parentChild: '親子',
-    parentChildChunkDelimiterTip: '区切り文字は、テキストを区切るために使用される文字です。\\n は、親チャンクを小さな子チャンクに分割する場合に推奨されます。また、自分で定義した特別な区切り文字を使用することもできます。',
-    generalTip: '一般的なテキストチャンクモードでは、取得されたチャンクとリコールされたチャンクは同じです。',
-    previewChunk: 'プレビューチャンク',
-    parentChunkForContext: 'コンテキストの親チャンク',
-    notAvailableForQA: 'Q&Aインデックスでは使用できません',
-    paragraph: '段落',
-    notAvailableForParentChild: '親子インデックスでは使用できません',
-    fullDocTip: 'ドキュメント全体が親チャンクとして使用され、直接取得されます。パフォーマンス上の理由から、10000トークンを超えるテキストは自動的に切り捨てられることに注意してください。',
-    previewChunkCount: '{{カウント}}推定チャンク',
-    paragraphTip: 'このモードでは、区切り記号とチャンクの最大長に基づいてテキストを段落に分割し、分割されたテキストを取得用の親チャンクとして使用します。',
-    highQualityTip: '高品質モードでの埋め込みが完了すると、経済モードに戻すことはできません。',
-    parentChildTip: '親子モードを使用する場合、子チャンクは取得に使用され、親チャンクはコンテキストとしての再呼び出しに使用されます。',
+    previewChunkTip: 'プレビューを読み込むには、左側の \'チュンクをプレビュー\' ボタンをクリックしてください',
+    previewChunkCount: '推定チャンク数: {{count}}',
+    switch: '切り替え',
+    qaSwitchHighQualityTipTitle: 'Q&A形式には高品質なインデックスが必要です',
+    qaSwitchHighQualityTipContent: '現在、高品質なインデックス作成のみがQ&A形式の分割をサポートしています。高品質モードに切り替えますか?',
+    notAvailableForParentChild: '親子インデックスでは利用できません',
+    notAvailableForQA: 'Q&Aインデックスでは利用できません',
+    parentChildDelimiterTip: '区切り文字とは、テキストを分割するために使用される文字です。\\n\\n は、元のドキュメントを大きな親チャンクに分割する際におすすめです。独自の区切り文字も使用できます。',
+    parentChildChunkDelimiterTip: '区切り文字とは、テキストを分割するために使用される文字です。\\n は、親チャンクを小さな子チャンクに分割する際におすすめです。独自の区切り文字も使用できます。',
   },
   stepThree: {
     creationTitle: '🎉 ナレッジが作成されました',
-    creationContent: 'ナレッジの名前は自動的に設定されましたが、いつでも変更できます',
+    creationContent: 'ナレッジの名前は自動的に設定されましたが、いつでも変更できます。',
     label: 'ナレッジ名',
     additionTitle: '🎉 ドキュメントがアップロードされました',
     additionP1: 'ドキュメントはナレッジにアップロードされました',
@@ -189,15 +194,10 @@ const translation = {
     modelButtonConfirm: '確認',
     modelButtonCancel: 'キャンセル',
   },
-  jinaReader: {
-    getApiKeyLinkText: '無料のAPIキーを jina.ai で取得',
-    apiKeyPlaceholder: 'jina.ai からの API キー',
-    configJinaReader: 'Jina Readerの設定',
-  },
   otherDataSource: {
-    description: '現在、Difyのナレッジベースには限られたデータソースしかありません。データソースをDifyナレッジベースに投稿することは、すべてのユーザーにとってプラットフォームの柔軟性とパワーを向上させるのに役立つ素晴らしい方法です。私たちのコントリビューションガイドは、簡単に始めることができます。詳細については、以下のリンクをクリックしてください。',
-    title: '他のデータソースに接続しますか?',
-    learnMore: '詳細情報',
+    title: '他のデータソースと接続しますか?',
+    description: '現在、Difyのナレッジベースには利用できるデータソースが限られています。Difyのナレッジベースにデータソースを提供いただくことは、プラットフォームの柔軟性と能力を向上させる上で非常に有益です。貢献ガイドをご用意していますので、ぜひご協力ください。詳細については、以下のリンクをクリックしてください。',
+    learnMore: '詳細はこちら',
   },
 }
 

+ 48 - 49
web/i18n/ja-JP/dataset-documents.ts

@@ -2,25 +2,26 @@ const translation = {
   list: {
     title: 'ドキュメント',
     desc: 'ナレッジのすべてのファイルがここに表示され、ナレッジ全体がDifyの引用やチャットプラグインを介してリンクされるか、インデックス化されることができます。',
+    learnMore: '詳細はこちら',
     addFile: 'ファイルを追加',
     addPages: 'ページを追加',
     addUrl: 'URLを追加',
     table: {
       header: {
         fileName: 'ファイル名',
+        chunkingMode: 'チャンキングモード',
         words: '単語数',
         hitCount: '検索回数',
         uploadTime: 'アップロード時間',
         status: 'ステータス',
         action: 'アクション',
-        chunkingMode: 'チャンクモード',
       },
       rename: '名前を変更',
       name: '名前',
     },
     action: {
       uploadFile: '新しいファイルをアップロード',
-      settings: 'セグメント設定',
+      settings: 'チャンク設定',
       addButton: 'チャンクを追加',
       add: 'チャンクを追加',
       batchAdd: '一括追加',
@@ -78,7 +79,6 @@ const translation = {
       error: 'インポートエラー',
       ok: 'OK',
     },
-    learnMore: '詳細情報',
   },
   metadata: {
     title: 'メタデータ',
@@ -318,29 +318,46 @@ const translation = {
     completed: '埋め込みが完了しました',
     error: '埋め込みエラー',
     docName: 'ドキュメントの前処理',
-    mode: 'セグメンテーションルール',
-    segmentLength: 'チャンクの長さ',
-    textCleaning: 'テキストの前処理',
+    mode: 'チャンキングモード',
+    segmentLength: '最大なチャンクの長さ',
+    textCleaning: 'テキストの前処理ルール',
     segments: '段落',
     highQuality: '高品質モード',
     economy: '経済モード',
     estimate: '推定消費量',
     stop: '処理を停止',
-    resume: '処理を再開',
+    pause: '処理を一時停止',
+    resume: '再開',
     automatic: '自動',
     custom: 'カスタム',
+    hierarchical: '親子チャンキング',
     previewTip: '埋め込みが完了した後、段落のプレビューが利用可能になります',
     parentMaxTokens: '親',
-    hierarchical: '親子',
-    pause: '休止',
-    childMaxTokens: '子供',
+    childMaxTokens: '子',
   },
   segment: {
     paragraphs: '段落',
+    chunks_one: 'チャンク',
+    chunks_other: 'チャンク',
+    parentChunks_one: '親チャンク',
+    parentChunks_other: '親チャンク',
+    childChunks_one: '子チャンク',
+    childChunks_other: '子チャンク',
+    searchResults_zero: '検索結果',
+    searchResults_one: '検索結果',
+    searchResults_other: '検索結果',
+    empty: 'チャンクが見つかりません',
+    clearFilter: 'フィルターをクリア',
+    chunk: 'チャンク',
+    parentChunk: '親チャンク',
+    newChunk: '新しいチャンク',
+    childChunk: '子チャンク',
+    newChildChunk: '新しい子チャンク',
     keywords: 'キーワード',
     addKeyWord: 'キーワードを追加',
     keywordError: 'キーワードの最大長は20です',
-    characters: '文字',
+    characters_one: '文字',
+    characters_other: '文字',
     hitCount: '検索回数',
     vectorHash: 'ベクトルハッシュ: ',
     questionPlaceholder: 'ここに質問を追加',
@@ -349,46 +366,28 @@ const translation = {
     answerEmpty: '回答は空にできません',
     contentPlaceholder: 'ここに内容を追加',
     contentEmpty: '内容は空にできません',
-    newTextSegment: '新しいテキストセグメント',
-    newQaSegment: '新しいQ&Aセグメント',
+    newTextSegment: '新しいテキストチャンク',
+    newQaSegment: '新しいQ&Aチャンク',
+    addChunk: 'チャンクを追加',
+    addChildChunk: '子チャンクを追加',
+    addAnother: '続けて追加',
     delete: 'このチャンクを削除しますか?',
-    searchResults_other: '業績',
-    edited: '編集',
-    parentChunk: '親チャンク',
-    regeneratingTitle: '子チャンクの再生成',
-    collapseChunks: 'チャンクの折りたたみ',
-    characters_other: '文字',
-    childChunk: '子チャンク',
-    regenerationSuccessMessage: 'このウィンドウは閉じることができます。',
-    editChildChunk: '子チャンクの編集',
-    clearFilter: 'フィルターをクリア',
+    chunkAdded: 'チャンクを追加しました',
+    childChunkAdded: '子チャンクを追加しました',
+    editChunk: 'チャンクを編集',
+    editParentChunk: '親チャンクを編集',
+    editChildChunk: '子チャンクを編集',
     chunkDetail: 'チャンクの詳細',
-    regenerationSuccessTitle: '再生完了',
-    parentChunks_one: '親チャンク',
-    newChunk: '新しいチャンク',
-    childChunks_other: '子チャンク',
-    searchResults_zero: '結果',
-    addChildChunk: '子チャンクを追加',
-    searchResults_one: '結果',
-    regeneratingMessage: 'これには少し時間がかかる場合がありますので、お待ちください...',
-    empty: 'チャンクが見つかりません',
-    editedAt: 'で編集',
-    addAnother: '別のものを追加',
-    chunkAdded: '1チャンク追加',
-    childChunks_one: '子チャンク',
-    regenerationConfirmMessage: '子チャンクを再生成すると、編集されたチャンクや新しく追加されたチャンクなど、現在の子チャンクが上書きされます。再生は元に戻せません。',
-    newChildChunk: '新しい子チャンク',
-    childChunkAdded: '子チャンクが1つ追加',
-    regenerationConfirmTitle: '子チャンクを再生成しますか?',
-    expandChunks: 'チャンクの展開',
-    chunks_one: 'チャンク',
-    editChunk: 'チャンクの編集',
-    editParentChunk: '親チャンクの編集',
-    parentChunks_other: '親チャンク',
-    characters_one: '文字',
-    chunks_other: 'チャンク',
-    addChunk: 'チャンクを追加',
-    chunk: 'チャンク',
+    regenerationConfirmTitle: '子チャンクを再生成しますか?',
+    regenerationConfirmMessage: '再生成された子チャンクは、編集済みまたは新規追加の子チャンクを含め、現在の子チャンクを上書きします。この操作は取り消せません。',
+    regeneratingTitle: '子チャンクを生成中',
+    regeneratingMessage: '子チャンクの生成には時間がかかります、しばらくお待ちください。',
+    regenerationSuccessTitle: '子チャンクの再生成が完了しました',
+    regenerationSuccessMessage: 'ウィンドウを閉じても大丈夫です',
+    edited: '編集済み',
+    editedAt: '編集日時',
+    expandChunks: 'チャンクを展開',
+    collapseChunks: 'チャンクを折りたたむ',
   },
 }
 

+ 5 - 6
web/i18n/ja-JP/dataset-hit-testing.ts

@@ -2,7 +2,7 @@ const translation = {
   title: '検索テスト',
   desc: '与えられたクエリテキストに基づいたナレッジのヒット効果をテストします。',
   dateTimeFormat: 'MM/DD/YYYY hh:mm A',
-  recents: '最近の結果',
+  records: '記録',
   table: {
     header: {
       source: 'ソース',
@@ -18,18 +18,17 @@ const translation = {
     testing: 'テスト中',
   },
   hit: {
-    title: '検索結果パラグラフ',
+    title: '取得したチャンク{{num}}個',
     emptyTip: '検索テストの結果がここに表示されます。',
   },
   noRecentTip: '最近のクエリ結果はありません。',
   viewChart: 'ベクトルチャートを表示',
   settingTitle: '取得設定',
   viewDetail: '詳細を表示',
-  records: '誌',
-  hitChunks: '{{num}}子チャンクをヒット',
-  open: '開ける',
-  keyword: 'キーワード',
   chunkDetail: 'チャンクの詳細',
+  hitChunks: '{{num}}個の子チャンクをヒット',
+  open: '開く',
+  keyword: 'キーワード',
 }
 
 export default translation

+ 7 - 7
web/i18n/ja-JP/dataset-settings.ts

@@ -7,7 +7,8 @@ const translation = {
     nameError: '名前は空にできません',
     desc: 'ナレッジの説明',
     descInfo: 'ナレッジの内容を概説するための明確なテキストの説明を書いてください。この説明は、複数のナレッジから推論を選択する際の基準として使用されます。',
-    descPlaceholder: 'このナレッジに含まれる内容を説明してください。詳細な説明は、AIがナレッジの内容にタイムリーにアクセスできるようにします。空の場合、Difyはデフォルトのヒット戦略を使用します。',
+    descPlaceholder: 'このデータセットの内容を記述してください。詳細に記述することで、AIがデータセットの内容に迅速にアクセスできるようになります。空欄の場合、LangGeniusはデフォルトの検索方法を使用します。',
+    helpText: '適切なデータセットの説明を作成する方法を学びましょう。',
     descWrite: '良いナレッジの説明の書き方を学ぶ。',
     permissions: '権限',
     permissionsOnlyMe: '自分のみ',
@@ -16,15 +17,16 @@ const translation = {
     me: '(あなた様)',
     indexMethod: 'インデックス方法',
     indexMethodHighQuality: '高品質',
-    indexMethodHighQualityTip: 'ユーザーがクエリを実行する際により高い精度を提供するために、Embeddingモデルを呼び出して処理を行う。',
+    indexMethodHighQualityTip: 'より正確な検索のため、埋め込みモデルを呼び出してドキュメントを処理することで、LLMは高品質な回答を生成できます。',
+    upgradeHighQualityTip: '高品質モードにアップグレードすると、経済的モードには戻せません。',
     indexMethodEconomy: '経済的',
-    indexMethodEconomyTip: 'オフラインのベクトルエンジン、キーワードインデックスなどを使用して精度を低下させることなく、トークンを消費せずに処理します。',
+    indexMethodEconomyTip: 'チャンクあたり10個のキーワードを検索に使用します。トークンは消費しませんが、検索精度は低下します。',
     embeddingModel: '埋め込みモデル',
     embeddingModelTip: '埋め込みモデルを変更するには、',
     embeddingModelTipLink: '設定',
     retrievalSetting: {
       title: '検索設定',
-      learnMore: '詳細を見る',
+      learnMore: '詳細はこちら',
       description: ' 検索方法についての詳細',
       longDescription: ' 検索方法についての詳細については、いつでもナレッジの設定で変更できます。',
     },
@@ -32,9 +34,7 @@ const translation = {
     externalKnowledgeID: '外部ナレッジID',
     retrievalSettings: '取得設定',
     externalKnowledgeAPI: '外部ナレッジAPI',
-    upgradeHighQualityTip: 'ハイクオリティモードにアップグレードすると、エコノミーモードに戻すことはできません',
-    indexMethodChangeToEconomyDisabledTip: '本社からECOへのダウングレードは対象外です',
-    helpText: '適切なデータセットの説明を書く方法を学びます。',
+    indexMethodChangeToEconomyDisabledTip: 'HQからECOへのダウングレードはできません。',
   },
 }
 

+ 97 - 97
web/i18n/ja-JP/dataset.ts

@@ -1,9 +1,74 @@
 const translation = {
   knowledge: 'ナレッジ',
+  chunkingMode: {
+    general: '一般',
+    parentChild: '親子',
+  },
+  parentMode: {
+    paragraph: '段落',
+    fullDoc: '全体',
+  },
+  externalTag: '外部',
+  externalAPI: '外部API',
+  externalAPIPanelTitle: '外部ナレッジ連携API',
+  externalKnowledgeId: '外部ナレッジID',
+  externalKnowledgeName: '外部ナレッジ名',
+  externalKnowledgeDescription: 'ナレッジの説明',
+  externalKnowledgeIdPlaceholder: 'ナレッジIDを入力',
+  externalKnowledgeNamePlaceholder: 'ナレッジベース名を入力',
+  externalKnowledgeDescriptionPlaceholder: 'このナレッジベースの説明(任意)',
+  learnHowToWriteGoodKnowledgeDescription: '効果的なナレッジの説明の書き方',
+  externalAPIPanelDescription: '外部ナレッジ連携APIは、Dify外のナレッジベースと連携し、そこからナレッジを取得するために使用します。',
+  externalAPIPanelDocumentation: '外部ナレッジ連携APIの作成方法',
+  localDocs: 'ローカルドキュメント',
   documentCount: ' ドキュメント',
   wordCount: ' k 単語',
   appCount: ' リンクされたアプリ',
   createDataset: 'ナレッジを作成',
+  createNewExternalAPI: '新しい外部ナレッジ連携APIを作成',
+  noExternalKnowledge: '外部ナレッジ連携APIがありません。ここをクリックして作成してください',
+  createExternalAPI: '外部ナレッジ連携APIを追加',
+  editExternalAPIFormTitle: '外部ナレッジ連携APIを編集',
+  editExternalAPITooltipTitle: '連携中のナレッジ',
+  editExternalAPIConfirmWarningContent: {
+    front: 'この外部ナレッジ連携APIは',
+    end: '件の外部ナレッジと連携しており、この変更はすべてに適用されます。変更を保存しますか?',
+  },
+  editExternalAPIFormWarning: {
+    front: 'この外部APIは',
+    end: '件の外部ナレッジと連携しています',
+  },
+  deleteExternalAPIConfirmWarningContent: {
+    title: {
+      front: '削除',
+      end: 'しますか?',
+    },
+    content: {
+      front: 'この外部ナレッジ連携APIは',
+      end: '件の外部ナレッジと連携しています。このAPIを削除すると、すべて無効になります。このAPIを削除しますか?',
+    },
+    noConnectionContent: 'このAPIを削除しますか?',
+  },
+  selectExternalKnowledgeAPI: {
+    placeholder: '外部ナレッジ連携APIを選択',
+  },
+  connectDataset: '外部ナレッジベースと連携',
+  connectDatasetIntro: {
+    title: '外部ナレッジベースとの連携方法',
+    content: {
+      front: '外部ナレッジベースと連携するには、まず外部APIを作成する必要があります。以下の手順を参照し、',
+      link: '外部APIの作成方法',
+      end: 'をご確認ください。次に、対応するナレッジIDを左側のフォームに入力してください。すべての情報が正しければ、連携ボタンをクリックすると、自動的にナレッジベースの検索テストに移動します。',
+    },
+    learnMore: '詳細はこちら',
+  },
+  connectHelper: {
+    helper1: 'APIとナレッジベースIDを使って外部ナレッジベースと連携します。現在、',
+    helper2: '検索機能のみがサポートされています。',
+    helper3: 'この機能を使用する前に、',
+    helper4: 'ヘルプドキュメント',
+    helper5: 'をよくお読みください。',
+  },
   createDatasetIntro: '独自のテキストデータをインポートするか、LLMコンテキストの強化のためにWebhookを介してリアルタイムでデータを書き込むことができます。',
   deleteDatasetConfirmTitle: 'このナレッジを削除しますか?',
   deleteDatasetConfirmContent:
@@ -21,7 +86,23 @@ const translation = {
   unavailable: '利用不可',
   unavailableTip: '埋め込みモデルが利用できません。デフォルトの埋め込みモデルを設定する必要があります',
   datasets: 'ナレッジ',
-  datasetsApi: 'API',
+  datasetsApi: 'API ACCESS',
+  externalKnowledgeForm: {
+    connect: '連携',
+    cancel: 'キャンセル',
+  },
+  externalAPIForm: {
+    name: '名前',
+    endpoint: 'APIエンドポイント',
+    apiKey: 'APIキー',
+    save: '保存',
+    cancel: 'キャンセル',
+    edit: '編集',
+    encrypted: {
+      front: 'APIトークンは',
+      end: '技術で暗号化され、安全に保存されます。',
+    },
+  },
   retrieval: {
     semantic_search: {
       title: 'ベクトル検索',
@@ -34,7 +115,7 @@ const translation = {
     hybrid_search: {
       title: 'ハイブリッド検索',
       description: '全文検索とベクトル検索を同時に実行し、ユーザーのクエリに最適なマッチを選択するためにRerank付けを行います。RerankモデルAPIの設定が必要です。',
-      recommend: 'おすすめ',
+      recommend: '推奨',
     },
     invertedIndex: {
       title: '転置インデックス',
@@ -43,8 +124,10 @@ const translation = {
     change: '変更',
     changeRetrievalMethod: '検索方法の変更',
   },
-  docsFailedNotice: 'ドキュメントのインデックスに失敗しました',
+  docsFailedNotice: 'ドキュメントのインデックス作成に失敗しました',
   retry: '再試行',
+  documentsDisabled: '{{num}}件のドキュメントが無効 - 30日以上非アクティブ',
+  enable: '有効化',
   indexingTechnique: {
     high_quality: '高品質',
     economy: '経済',
@@ -55,8 +138,11 @@ const translation = {
     hybrid_search: 'ハイブリッド検索',
     invertedIndex: '転置',
   },
-  mixtureHighQualityAndEconomicTip: '高品質なナレッジベースと経済的なナレッジベースを混在させるには、Rerankモデルを構成する必要がある。',
-  inconsistentEmbeddingModelTip: '選択されたナレッジベースが一貫性のない埋め込みモデルで構成されている場合、Rerankモデルの構成が必要です。',
+  defaultRetrievalTip: 'デフォルトでは、マルチパス検索が使用されます。複数のナレッジベースから情報を取得した後、再ランキングを行います。',
+  mixtureHighQualityAndEconomicTip: '高品質なナレッジベースとコスト重視のナレッジベースを混在させるには、Rerankモデルが必要です。',
+  inconsistentEmbeddingModelTip: '選択されたナレッジベースの埋め込みモデルに一貫性がない場合、Rerankモデルが必要です。',
+  mixtureInternalAndExternalTip: '内部ナレッジと外部ナレッジを混在させるには、Rerankモデルが必要です。',
+  allExternalTip: '外部ナレッジのみを使用する場合、Rerankモデルを有効にするかを選択できます。有効にしない場合、検索結果はスコアに基づいてソートされます。異なるナレッジベースで検索戦略が一貫していないと、結果が不正確になる可能性があります。',
   retrievalSettings: '検索設定',
   rerankSettings: 'Rerank設定',
   weightedScore: {
@@ -69,103 +155,17 @@ const translation = {
     keyword: 'キーワード',
   },
   nTo1RetrievalLegacy: '製品計画によると、N-to-1 Retrievalは9月に正式に廃止される予定です。それまでは通常通り使用できます。',
-  nTo1RetrievalLegacyLink: '詳細を見る',
+  nTo1RetrievalLegacyLink: '詳細はこちら',
   nTo1RetrievalLegacyLinkText: ' N-to-1 retrievalは9月に正式に廃止されます。',
-  defaultRetrievalTip: 'デフォルトでは、マルチパス取得が使用されます。ナレッジは複数のナレッジ ベースから取得され、再ランク付けされます。',
-  editExternalAPIConfirmWarningContent: {
-    front: 'この外部ナレッジAPIは、',
-    end: '外部の知識、そしてこの変更はそれらすべてに適用されます。この変更を保存してもよろしいですか?',
-  },
-  editExternalAPIFormWarning: {
-    end: '外部の知識',
-    front: 'この外部APIはにリンクされています',
-  },
-  deleteExternalAPIConfirmWarningContent: {
-    title: {
-      end: '?',
-      front: '削除',
-    },
-    content: {
-      front: 'この外部ナレッジAPIは、',
-      end: '外部の知識。このAPIを削除すると、それらすべてが無効になります。この API を削除してもよろしいですか ?',
-    },
-    noConnectionContent: 'この API を削除してもよろしいですか ?',
-  },
-  selectExternalKnowledgeAPI: {
-    placeholder: '外部ナレッジ API を選択する',
-  },
-  connectDatasetIntro: {
-    content: {
-      link: '外部 API の作成方法を学ぶ',
-      front: '外部ナレッジ ベースに接続するには、まず外部 API を作成する必要があります。よくお読みになり、以下を参照してください。',
-      end: '.次に、対応するナレッジIDを見つけて、左側のフォームに入力します。すべての情報が正しい場合は、接続ボタンをクリックした後、ナレッジベースの検索テストに自動的にジャンプします。',
-    },
-    title: '外部ナレッジベースに接続する方法',
-    learnMore: '詳細を見る',
-  },
-  connectHelper: {
-    helper2: '取得機能のみがサポートされています',
-    helper3: '.次のことを強くお勧めします。',
-    helper4: 'ヘルプドキュメントを読む',
-    helper5: 'この機能を使用する前に慎重に。',
-    helper1: 'APIとナレッジベースIDを介して外部ナレッジベースに接続します。',
-  },
-  externalKnowledgeForm: {
-    cancel: 'キャンセル',
-    connect: '繋ぐ',
-  },
-  externalAPIForm: {
-    encrypted: {
-      front: 'APIトークンは暗号化され、',
-      end: 'テクノロジー。',
-    },
-    apiKey: 'APIキー',
-    name: '名前',
-    edit: '編集',
-    save: 'セーブ',
-    cancel: 'キャンセル',
-    endpoint: 'API エンドポイント',
-  },
-  externalTag: '外',
-  editExternalAPITooltipTitle: 'リンクされた知識',
-  externalKnowledgeName: '外部ナレッジ名',
-  externalAPI: '外部 API',
-  externalAPIPanelDocumentation: 'External Knowledge API の作成方法を学ぶ',
-  editExternalAPIFormTitle: '外部ナレッジ API の編集',
-  externalAPIPanelTitle: '外部ナレッジAPI',
-  externalKnowledgeId: '外部ナレッジID',
-  connectDataset: '外部ナレッジベースへの接続',
-  externalKnowledgeIdPlaceholder: 'ナレッジIDを入力してください',
-  createNewExternalAPI: '新しい外部ナレッジ API を作成する',
-  noExternalKnowledge: 'External Knowledge APIはまだありませんので、こちらをクリックして作成してください',
-  mixtureInternalAndExternalTip: '再ランク付けモデルは、内部知識と外部知識の混合に必要です。',
-  learnHowToWriteGoodKnowledgeDescription: '良い知識の説明を書く方法を学ぶ',
-  externalKnowledgeNamePlaceholder: 'ナレッジベースの名前を入力してください',
-  externalKnowledgeDescription: 'ナレッジの説明',
-  createExternalAPI: '外部ナレッジ API を追加する',
-  externalKnowledgeDescriptionPlaceholder: 'このナレッジベースの内容を説明する(オプション)',
-  allExternalTip: '外部ナレッジのみを使用する場合、ユーザーは Rerank モデルを有効にするかどうかを選択できます。有効にしない場合、取得されたチャンクはスコアに基づいて並べ替えられます。異なるナレッジベースの検索戦略に一貫性がない場合、不正確になります。',
-  externalAPIPanelDescription: '外部ナレッジAPIは、Difyの外部のナレッジベースに接続し、そのナレッジベースからナレッジを取得するために使用されます。',
-  chunkingMode: {
-    general: '全般',
-    parentChild: '親子',
-  },
-  parentMode: {
-    fullDoc: 'フルドキュメント',
-    paragraph: '段落',
-  },
   batchAction: {
-    delete: '削除',
-    selected: '入選',
-    archive: 'アーカイブ',
-    enable: 'エネーブル',
+    selected: '選択済み',
+    enable: '有効にする',
     disable: '無効にする',
+    archive: 'アーカイブ',
+    delete: '削除',
     cancel: 'キャンセル',
   },
-  documentsDisabled: '{{num}}ドキュメントが無効 - 30日以上非アクティブ',
-  localDocs: 'ローカルドキュメント',
-  enable: 'エネーブル',
-  preprocessDocument: '{{数値}}ドキュメントの前処理',
+  preprocessDocument: '{{num}}件のドキュメントを前処理',
 }
 
 export default translation

+ 1 - 1
web/i18n/ja-JP/explore.ts

@@ -18,7 +18,7 @@ const translation = {
   apps: {
     title: 'Difyによるアプリの探索',
     description: 'これらのテンプレートアプリを即座に使用するか、テンプレートに基づいて独自のアプリをカスタマイズしてください。',
-    allCategories: 'おすすめ',
+    allCategories: '推奨',
   },
   appCard: {
     addToWorkspace: 'ワークスペースに追加',

+ 7 - 7
web/i18n/ja-JP/workflow.ts

@@ -22,7 +22,7 @@ const translation = {
     featuresDescription: 'Webアプリのユーザーエクスペリエンスを強化する',
     ImageUploadLegacyTip: '開始フォームでファイルタイプ変数を作成できるようになりました。まもなく、画像アップロード機能のサポートは終了いたします。',
     fileUploadTip: '画像アップロード機能がファイルのアップロード機能にアップグレードされました。',
-    featuresDocLink: '詳細を見る',
+    featuresDocLink: '詳細はこちら',
     debugAndPreview: 'プレビュー',
     restart: '再起動',
     currentDraft: '現在の下書き',
@@ -60,7 +60,7 @@ const translation = {
     viewOnly: '表示のみ',
     showRunHistory: '実行履歴を表示',
     enableJinja: 'Jinjaテンプレートのサポートを有効にする',
-    learnMore: '詳細を見る',
+    learnMore: '詳細はこちら',
     copy: 'コピー',
     duplicate: '複製',
     addBlock: 'ブロックを追加',
@@ -323,18 +323,18 @@ const translation = {
         tip: 'ノードが例外を検出したときにトリガーされる例外処理戦略。',
       },
       retry: {
-        retry: 'リトライ',
+        retry: '再試行',
         retryOnFailure: '失敗時の再試行',
         maxRetries: '最大再試行回数',
         retryInterval: '再試行間隔',
         retrying: '再試行。。。',
         retryFailed: '再試行に失敗しました',
-        times: '',
-        ms: 'さん',
+        times: '',
+        ms: 'ms',
         retryTimes: '失敗時に{{times}}回再試行',
         retrySuccessful: '再試行に成功しました',
         retries: '{{num}} 回の再試行',
-        retryFailedTimes: '{{times}}回のリトライが失敗しました',
+        retryFailedTimes: '{{times}}回の再試行が失敗しました',
       },
     },
     start: {
@@ -669,7 +669,7 @@ const translation = {
         text: '抽出されたテキスト',
       },
       inputVar: '入力変数',
-      learnMore: '詳細を見る',
+      learnMore: '詳細はこちら',
       supportFileTypes: 'サポートするファイルタイプ: {{types}}。',
     },
     listFilter: {