= ({ children }) =>
isCurrentWorkspaceDatasetOperator,
mutateCurrentWorkspace,
isLoadingCurrentWorkspace,
+ isValidatingCurrentWorkspace,
}}
>
diff --git a/web/i18n/en-US/billing.ts b/web/i18n/en-US/billing.ts
index 1ab4e3f0d4..3a18eebb4e 100644
--- a/web/i18n/en-US/billing.ts
+++ b/web/i18n/en-US/billing.ts
@@ -130,7 +130,7 @@ const translation = {
messageRequest: {
title: '{{count,number}} message credits',
titlePerMonth: '{{count,number}} message credits/month',
- tooltip: 'Message credits are provided to help you easily try out different OpenAI models in Dify. Credits are consumed based on the model type. Once they’re used up, you can switch to your own OpenAI API key.',
+ tooltip: 'Message credits are provided to help you easily try out different models from OpenAI, Anthropic, Gemini, Grok, DeepSeek and TONGYI in Dify. Credits are consumed based on the model type. Once they\'re used up, you can switch to your own API key.',
},
annotatedResponse: {
title: '{{count,number}} Annotation Quota Limits',
diff --git a/web/i18n/en-US/common.ts b/web/i18n/en-US/common.ts
index 0117f2ae00..c3c6581047 100644
--- a/web/i18n/en-US/common.ts
+++ b/web/i18n/en-US/common.ts
@@ -462,7 +462,10 @@ const translation = {
buyQuota: 'Buy Quota',
priorityUse: 'Priority use',
removeKey: 'Remove API Key',
- tip: 'Priority will be given to the paid quota. The Trial quota will be used after the paid quota is exhausted.',
+ tip: 'Message Credits supports models from OpenAI, Anthropic, Gemini, Grok, DeepSeek and TONGYI. Priority will be given to the paid quota. The free quota will be used after the paid quota is exhausted.',
+ modelSupported: '{{modelName}} models are using this quota.',
+ modelAPI: '{{modelName}} models are using the API Key.',
+ modelNotSupported: '{{modelName}} models are not installed.',
},
item: {
deleteDesc: '{{modelName}} are being used as system reasoning models. Some functions will not be available after removal. Please confirm.',
@@ -489,12 +492,12 @@ const translation = {
featureSupported: '{{feature}} supported',
callTimes: 'Call times',
credits: 'Message Credits',
+ resetDate: 'Reset on {{date}}',
buyQuota: 'Buy Quota',
getFreeTokens: 'Get free Tokens',
priorityUsing: 'Prioritize using',
deprecated: 'Deprecated',
confirmDelete: 'Confirm deletion?',
- quotaTip: 'Remaining available free tokens',
loadPresets: 'Load Presets',
parameters: 'PARAMETERS',
loadBalancing: 'Load balancing',
diff --git a/web/i18n/ja-JP/billing.ts b/web/i18n/ja-JP/billing.ts
index 07361c0234..5dae80f40c 100644
--- a/web/i18n/ja-JP/billing.ts
+++ b/web/i18n/ja-JP/billing.ts
@@ -128,7 +128,7 @@ const translation = {
messageRequest: {
title: '{{count,number}}メッセージクレジット',
titlePerMonth: '{{count,number}}メッセージクレジット/月',
- tooltip: 'メッセージクレジットは、Dify でさまざまな OpenAI モデルを簡単にお試しいただくためのものです。モデルタイプに応じてクレジットが消費され、使い切った後はご自身の OpenAI API キーに切り替えていただけます。',
+ tooltip: 'メッセージクレジットは、DifyでOpenAI、Anthropic、Gemini、Grok、DeepSeek、TONGYIなどのさまざまなモデルを簡単に試すために提供されています。クレジットはモデルの種類に基づいて消費されます。使い切ったら、独自のAPIキーに切り替えることができます。',
},
annotatedResponse: {
title: '{{count,number}}の注釈クォータ制限',
diff --git a/web/i18n/ja-JP/common.ts b/web/i18n/ja-JP/common.ts
index 87d9fa1fb1..1669597d5c 100644
--- a/web/i18n/ja-JP/common.ts
+++ b/web/i18n/ja-JP/common.ts
@@ -451,7 +451,10 @@ const translation = {
buyQuota: 'クォータを購入',
priorityUse: '優先利用',
removeKey: 'API キーを削除',
- tip: '有料クォータは優先して使用されます。有料クォータを使用し終えた後、トライアルクォータが利用されます。',
+ tip: 'メッセージ枠はOpen AI、Anthropic、Gemini、Grok、DeepSeek、TONGYIのモデルを使用することをサポートしています。無料枠は有料枠が使い果たされた後に消費されます。',
+ modelSupported: 'このクォータは現在{{modelName}}に使用されでいます。',
+ modelAPI: '{{modelName}} は現在 APIキーを使用しています。',
+ modelNotSupported: '{{modelName}} 未インストール。',
},
item: {
deleteDesc: '{{modelName}}はシステムが推測するモデルとして利用されています。削除すると、一部の機能が使用不可能になる可能性があります。ご確認ください。',
@@ -478,12 +481,12 @@ const translation = {
featureSupported: '{{feature}}に対応',
callTimes: '呼び出し回数',
credits: 'クレジット',
+ resetDate: '{{date}} にリセット',
buyQuota: 'クォータ購入',
getFreeTokens: '無料トークンを獲得',
priorityUsing: '優先利用',
deprecated: '廃止予定',
confirmDelete: '削除を確認',
- quotaTip: '残りの無料トークン',
loadPresets: 'プリセットの読み込み',
parameters: 'パラメータ',
loadBalancing: '負荷分散',
diff --git a/web/i18n/zh-Hans/billing.ts b/web/i18n/zh-Hans/billing.ts
index 037f1c88c5..dd69e7ae4a 100644
--- a/web/i18n/zh-Hans/billing.ts
+++ b/web/i18n/zh-Hans/billing.ts
@@ -129,7 +129,7 @@ const translation = {
messageRequest: {
title: '{{count,number}} 条消息额度',
titlePerMonth: '{{count,number}} 条消息额度/月',
- tooltip: '消息额度旨在帮助您便捷地试用 Dify 中的各类 OpenAI 模型。不同模型会消耗不同额度。额度用尽后,您可以切换为使用自己的 OpenAI API 密钥。',
+ tooltip: '消息额度旨在帮助您便捷地试用 Dify 中来自 OpenAI、Anthropic、Gemini、Grok、DeepSeek、TONGYI 的模型的的不同模型。不同模型会消耗不同额度。额度用尽后,您可以切换为使用自己的 API 密钥。',
},
annotatedResponse: {
title: '{{count,number}} 个标注回复数',
diff --git a/web/i18n/zh-Hans/common.ts b/web/i18n/zh-Hans/common.ts
index 977ffe1919..70e33f45bc 100644
--- a/web/i18n/zh-Hans/common.ts
+++ b/web/i18n/zh-Hans/common.ts
@@ -454,7 +454,10 @@ const translation = {
buyQuota: '购买额度',
priorityUse: '优先使用',
removeKey: '删除 API 密钥',
- tip: '已付费额度将优先考虑。试用额度将在付费额度用完后使用。',
+ tip: '消息额度支持使用 OpenAI、Anthropic、Gemini、Grok、DeepSeek、TONGYI 的模型;免费额度会在付费额度用尽后才会消耗。',
+ modelSupported: '{{modelName}} 模型正在使用此额度。',
+ modelAPI: '{{modelName}} 模型正在使用 API Key。',
+ modelNotSupported: '{{modelName}} 模型未安装。',
},
item: {
deleteDesc: '{{modelName}} 被用作系统推理模型。删除后部分功能将无法使用。请确认。',
@@ -481,12 +484,12 @@ const translation = {
featureSupported: '支持 {{feature}} 功能',
callTimes: '调用次数',
credits: '消息额度',
+ resetDate: '于 {{date}} 重置',
buyQuota: '购买额度',
getFreeTokens: '获得免费 Tokens',
priorityUsing: '优先使用',
deprecated: '已弃用',
confirmDelete: '确认删除?',
- quotaTip: '剩余免费额度',
loadPresets: '加载预设',
parameters: '参数',
loadBalancing: '负载均衡',
diff --git a/web/models/common.ts b/web/models/common.ts
index 0e034ffa33..62a543672b 100644
--- a/web/models/common.ts
+++ b/web/models/common.ts
@@ -142,6 +142,9 @@ export type IWorkspace = {
export type ICurrentWorkspace = Omit & {
role: 'owner' | 'admin' | 'editor' | 'dataset_operator' | 'normal'
providers: Provider[]
+ trial_credits: number
+ trial_credits_used: number
+ next_credit_reset_date: number
trial_end_reason?: string
custom_config?: {
remove_webapp_brand?: boolean