瀏覽代碼

fix: i18n typo (#8077)

Nam Vu 7 月之前
父節點
當前提交
031a0b576d
共有 100 個文件被更改,包括 192 次插入192 次删除
  1. 13 13
      web/app/components/app/configuration/config-var/config-modal/index.tsx
  2. 1 1
      web/app/components/app/configuration/config-var/config-select/index.tsx
  3. 1 1
      web/app/components/app/configuration/config-var/select-type-item/index.tsx
  4. 5 5
      web/app/components/app/configuration/config-var/select-var-type.tsx
  5. 1 1
      web/app/components/app/configuration/features/chat-group/opening-statement/index.tsx
  6. 1 1
      web/app/components/app/configuration/tools/external-data-tool-modal.tsx
  7. 1 1
      web/app/components/base/app-unavailable.tsx
  8. 1 1
      web/app/components/base/chat/chat-with-history/config-panel/index.tsx
  9. 1 1
      web/app/components/base/chat/embedded-chatbot/config-panel/index.tsx
  10. 1 1
      web/app/components/base/features/feature-panel/opening-statement/index.tsx
  11. 3 3
      web/app/components/datasets/create/step-two/index.tsx
  12. 9 9
      web/app/components/header/account-setting/members-page/invited-modal/index.tsx
  13. 2 2
      web/app/components/header/account-setting/members-page/invited-modal/invitation-link.tsx
  14. 1 1
      web/app/components/workflow/header/checklist.tsx
  15. 1 1
      web/app/components/workflow/hooks/use-checklist.ts
  16. 4 4
      web/app/components/workflow/nodes/_base/components/before-run-form/form-item.tsx
  17. 2 2
      web/app/components/workflow/nodes/parameter-extractor/components/extract-parameter/update.tsx
  18. 1 1
      web/app/signin/oneMoreStep.tsx
  19. 1 1
      web/i18n/de-DE/app-api.ts
  20. 1 1
      web/i18n/de-DE/app-debug.ts
  21. 2 2
      web/i18n/de-DE/common.ts
  22. 4 4
      web/i18n/de-DE/dataset-creation.ts
  23. 1 1
      web/i18n/de-DE/login.ts
  24. 2 2
      web/i18n/de-DE/share-app.ts
  25. 1 1
      web/i18n/de-DE/workflow.ts
  26. 1 1
      web/i18n/en-US/app-api.ts
  27. 1 1
      web/i18n/en-US/app-debug.ts
  28. 1 1
      web/i18n/en-US/app.ts
  29. 3 3
      web/i18n/en-US/common.ts
  30. 5 5
      web/i18n/en-US/dataset-creation.ts
  31. 1 1
      web/i18n/en-US/login.ts
  32. 2 2
      web/i18n/en-US/share-app.ts
  33. 1 1
      web/i18n/en-US/workflow.ts
  34. 1 1
      web/i18n/es-ES/app-api.ts
  35. 1 1
      web/i18n/es-ES/app-debug.ts
  36. 2 2
      web/i18n/es-ES/common.ts
  37. 4 4
      web/i18n/es-ES/dataset-creation.ts
  38. 1 1
      web/i18n/es-ES/login.ts
  39. 2 2
      web/i18n/es-ES/share-app.ts
  40. 1 1
      web/i18n/es-ES/workflow.ts
  41. 1 1
      web/i18n/fa-IR/app-api.ts
  42. 1 1
      web/i18n/fa-IR/app-debug.ts
  43. 2 2
      web/i18n/fa-IR/common.ts
  44. 4 4
      web/i18n/fa-IR/dataset-creation.ts
  45. 1 1
      web/i18n/fa-IR/login.ts
  46. 2 2
      web/i18n/fa-IR/share-app.ts
  47. 1 1
      web/i18n/fa-IR/workflow.ts
  48. 1 1
      web/i18n/fr-FR/app-api.ts
  49. 1 1
      web/i18n/fr-FR/app-debug.ts
  50. 2 2
      web/i18n/fr-FR/common.ts
  51. 4 4
      web/i18n/fr-FR/dataset-creation.ts
  52. 1 1
      web/i18n/fr-FR/login.ts
  53. 2 2
      web/i18n/fr-FR/share-app.ts
  54. 1 1
      web/i18n/fr-FR/workflow.ts
  55. 1 1
      web/i18n/hi-IN/app-api.ts
  56. 1 1
      web/i18n/hi-IN/app-debug.ts
  57. 2 2
      web/i18n/hi-IN/common.ts
  58. 4 4
      web/i18n/hi-IN/dataset-creation.ts
  59. 1 1
      web/i18n/hi-IN/login.ts
  60. 2 2
      web/i18n/hi-IN/share-app.ts
  61. 1 1
      web/i18n/hi-IN/workflow.ts
  62. 1 1
      web/i18n/it-IT/app-api.ts
  63. 1 1
      web/i18n/it-IT/app-debug.ts
  64. 2 2
      web/i18n/it-IT/common.ts
  65. 4 4
      web/i18n/it-IT/dataset-creation.ts
  66. 1 1
      web/i18n/it-IT/login.ts
  67. 2 2
      web/i18n/it-IT/share-app.ts
  68. 1 1
      web/i18n/it-IT/workflow.ts
  69. 1 1
      web/i18n/ja-JP/app-api.ts
  70. 1 1
      web/i18n/ja-JP/app-debug.ts
  71. 2 2
      web/i18n/ja-JP/common.ts
  72. 4 4
      web/i18n/ja-JP/dataset-creation.ts
  73. 1 1
      web/i18n/ja-JP/login.ts
  74. 2 2
      web/i18n/ja-JP/share-app.ts
  75. 1 1
      web/i18n/ja-JP/workflow.ts
  76. 1 1
      web/i18n/ko-KR/app-api.ts
  77. 1 1
      web/i18n/ko-KR/app-debug.ts
  78. 2 2
      web/i18n/ko-KR/common.ts
  79. 4 4
      web/i18n/ko-KR/dataset-creation.ts
  80. 1 1
      web/i18n/ko-KR/login.ts
  81. 2 2
      web/i18n/ko-KR/share-app.ts
  82. 1 1
      web/i18n/ko-KR/workflow.ts
  83. 1 1
      web/i18n/pl-PL/app-api.ts
  84. 1 1
      web/i18n/pl-PL/app-debug.ts
  85. 2 2
      web/i18n/pl-PL/common.ts
  86. 4 4
      web/i18n/pl-PL/dataset-creation.ts
  87. 1 1
      web/i18n/pl-PL/login.ts
  88. 2 2
      web/i18n/pl-PL/share-app.ts
  89. 1 1
      web/i18n/pl-PL/workflow.ts
  90. 1 1
      web/i18n/pt-BR/app-api.ts
  91. 1 1
      web/i18n/pt-BR/app-debug.ts
  92. 2 2
      web/i18n/pt-BR/common.ts
  93. 4 4
      web/i18n/pt-BR/dataset-creation.ts
  94. 1 1
      web/i18n/pt-BR/login.ts
  95. 2 2
      web/i18n/pt-BR/share-app.ts
  96. 1 1
      web/i18n/pt-BR/workflow.ts
  97. 1 1
      web/i18n/ro-RO/app-api.ts
  98. 1 1
      web/i18n/ro-RO/app-debug.ts
  99. 2 2
      web/i18n/ro-RO/common.ts
  100. 4 4
      web/i18n/ro-RO/dataset-creation.ts

+ 13 - 13
web/app/components/app/configuration/config-var/config-modal/index.tsx

@@ -47,7 +47,7 @@ const ConfigModal: FC<IConfigModalProps> = ({
     if (!isValid) {
       Toast.notify({
         type: 'error',
-        message: t(`appDebug.varKeyError.${errorMessageKey}`, { key: t('appDebug.variableConig.varName') }),
+        message: t(`appDebug.varKeyError.${errorMessageKey}`, { key: t('appDebug.variableConfig.varName') }),
       })
       return false
     }
@@ -101,7 +101,7 @@ const ConfigModal: FC<IConfigModalProps> = ({
     // }
 
     if (!tempPayload.label) {
-      Toast.notify({ type: 'error', message: t('appDebug.variableConig.errorMsg.labelNameRequired') })
+      Toast.notify({ type: 'error', message: t('appDebug.variableConfig.errorMsg.labelNameRequired') })
       return
     }
     if (isStringInput || type === InputVarType.number) {
@@ -109,7 +109,7 @@ const ConfigModal: FC<IConfigModalProps> = ({
     }
     else {
       if (options?.length === 0) {
-        Toast.notify({ type: 'error', message: t('appDebug.variableConig.errorMsg.atLeastOneOption') })
+        Toast.notify({ type: 'error', message: t('appDebug.variableConfig.errorMsg.atLeastOneOption') })
         return
       }
       const obj: Record<string, boolean> = {}
@@ -122,7 +122,7 @@ const ConfigModal: FC<IConfigModalProps> = ({
         obj[o] = true
       })
       if (hasRepeatedItem) {
-        Toast.notify({ type: 'error', message: t('appDebug.variableConig.errorMsg.optionRepeat') })
+        Toast.notify({ type: 'error', message: t('appDebug.variableConfig.errorMsg.optionRepeat') })
         return
       }
       onConfirm(tempPayload, moreInfo)
@@ -131,14 +131,14 @@ const ConfigModal: FC<IConfigModalProps> = ({
 
   return (
     <Modal
-      title={t(`appDebug.variableConig.${isCreate ? 'addModalTitle' : 'editModalTitle'}`)}
+      title={t(`appDebug.variableConfig.${isCreate ? 'addModalTitle' : 'editModalTitle'}`)}
       isShow={isShow}
       onClose={onClose}
     >
       <div className='mb-8'>
         <div className='space-y-2'>
 
-          <Field title={t('appDebug.variableConig.fieldType')}>
+          <Field title={t('appDebug.variableConfig.fieldType')}>
             <div className='flex space-x-2'>
               <SelectTypeItem type={InputVarType.textInput} selected={type === InputVarType.textInput} onClick={() => handlePayloadChange('type')(InputVarType.textInput)} />
               <SelectTypeItem type={InputVarType.paragraph} selected={type === InputVarType.paragraph} onClick={() => handlePayloadChange('type')(InputVarType.paragraph)} />
@@ -147,39 +147,39 @@ const ConfigModal: FC<IConfigModalProps> = ({
             </div>
           </Field>
 
-          <Field title={t('appDebug.variableConig.varName')}>
+          <Field title={t('appDebug.variableConfig.varName')}>
             <input
               type='text'
               className={inputClassName}
               value={variable}
               onChange={e => handlePayloadChange('variable')(e.target.value)}
               onBlur={handleVarKeyBlur}
-              placeholder={t('appDebug.variableConig.inputPlaceholder')!}
+              placeholder={t('appDebug.variableConfig.inputPlaceholder')!}
             />
           </Field>
-          <Field title={t('appDebug.variableConig.labelName')}>
+          <Field title={t('appDebug.variableConfig.labelName')}>
             <input
               type='text'
               className={inputClassName}
               value={label as string}
               onChange={e => handlePayloadChange('label')(e.target.value)}
-              placeholder={t('appDebug.variableConig.inputPlaceholder')!}
+              placeholder={t('appDebug.variableConfig.inputPlaceholder')!}
             />
           </Field>
 
           {isStringInput && (
-            <Field title={t('appDebug.variableConig.maxLength')}>
+            <Field title={t('appDebug.variableConfig.maxLength')}>
               <ConfigString maxLength={type === InputVarType.textInput ? TEXT_MAX_LENGTH : Infinity} modelId={modelConfig.model_id} value={max_length} onChange={handlePayloadChange('max_length')} />
             </Field>
 
           )}
           {type === InputVarType.select && (
-            <Field title={t('appDebug.variableConig.options')}>
+            <Field title={t('appDebug.variableConfig.options')}>
               <ConfigSelect options={options || []} onChange={handlePayloadChange('options')} />
             </Field>
           )}
 
-          <Field title={t('appDebug.variableConig.required')}>
+          <Field title={t('appDebug.variableConfig.required')}>
             <Switch defaultValue={tempPayload.required} onChange={handlePayloadChange('required')} />
           </Field>
         </div>

+ 1 - 1
web/app/components/app/configuration/config-var/config-select/index.tsx

@@ -77,7 +77,7 @@ const ConfigSelect: FC<IConfigSelectProps> = ({
         onClick={() => { onChange([...options, '']) }}
         className='flex items-center h-9 px-3 gap-2 rounded-lg cursor-pointer text-gray-400  bg-gray-100'>
         <PlusIcon width={16} height={16}></PlusIcon>
-        <div className='text-gray-500 text-[13px]'>{t('appDebug.variableConig.addOption')}</div>
+        <div className='text-gray-500 text-[13px]'>{t('appDebug.variableConfig.addOption')}</div>
       </div>
     </div>
   )

+ 1 - 1
web/app/components/app/configuration/config-var/select-type-item/index.tsx

@@ -18,7 +18,7 @@ const SelectTypeItem: FC<ISelectTypeItemProps> = ({
   onClick,
 }) => {
   const { t } = useTranslation()
-  const typeName = t(`appDebug.variableConig.${type}`)
+  const typeName = t(`appDebug.variableConfig.${type}`)
 
   return (
     <div

+ 5 - 5
web/app/components/app/configuration/config-var/select-var-type.tsx

@@ -62,14 +62,14 @@ const SelectVarType: FC<Props> = ({
       <PortalToFollowElemContent style={{ zIndex: 1000 }}>
         <div className='bg-white border border-gray-200 shadow-lg rounded-lg min-w-[192px]'>
           <div className='p-1'>
-            <SelectItem type={InputVarType.textInput} value='string' text={t('appDebug.variableConig.string')} onClick={handleChange}></SelectItem>
-            <SelectItem type={InputVarType.paragraph} value='paragraph' text={t('appDebug.variableConig.paragraph')} onClick={handleChange}></SelectItem>
-            <SelectItem type={InputVarType.select} value='select' text={t('appDebug.variableConig.select')} onClick={handleChange}></SelectItem>
-            <SelectItem type={InputVarType.number} value='number' text={t('appDebug.variableConig.number')} onClick={handleChange}></SelectItem>
+            <SelectItem type={InputVarType.textInput} value='string' text={t('appDebug.variableConfig.string')} onClick={handleChange}></SelectItem>
+            <SelectItem type={InputVarType.paragraph} value='paragraph' text={t('appDebug.variableConfig.paragraph')} onClick={handleChange}></SelectItem>
+            <SelectItem type={InputVarType.select} value='select' text={t('appDebug.variableConfig.select')} onClick={handleChange}></SelectItem>
+            <SelectItem type={InputVarType.number} value='number' text={t('appDebug.variableConfig.number')} onClick={handleChange}></SelectItem>
           </div>
           <div className='h-[1px] bg-gray-100'></div>
           <div className='p-1'>
-            <SelectItem Icon={ApiConnection} value='api' text={t('appDebug.variableConig.apiBasedVar')} onClick={handleChange}></SelectItem>
+            <SelectItem Icon={ApiConnection} value='api' text={t('appDebug.variableConfig.apiBasedVar')} onClick={handleChange}></SelectItem>
           </div>
         </div>
       </PortalToFollowElemContent>

+ 1 - 1
web/app/components/app/configuration/features/chat-group/opening-statement/index.tsx

@@ -227,7 +227,7 @@ const OpeningStatement: FC<IOpeningStatementProps> = ({
             onClick={() => { setTempSuggestedQuestions([...tempSuggestedQuestions, '']) }}
             className='mt-1 flex items-center h-9 px-3 gap-2 rounded-lg cursor-pointer text-gray-400  bg-gray-100 hover:bg-gray-200'>
             <RiAddLine className='w-4 h-4' />
-            <div className='text-gray-500 text-[13px]'>{t('appDebug.variableConig.addOption')}</div>
+            <div className='text-gray-500 text-[13px]'>{t('appDebug.variableConfig.addOption')}</div>
           </div>
         )}
       </div>

+ 1 - 1
web/app/components/app/configuration/tools/external-data-tool-modal.tsx

@@ -189,7 +189,7 @@ const ExternalDataToolModal: FC<ExternalDataToolModalProps> = ({
       className='!p-8 !pb-6 !max-w-none !w-[640px]'
     >
       <div className='mb-2 text-xl font-semibold text-gray-900'>
-        {`${action} ${t('appDebug.variableConig.apiBasedVar')}`}
+        {`${action} ${t('appDebug.variableConfig.apiBasedVar')}`}
       </div>
       <div className='py-2'>
         <div className='leading-9 text-sm font-medium text-gray-900'>

+ 1 - 1
web/app/components/base/app-unavailable.tsx

@@ -22,7 +22,7 @@ const AppUnavailable: FC<IAppUnavailableProps> = ({
         style={{
           borderRight: '1px solid rgba(0,0,0,.3)',
         }}>{code}</h1>
-      <div className='text-sm'>{unknownReason || (isUnknownReason ? t('share.common.appUnkonwError') : t('share.common.appUnavailable'))}</div>
+      <div className='text-sm'>{unknownReason || (isUnknownReason ? t('share.common.appUnknownError') : t('share.common.appUnavailable'))}</div>
     </div>
   )
 }

+ 1 - 1
web/app/components/base/chat/chat-with-history/config-panel/index.tsx

@@ -152,7 +152,7 @@ const ConfigPanel = () => {
                 : (
                   <div className={`flex items-center justify-end ${isMobile && 'w-full'}`}>
                     <div className='flex items-center pr-3 space-x-3'>
-                      <span className='uppercase'>{t('share.chat.powerBy')}</span>
+                      <span className='uppercase'>{t('share.chat.poweredBy')}</span>
                       {
                         customConfig?.replace_webapp_logo
                           ? <img src={customConfig?.replace_webapp_logo} alt='logo' className='block w-auto h-5' />

+ 1 - 1
web/app/components/base/chat/embedded-chatbot/config-panel/index.tsx

@@ -160,7 +160,7 @@ const ConfigPanel = () => {
                 : (
                   <div className={cn('flex items-center justify-end', isMobile && 'w-full')}>
                     <div className='flex items-center pr-3 space-x-3'>
-                      <span className='uppercase'>{t('share.chat.powerBy')}</span>
+                      <span className='uppercase'>{t('share.chat.poweredBy')}</span>
                       {
                         customConfig?.replace_webapp_logo
                           ? <img src={customConfig?.replace_webapp_logo} alt='logo' className='block w-auto h-5' />

+ 1 - 1
web/app/components/base/features/feature-panel/opening-statement/index.tsx

@@ -248,7 +248,7 @@ const OpeningStatement: FC<OpeningStatementProps> = ({
             onClick={() => { setTempSuggestedQuestions([...tempSuggestedQuestions, '']) }}
             className='mt-1 flex items-center h-9 px-3 gap-2 rounded-lg cursor-pointer text-gray-400  bg-gray-100 hover:bg-gray-200'>
             <RiAddLine className='w-4 h-4' />
-            <div className='text-gray-500 text-[13px]'>{t('appDebug.variableConig.addOption')}</div>
+            <div className='text-gray-500 text-[13px]'>{t('appDebug.variableConfig.addOption')}</div>
           </div>
         )}
       </div>

+ 3 - 3
web/app/components/datasets/create/step-two/index.tsx

@@ -743,7 +743,7 @@ const StepTwo = ({
             </div>
             {hasSetIndexType && indexType === IndexingType.ECONOMICAL && (
               <div className='mt-2 text-xs text-gray-500 font-medium'>
-                {t('datasetCreation.stepTwo.indexSettedTip')}
+                {t('datasetCreation.stepTwo.indexSettingTip')}
                 <Link className='text-[#155EEF]' href={`/datasets/${datasetId}/settings`}>{t('datasetCreation.stepTwo.datasetSettingLink')}</Link>
               </div>
             )}
@@ -790,7 +790,7 @@ const StepTwo = ({
                 />
                 {!!datasetId && (
                   <div className='mt-2 text-xs text-gray-500 font-medium'>
-                    {t('datasetCreation.stepTwo.indexSettedTip')}
+                    {t('datasetCreation.stepTwo.indexSettingTip')}
                     <Link className='text-[#155EEF]' href={`/datasets/${datasetId}/settings`}>{t('datasetCreation.stepTwo.datasetSettingLink')}</Link>
                   </div>
                 )}
@@ -890,7 +890,7 @@ const StepTwo = ({
               </div>
               <div className={s.divider} />
               <div className={s.segmentCount}>
-                <div className='mb-2 text-xs font-medium text-gray-500'>{t('datasetCreation.stepTwo.emstimateSegment')}</div>
+                <div className='mb-2 text-xs font-medium text-gray-500'>{t('datasetCreation.stepTwo.estimateSegment')}</div>
                 <div className='flex items-center text-sm leading-6 font-medium text-gray-800'>
                   {
                     fileIndexingEstimate

+ 9 - 9
web/app/components/header/account-setting/members-page/invited-modal/index.tsx

@@ -11,8 +11,8 @@ import { IS_CE_EDITION } from '@/config'
 import type { InvitationResult } from '@/models/common'
 import Tooltip from '@/app/components/base/tooltip'
 
-export type SuccessInvationResult = Extract<InvitationResult, { status: 'success' }>
-export type FailedInvationResult = Extract<InvitationResult, { status: 'failed' }>
+export type SuccessInvitationResult = Extract<InvitationResult, { status: 'success' }>
+export type FailedInvitationResult = Extract<InvitationResult, { status: 'failed' }>
 
 type IInvitedModalProps = {
   invitationResults: InvitationResult[]
@@ -24,8 +24,8 @@ const InvitedModal = ({
 }: IInvitedModalProps) => {
   const { t } = useTranslation()
 
-  const successInvationResults = useMemo<SuccessInvationResult[]>(() => invitationResults?.filter(item => item.status === 'success') as SuccessInvationResult[], [invitationResults])
-  const failedInvationResults = useMemo<FailedInvationResult[]>(() => invitationResults?.filter(item => item.status !== 'success') as FailedInvationResult[], [invitationResults])
+  const successInvitationResults = useMemo<SuccessInvitationResult[]>(() => invitationResults?.filter(item => item.status === 'success') as SuccessInvitationResult[], [invitationResults])
+  const failedInvitationResults = useMemo<FailedInvitationResult[]>(() => invitationResults?.filter(item => item.status !== 'success') as FailedInvitationResult[], [invitationResults])
 
   return (
     <div className={s.wrap}>
@@ -49,20 +49,20 @@ const InvitedModal = ({
             <div className='mb-5 text-sm text-gray-500'>{t('common.members.invitationSentTip')}</div>
             <div className='flex flex-col gap-2 mb-9'>
               {
-                !!successInvationResults.length
+                !!successInvitationResults.length
                 && <>
                   <div className='py-2 text-sm font-Medium text-gray-900'>{t('common.members.invitationLink')}</div>
-                  {successInvationResults.map(item =>
+                  {successInvitationResults.map(item =>
                     <InvitationLink key={item.email} value={item} />)}
                 </>
               }
               {
-                !!failedInvationResults.length
+                !!failedInvitationResults.length
                 && <>
-                  <div className='py-2 text-sm font-Medium text-gray-900'>{t('common.members.failedinvitationEmails')}</div>
+                  <div className='py-2 text-sm font-Medium text-gray-900'>{t('common.members.failedInvitationEmails')}</div>
                   <div className='flex flex-wrap justify-between gap-y-1'>
                     {
-                      failedInvationResults.map(item =>
+                      failedInvitationResults.map(item =>
                         <div key={item.email} className='flex justify-center border border-red-300 rounded-md px-1 bg-orange-50'>
                           <Tooltip
                             popupContent={item.message}

+ 2 - 2
web/app/components/header/account-setting/members-page/invited-modal/invitation-link.tsx

@@ -3,12 +3,12 @@ import React, { useCallback, useEffect, useRef, useState } from 'react'
 import { t } from 'i18next'
 import copy from 'copy-to-clipboard'
 import s from './index.module.css'
-import type { SuccessInvationResult } from '.'
+import type { SuccessInvitationResult } from '.'
 import Tooltip from '@/app/components/base/tooltip'
 import { randomString } from '@/utils'
 
 type IInvitationLinkProps = {
-  value: SuccessInvationResult
+  value: SuccessInvitationResult
 }
 
 const InvitationLink = ({

+ 1 - 1
web/app/components/workflow/header/checklist.tsx

@@ -125,7 +125,7 @@ const WorkflowChecklist = ({
                                 <div className='px-3 py-2 bg-gray-25 rounded-b-lg'>
                                   <div className='flex text-xs leading-[18px] text-gray-500'>
                                     <AlertTriangle className='mt-[3px] mr-2 w-3 h-3 text-[#F79009]' />
-                                    {t('workflow.common.needConnecttip')}
+                                    {t('workflow.common.needConnectTip')}
                                   </div>
                                 </div>
                               )

+ 1 - 1
web/app/components/workflow/hooks/use-checklist.ts

@@ -138,7 +138,7 @@ export const useChecklistBeforePublish = () => {
       }
 
       if (!validNodes.find(n => n.id === node.id)) {
-        notify({ type: 'error', message: `[${node.data.title}] ${t('workflow.common.needConnecttip')}` })
+        notify({ type: 'error', message: `[${node.data.title}] ${t('workflow.common.needConnectTip')}` })
         return false
       }
     }

+ 4 - 4
web/app/components/workflow/nodes/_base/components/before-run-form/form-item.tsx

@@ -104,7 +104,7 @@ const FormItem: FC<Props> = ({
               type="text"
               value={value || ''}
               onChange={e => onChange(e.target.value)}
-              placeholder={t('appDebug.variableConig.inputPlaceholder')!}
+              placeholder={t('appDebug.variableConfig.inputPlaceholder')!}
               autoFocus={autoFocus}
             />
           )
@@ -117,7 +117,7 @@ const FormItem: FC<Props> = ({
               type="number"
               value={value || ''}
               onChange={e => onChange(e.target.value)}
-              placeholder={t('appDebug.variableConig.inputPlaceholder')!}
+              placeholder={t('appDebug.variableConfig.inputPlaceholder')!}
               autoFocus={autoFocus}
             />
           )
@@ -129,7 +129,7 @@ const FormItem: FC<Props> = ({
               className="w-full px-3 py-1 text-sm leading-[18px] text-gray-900 border-0 rounded-lg grow h-[120px] bg-gray-50 focus:outline-none focus:ring-1 focus:ring-inset focus:ring-gray-200"
               value={value || ''}
               onChange={e => onChange(e.target.value)}
-              placeholder={t('appDebug.variableConig.inputPlaceholder')!}
+              placeholder={t('appDebug.variableConfig.inputPlaceholder')!}
               autoFocus={autoFocus}
             />
           )
@@ -207,7 +207,7 @@ const FormItem: FC<Props> = ({
                   key={index}
                   isInNode
                   value={item}
-                  title={<span>{t('appDebug.variableConig.content')} {index + 1} </span>}
+                  title={<span>{t('appDebug.variableConfig.content')} {index + 1} </span>}
                   onChange={handleArrayItemChange(index)}
                   headerRight={
                     (value as any).length > 1

+ 2 - 2
web/app/components/workflow/nodes/parameter-extractor/components/extract-parameter/update.tsx

@@ -99,7 +99,7 @@ const AddExtractParameter: FC<Props> = ({
     if (!param.name)
       errMessage = t(`${errorI18nPrefix}.fieldRequired`, { field: t(`${i18nPrefix}.addExtractParameterContent.name`) })
     if (!errMessage && param.type === ParamType.select && (!param.options || param.options.length === 0))
-      errMessage = t(`${errorI18nPrefix}.fieldRequired`, { field: t('appDebug.variableConig.options') })
+      errMessage = t(`${errorI18nPrefix}.fieldRequired`, { field: t('appDebug.variableConfig.options') })
     if (!errMessage && !param.description)
       errMessage = t(`${errorI18nPrefix}.fieldRequired`, { field: t(`${i18nPrefix}.addExtractParameterContent.description`) })
 
@@ -160,7 +160,7 @@ const AddExtractParameter: FC<Props> = ({
                 />
               </Field>
               {param.type === ParamType.select && (
-                <Field title={t('appDebug.variableConig.options')}>
+                <Field title={t('appDebug.variableConfig.options')}>
                   <ConfigSelect options={param.options || []} onChange={handleParamChange('options')} />
                 </Field>
               )}

+ 1 - 1
web/app/signin/oneMoreStep.tsx

@@ -97,7 +97,7 @@ const OneMoreStep = () => {
                 }
                 needsDelay
               >
-                <span className='cursor-pointer text-primary-600'>{t('login.donthave')}</span>
+                <span className='cursor-pointer text-primary-600'>{t('login.dontHave')}</span>
               </Tooltip>
             </label>
             <div className="mt-1">

+ 1 - 1
web/i18n/de-DE/app-api.ts

@@ -9,7 +9,7 @@ const translation = {
   play: 'Abspielen',
   pause: 'Pause',
   playing: 'Wiedergabe',
-  merMaind: {
+  merMaid: {
     rerender: 'Neu rendern',
   },
   never: 'Nie',

+ 1 - 1
web/i18n/de-DE/app-debug.ts

@@ -248,7 +248,7 @@ const translation = {
     historyNoBeEmpty: 'Konversationsverlauf muss im Prompt gesetzt sein',
     queryNoBeEmpty: 'Anfrage muss im Prompt gesetzt sein',
   },
-  variableConig: {
+  variableConfig: {
     modalTitle: 'Feldeinstellungen',
     description: 'Einstellung für Variable {{varName}}',
     fieldType: 'Feldtyp',

+ 2 - 2
web/i18n/de-DE/common.ts

@@ -191,14 +191,14 @@ const translation = {
     invitationSent: 'Einladung gesendet',
     invitationSentTip: 'Einladung gesendet, und sie können sich bei Dify anmelden, um auf Ihre Teamdaten zuzugreifen.',
     invitationLink: 'Einladungslink',
-    failedinvitationEmails: 'Die folgenden Benutzer wurden nicht erfolgreich eingeladen',
+    failedInvitationEmails: 'Die folgenden Benutzer wurden nicht erfolgreich eingeladen',
     ok: 'OK',
     removeFromTeam: 'Vom Team entfernen',
     removeFromTeamTip: 'Wird den Teamzugang entfernen',
     setAdmin: 'Als Administrator einstellen',
     setMember: 'Als normales Mitglied einstellen',
     setEditor: 'Als Editor einstellen',
-    disinvite: 'Einladung widerrufen',
+    disInvite: 'Einladung widerrufen',
     deleteMember: 'Mitglied löschen',
     you: '(Du)',
     setBuilder: 'Als Builder festlegen',

+ 4 - 4
web/i18n/de-DE/dataset-creation.ts

@@ -104,8 +104,8 @@ const translation = {
     QATitle: 'Segmentierung im Frage-und-Antwort-Format',
     QATip: 'Diese Option zu aktivieren, wird mehr Tokens verbrauchen',
     QALanguage: 'Segmentierung verwenden',
-    emstimateCost: 'Schätzung',
-    emstimateSegment: 'Geschätzte Chunks',
+    estimateCost: 'Schätzung',
+    estimateSegment: 'Geschätzte Chunks',
     segmentCount: 'Chunks',
     calculating: 'Berechnung...',
     fileSource: 'Dokumente vorverarbeiten',
@@ -128,8 +128,8 @@ const translation = {
     previewSwitchTipStart: 'Die aktuelle Chunk-Vorschau ist im Textformat, ein Wechsel zur Vorschau im Frage-und-Antwort-Format wird',
     previewSwitchTipEnd: ' zusätzliche Tokens verbrauchen',
     characters: 'Zeichen',
-    indexSettedTip: 'Um die Indexmethode zu ändern, bitte gehen Sie zu den ',
-    retrivalSettedTip: 'Um die Indexmethode zu ändern, bitte gehen Sie zu den ',
+    indexSettingTip: 'Um die Indexmethode zu ändern, bitte gehen Sie zu den ',
+    retrievalSettingTip: 'Um die Indexmethode zu ändern, bitte gehen Sie zu den ',
     datasetSettingLink: 'Wissenseinstellungen.',
     websiteSource: 'Preprocess-Website',
     webpageUnit: 'Seiten',

+ 1 - 1
web/i18n/de-DE/login.ts

@@ -31,7 +31,7 @@ const translation = {
   pp: 'Datenschutzbestimmungen',
   tosDesc: 'Mit der Anmeldung stimmst du unseren',
   goToInit: 'Wenn du das Konto noch nicht initialisiert hast, gehe bitte zur Initialisierungsseite',
-  donthave: 'Hast du nicht?',
+  dontHave: 'Hast du nicht?',
   invalidInvitationCode: 'Ungültiger Einladungscode',
   accountAlreadyInited: 'Konto bereits initialisiert',
   forgotPassword: 'Passwort vergessen?',

+ 2 - 2
web/i18n/de-DE/share-app.ts

@@ -2,7 +2,7 @@ const translation = {
   common: {
     welcome: '',
     appUnavailable: 'App ist nicht verfügbar',
-    appUnkonwError: 'App ist nicht verfügbar',
+    appUnknownError: 'App ist nicht verfügbar',
   },
   chat: {
     newChat: 'Neuer Chat',
@@ -10,7 +10,7 @@ const translation = {
     unpinnedTitle: 'Chats',
     newChatDefaultName: 'Neues Gespräch',
     resetChat: 'Gespräch zurücksetzen',
-    powerBy: 'Bereitgestellt von',
+    poweredBy: 'Bereitgestellt von',
     prompt: 'Aufforderung',
     privatePromptConfigTitle: 'Konversationseinstellungen',
     publicPromptConfigTitle: 'Anfängliche Aufforderung',

+ 1 - 1
web/i18n/de-DE/workflow.ts

@@ -36,7 +36,7 @@ const translation = {
     searchVar: 'Variable suchen',
     variableNamePlaceholder: 'Variablenname',
     setVarValuePlaceholder: 'Variable setzen',
-    needConnecttip: 'Dieser Schritt ist mit nichts verbunden',
+    needConnectTip: 'Dieser Schritt ist mit nichts verbunden',
     maxTreeDepth: 'Maximales Limit von {{depth}} Knoten pro Ast',
     needEndNode: 'Der Endblock muss hinzugefügt werden',
     needAnswerNode: 'Der Antwortblock muss hinzugefügt werden',

+ 1 - 1
web/i18n/en-US/app-api.ts

@@ -10,7 +10,7 @@ const translation = {
   pause: 'Pause',
   playing: 'Playing',
   loading: 'Loading',
-  merMaind: {
+  merMaid: {
     rerender: 'Redo Rerender',
   },
   never: 'Never',

+ 1 - 1
web/i18n/en-US/app-debug.ts

@@ -301,7 +301,7 @@ const translation = {
     historyNoBeEmpty: 'Conversation history must be set in the prompt',
     queryNoBeEmpty: 'Query must be set in the prompt',
   },
-  variableConig: {
+  variableConfig: {
     'addModalTitle': 'Add Input Field',
     'editModalTitle': 'Edit Input Field',
     'description': 'Setting for variable {{varName}}',

+ 1 - 1
web/i18n/en-US/app.ts

@@ -88,7 +88,7 @@ const translation = {
   switchTipEnd: ' switching back to Basic Orchestrate.',
   switchLabel: 'The app copy to be created',
   removeOriginal: 'Delete the original app',
-  switchStart: 'Start swtich',
+  switchStart: 'Start switch',
   typeSelector: {
     all: 'ALL Types',
     chatbot: 'Chatbot',

+ 3 - 3
web/i18n/en-US/common.ts

@@ -200,7 +200,7 @@ const translation = {
     invitationSent: 'Invitation sent',
     invitationSentTip: 'Invitation sent, and they can sign in to Dify to access your team data.',
     invitationLink: 'Invitation Link',
-    failedinvitationEmails: 'Below users were not invited successfully',
+    failedInvitationEmails: 'Below users were not invited successfully',
     ok: 'OK',
     removeFromTeam: 'Remove from team',
     removeFromTeamTip: 'Will remove team access',
@@ -208,7 +208,7 @@ const translation = {
     setMember: 'Set to ordinary member',
     setBuilder: 'Set as builder',
     setEditor: 'Set as editor',
-    disinvite: 'Cancel the invitation',
+    disInvite: 'Cancel the invitation',
     deleteMember: 'Delete Member',
     you: '(You)',
   },
@@ -392,7 +392,7 @@ const translation = {
       selector: {
         pageSelected: 'Pages Selected',
         searchPages: 'Search pages...',
-        noSearchResult: 'No search resluts',
+        noSearchResult: 'No search results',
         addPages: 'Add pages',
         preview: 'PREVIEW',
       },

+ 5 - 5
web/i18n/en-US/dataset-creation.ts

@@ -91,7 +91,7 @@ const translation = {
     maxLength: 'Maximum chunk length',
     overlap: 'Chunk overlap',
     overlapTip: 'Setting the chunk overlap can maintain the semantic relevance between them, enhancing the retrieve effect. It is recommended to set 10%-25% of the maximum chunk size.',
-    overlapCheck: 'chunk overlap should not bigger than maximun chunk length',
+    overlapCheck: 'chunk overlap should not bigger than maximum chunk length',
     rules: 'Text preprocessing rules',
     removeExtraSpaces: 'Replace consecutive spaces, newlines and tabs',
     removeUrlEmails: 'Delete all URLs and email addresses',
@@ -109,8 +109,8 @@ const translation = {
     QATitle: 'Segmenting in Question & Answer format',
     QATip: 'Enable this option will consume more tokens',
     QALanguage: 'Segment using',
-    emstimateCost: 'Estimation',
-    emstimateSegment: 'Estimated chunks',
+    estimateCost: 'Estimation',
+    estimateSegment: 'Estimated chunks',
     segmentCount: 'chunks',
     calculating: 'Calculating...',
     fileSource: 'Preprocess documents',
@@ -135,8 +135,8 @@ const translation = {
     previewSwitchTipStart: 'The current chunk preview is in text format, switching to a question-and-answer format preview will',
     previewSwitchTipEnd: ' consume additional tokens',
     characters: 'characters',
-    indexSettedTip: 'To change the index method & embedding model, please go to the ',
-    retrivalSettedTip: 'To change the retrieval setting, please go to the ',
+    indexSettingTip: 'To change the index method & embedding model, please go to the ',
+    retrievalSettingTip: 'To change the retrieval setting, please go to the ',
     datasetSettingLink: 'Knowledge settings.',
   },
   stepThree: {

+ 1 - 1
web/i18n/en-US/login.ts

@@ -32,7 +32,7 @@ const translation = {
   pp: 'Privacy Policy',
   tosDesc: 'By signing up, you agree to our',
   goToInit: 'If you have not initialized the account, please go to the initialization page',
-  donthave: 'Don\'t have?',
+  dontHave: 'Don\'t have?',
   invalidInvitationCode: 'Invalid invitation code',
   accountAlreadyInited: 'Account already initialized',
   forgotPassword: 'Forgot your password?',

+ 2 - 2
web/i18n/en-US/share-app.ts

@@ -2,7 +2,7 @@ const translation = {
   common: {
     welcome: '',
     appUnavailable: 'App is unavailable',
-    appUnkonwError: 'App is unavailable',
+    appUnknownError: 'App is unavailable',
   },
   chat: {
     newChat: 'New chat',
@@ -10,7 +10,7 @@ const translation = {
     unpinnedTitle: 'Chats',
     newChatDefaultName: 'New conversation',
     resetChat: 'Reset conversation',
-    powerBy: 'Powered by',
+    poweredBy: 'Powered by',
     prompt: 'Prompt',
     privatePromptConfigTitle: 'Conversation settings',
     publicPromptConfigTitle: 'Initial Prompt',

+ 1 - 1
web/i18n/en-US/workflow.ts

@@ -36,7 +36,7 @@ const translation = {
     searchVar: 'Search variable',
     variableNamePlaceholder: 'Variable name',
     setVarValuePlaceholder: 'Set variable',
-    needConnecttip: 'This step is not connected to anything',
+    needConnectTip: 'This step is not connected to anything',
     maxTreeDepth: 'Maximum limit of {{depth}} nodes per branch',
     needEndNode: 'The End block must be added',
     needAnswerNode: 'The Answer block must be added',

+ 1 - 1
web/i18n/es-ES/app-api.ts

@@ -10,7 +10,7 @@ const translation = {
   pause: 'Pausa',
   playing: 'Reproduciendo',
   loading: 'Cargando',
-  merMaind: {
+  merMaid: {
     rerender: 'Rehacer Rerender',
   },
   never: 'Nunca',

+ 1 - 1
web/i18n/es-ES/app-debug.ts

@@ -259,7 +259,7 @@ const translation = {
     historyNoBeEmpty: 'El historial de conversaciones debe establecerse en la indicación',
     queryNoBeEmpty: 'La consulta debe establecerse en la indicación',
   },
-  variableConig: {
+  variableConfig: {
     'addModalTitle': 'Agregar Campo de Entrada',
     'editModalTitle': 'Editar Campo de Entrada',
     'description': 'Configuración para la variable {{varName}}',

+ 2 - 2
web/i18n/es-ES/common.ts

@@ -199,7 +199,7 @@ const translation = {
     invitationSent: 'Invitación enviada',
     invitationSentTip: 'Invitación enviada, y pueden iniciar sesión en Dify para acceder a tus datos del equipo.',
     invitationLink: 'Enlace de invitación',
-    failedinvitationEmails: 'Los siguientes usuarios no fueron invitados exitosamente',
+    failedInvitationEmails: 'Los siguientes usuarios no fueron invitados exitosamente',
     ok: 'OK',
     removeFromTeam: 'Eliminar del equipo',
     removeFromTeamTip: 'Se eliminará el acceso al equipo',
@@ -207,7 +207,7 @@ const translation = {
     setMember: 'Establecer como miembro ordinario',
     setBuilder: 'Establecer como constructor',
     setEditor: 'Establecer como editor',
-    disinvite: 'Cancelar la invitación',
+    disInvite: 'Cancelar la invitación',
     deleteMember: 'Eliminar miembro',
     you: '(Tú)',
   },

+ 4 - 4
web/i18n/es-ES/dataset-creation.ts

@@ -109,8 +109,8 @@ const translation = {
     QATitle: 'Segmentación en formato de pregunta y respuesta',
     QATip: 'Habilitar esta opción consumirá más tokens',
     QALanguage: 'Segmentar usando',
-    emstimateCost: 'Estimación',
-    emstimateSegment: 'Fragmentos estimados',
+    estimateCost: 'Estimación',
+    estimateSegment: 'Fragmentos estimados',
     segmentCount: 'fragmentos',
     calculating: 'Calculando...',
     fileSource: 'Preprocesar documentos',
@@ -135,8 +135,8 @@ const translation = {
     previewSwitchTipStart: 'La vista previa actual del fragmento está en formato de texto, cambiar a una vista previa en formato de pregunta y respuesta',
     previewSwitchTipEnd: ' consumirá tokens adicionales',
     characters: 'caracteres',
-    indexSettedTip: 'Para cambiar el método de índice, por favor ve a la ',
-    retrivalSettedTip: 'Para cambiar el método de índice, por favor ve a la ',
+    indexSettingTip: 'Para cambiar el método de índice, por favor ve a la ',
+    retrievalSettingTip: 'Para cambiar el método de índice, por favor ve a la ',
     datasetSettingLink: 'configuración del conocimiento.',
   },
   stepThree: {

+ 1 - 1
web/i18n/es-ES/login.ts

@@ -32,7 +32,7 @@ const translation = {
   pp: 'Política de privacidad',
   tosDesc: 'Al registrarte, aceptas nuestros',
   goToInit: 'Si no has inicializado la cuenta, por favor ve a la página de inicialización',
-  donthave: '¿No tienes?',
+  dontHave: '¿No tienes?',
   invalidInvitationCode: 'Código de invitación inválido',
   accountAlreadyInited: 'La cuenta ya está inicializada',
   forgotPassword: '¿Olvidaste tu contraseña?',

+ 2 - 2
web/i18n/es-ES/share-app.ts

@@ -2,7 +2,7 @@ const translation = {
   common: {
     welcome: '',
     appUnavailable: 'La aplicación no está disponible',
-    appUnkonwError: 'La aplicación no está disponible',
+    appUnknownError: 'La aplicación no está disponible',
   },
   chat: {
     newChat: 'Nuevo chat',
@@ -10,7 +10,7 @@ const translation = {
     unpinnedTitle: 'Chats',
     newChatDefaultName: 'Nueva conversación',
     resetChat: 'Reiniciar conversación',
-    powerBy: 'Desarrollado por',
+    poweredBy: 'Desarrollado por',
     prompt: 'Indicación',
     privatePromptConfigTitle: 'Configuración de la conversación',
     publicPromptConfigTitle: 'Indicación inicial',

+ 1 - 1
web/i18n/es-ES/workflow.ts

@@ -36,7 +36,7 @@ const translation = {
     searchVar: 'Buscar variable',
     variableNamePlaceholder: 'Nombre de la variable',
     setVarValuePlaceholder: 'Establecer variable',
-    needConnecttip: 'Este paso no está conectado a nada',
+    needConnectTip: 'Este paso no está conectado a nada',
     maxTreeDepth: 'Límite máximo de {{depth}} nodos por rama',
     needEndNode: 'Debe agregarse el bloque de Fin',
     needAnswerNode: 'Debe agregarse el bloque de Respuesta',

+ 1 - 1
web/i18n/fa-IR/app-api.ts

@@ -10,7 +10,7 @@ const translation = {
   pause: 'مکث',
   playing: 'در حال پخش',
   loading: 'در حال بارگذاری',
-  merMaind: {
+  merMaid: {
     rerender: 'بازسازی مجدد',
   },
   never: 'هرگز',

+ 1 - 1
web/i18n/fa-IR/app-debug.ts

@@ -294,7 +294,7 @@ const translation = {
       historyNoBeEmpty: 'تاریخچه مکالمه باید در پرس و جو تنظیم شود',
       queryNoBeEmpty: 'پرس و جو باید در پرس و جو تنظیم شود',
     },
-    variableConig: {
+    variableConfig: {
       'addModalTitle': 'افزودن فیلد ورودی',
       'editModalTitle': 'ویرایش فیلد ورودی',
       'description': 'تنظیم برای متغیر {{varName}}',

+ 2 - 2
web/i18n/fa-IR/common.ts

@@ -199,7 +199,7 @@ const translation = {
     invitationSent: 'دعوت‌نامه ارسال شد',
     invitationSentTip: 'دعوت‌نامه ارسال شد و آنها می‌توانند وارد Dify شوند تا به داده‌های تیم شما دسترسی پیدا کنند.',
     invitationLink: 'لینک دعوت',
-    failedinvitationEmails: 'کاربران زیر با موفقیت دعوت نشدند',
+    failedInvitationEmails: 'کاربران زیر با موفقیت دعوت نشدند',
     ok: 'تایید',
     removeFromTeam: 'حذف از تیم',
     removeFromTeamTip: 'دسترسی تیم را حذف می‌کند',
@@ -207,7 +207,7 @@ const translation = {
     setMember: 'تنظیم به عنوان عضو عادی',
     setBuilder: 'تنظیم به عنوان سازنده',
     setEditor: 'تنظیم به عنوان ویرایشگر',
-    disinvite: 'لغو دعوت',
+    disInvite: 'لغو دعوت',
     deleteMember: 'حذف عضو',
     you: '(شما)',
   },

+ 4 - 4
web/i18n/fa-IR/dataset-creation.ts

@@ -109,8 +109,8 @@ const translation = {
     QATitle: 'بخشبندی در قالب پرسش و پاسخ',
     QATip: 'فعال کردن این گزینه توکنهای بیشتری مصرف خواهد کرد',
     QALanguage: 'بخشبندی با استفاده از',
-    emstimateCost: 'برآورد',
-    emstimateSegment: 'بخشهای برآورد شده',
+    estimateCost: 'برآورد',
+    estimateSegment: 'بخشهای برآورد شده',
     segmentCount: 'بخشها',
     calculating: 'در حال محاسبه...',
     fileSource: 'پیشپردازش اسناد',
@@ -135,8 +135,8 @@ const translation = {
     previewSwitchTipStart: 'پیشنمایش بخش فعلی در قالب متن است، تغییر به پیشنمایش قالب پرسش و پاسخ',
     previewSwitchTipEnd: ' توکنهای اضافی مصرف خواهد کرد',
     characters: 'کاراکترها',
-    indexSettedTip: 'برای تغییر روش شاخص، لطفاً به',
-    retrivalSettedTip: 'برای تغییر روش شاخص، لطفاً به',
+    indexSettingTip: 'برای تغییر روش شاخص، لطفاً به',
+    retrievalSettingTip: 'برای تغییر روش شاخص، لطفاً به',
     datasetSettingLink: 'تنظیمات دانش بروید.',
   },
   stepThree: {

+ 1 - 1
web/i18n/fa-IR/login.ts

@@ -32,7 +32,7 @@ const translation = {
   pp: 'سیاست حفظ حریم خصوصی',
   tosDesc: 'با ثبت نام، شما با شرایط ما موافقت می‌کنید',
   goToInit: 'اگر حساب را اولیه نکرده‌اید، لطفاً به صفحه اولیه‌سازی بروید',
-  donthave: 'ندارید؟',
+  dontHave: 'ندارید؟',
   invalidInvitationCode: 'کد دعوت نامعتبر است',
   accountAlreadyInited: 'حساب قبلاً اولیه شده است',
   forgotPassword: 'رمز عبور خود را فراموش کرده‌اید؟',

+ 2 - 2
web/i18n/fa-IR/share-app.ts

@@ -2,7 +2,7 @@ const translation = {
   common: {
     welcome: '',
     appUnavailable: 'اپ در دسترس نیست',
-    appUnkonwError: 'اپ در دسترس نیست',
+    appUnknownError: 'اپ در دسترس نیست',
   },
   chat: {
     newChat: 'چت جدید',
@@ -10,7 +10,7 @@ const translation = {
     unpinnedTitle: 'چت‌ها',
     newChatDefaultName: 'مکالمه جدید',
     resetChat: 'بازنشانی مکالمه',
-    powerBy: 'قدرت‌گرفته از',
+    poweredBy: 'قدرت‌گرفته از',
     prompt: 'پیشنهاد',
     privatePromptConfigTitle: 'تنظیمات مکالمه',
     publicPromptConfigTitle: 'پیشنهاد اولیه',

+ 1 - 1
web/i18n/fa-IR/workflow.ts

@@ -36,7 +36,7 @@ const translation = {
     searchVar: 'جستجوی متغیر',
     variableNamePlaceholder: 'نام متغیر',
     setVarValuePlaceholder: 'تنظیم متغیر',
-    needConnecttip: 'این مرحله به هیچ چیزی متصل نیست',
+    needConnectTip: 'این مرحله به هیچ چیزی متصل نیست',
     maxTreeDepth: 'حداکثر عمق {{depth}} نود در هر شاخه',
     needEndNode: 'بلوک پایان باید اضافه شود',
     needAnswerNode: 'بلوک پاسخ باید اضافه شود',

+ 1 - 1
web/i18n/fr-FR/app-api.ts

@@ -9,7 +9,7 @@ const translation = {
   play: 'Jouer',
   pause: 'Pause',
   playing: 'Jouant',
-  merMaind: {
+  merMaid: {
     rerender: 'Refaire Rerendu',
   },
   never: 'Jamais',

+ 1 - 1
web/i18n/fr-FR/app-debug.ts

@@ -248,7 +248,7 @@ const translation = {
     historyNoBeEmpty: 'L\'historique de la conversation doit être défini dans le prompt',
     queryNoBeEmpty: 'La requête doit être définie dans le prompt',
   },
-  variableConig: {
+  variableConfig: {
     'addModalTitle': 'Add Input Field',
     'editModalTitle': 'Edit Input Field',
     'description': 'Setting for variable {{varName}}',

+ 2 - 2
web/i18n/fr-FR/common.ts

@@ -191,14 +191,14 @@ const translation = {
     invitationSent: 'Invitation envoyée',
     invitationSentTip: 'Invitation envoyée, et ils peuvent se connecter à Dify pour accéder aux données de votre équipe.',
     invitationLink: 'Lien d\'invitation',
-    failedinvitationEmails: 'Les utilisateurs ci-dessous n\'ont pas été invités avec succès',
+    failedInvitationEmails: 'Les utilisateurs ci-dessous n\'ont pas été invités avec succès',
     ok: 'D\'accord',
     removeFromTeam: 'Retirer de l\'équipe',
     removeFromTeamTip: 'Supprimera l\'accès de l\'équipe',
     setAdmin: 'Définir comme administrateur',
     setMember: 'Définir en tant que membre ordinaire',
     setEditor: 'Définir en tant qu\'éditeur',
-    disinvite: 'Annuler l\'invitation',
+    disInvite: 'Annuler l\'invitation',
     deleteMember: 'Supprimer Membre',
     you: '(Vous)',
     builder: 'Constructeur',

+ 4 - 4
web/i18n/fr-FR/dataset-creation.ts

@@ -104,8 +104,8 @@ const translation = {
     QATitle: 'Segmentation en format Question & Réponse',
     QATip: 'Activer cette option consommera plus de jetons',
     QALanguage: 'Segmenter en utilisant',
-    emstimateCost: 'Estimation',
-    emstimateSegment: 'Morceaux estimés',
+    estimateCost: 'Estimation',
+    estimateSegment: 'Morceaux estimés',
     segmentCount: 'morceaux',
     calculating: 'En calcul...',
     fileSource: 'Prétraiter les documents',
@@ -128,8 +128,8 @@ const translation = {
     previewSwitchTipStart: 'L\'aperçu actuel du morceau est en format texte, passer à un aperçu en format de questions-réponses va',
     previewSwitchTipEnd: 'consommer des tokens supplémentaires',
     characters: 'personnages',
-    indexSettedTip: 'Pour changer la méthode d\'index, veuillez aller à la',
-    retrivalSettedTip: 'Pour changer la méthode d\'index, veuillez aller à la',
+    indexSettingTip: 'Pour changer la méthode d\'index, veuillez aller à la',
+    retrievalSettingTip: 'Pour changer la méthode d\'index, veuillez aller à la',
     datasetSettingLink: 'Paramètres de connaissance.',
     webpageUnit: 'Pages',
     websiteSource: 'Site web de prétraitement',

+ 1 - 1
web/i18n/fr-FR/login.ts

@@ -31,7 +31,7 @@ const translation = {
   pp: 'Politique de Confidentialité',
   tosDesc: 'En vous inscrivant, vous acceptez nos',
   goToInit: 'Si vous n\'avez pas initialisé le compte, veuillez vous rendre sur la page d\'initialisation',
-  donthave: 'Vous n\'avez pas ?',
+  dontHave: 'Vous n\'avez pas ?',
   invalidInvitationCode: 'Code d\'invitation invalide',
   accountAlreadyInited: 'Compte déjà initialisé',
   forgotPassword: 'Mot de passe oublié?',

+ 2 - 2
web/i18n/fr-FR/share-app.ts

@@ -2,7 +2,7 @@ const translation = {
   common: {
     welcome: '',
     appUnavailable: 'L\'application n\'est pas disponible',
-    appUnkonwError: 'L\'application n\'est pas disponible',
+    appUnknownError: 'L\'application n\'est pas disponible',
   },
   chat: {
     newChat: 'Nouveau chat',
@@ -10,7 +10,7 @@ const translation = {
     unpinnedTitle: 'Discussions',
     newChatDefaultName: 'Nouvelle conversation',
     resetChat: 'Réinitialiser la conversation',
-    powerBy: 'Propulsé par',
+    poweredBy: 'Propulsé par',
     prompt: 'Prompt',
     privatePromptConfigTitle: 'Paramètres de conversation',
     publicPromptConfigTitle: 'Prompt Initial',

+ 1 - 1
web/i18n/fr-FR/workflow.ts

@@ -36,7 +36,7 @@ const translation = {
     searchVar: 'Rechercher une variable',
     variableNamePlaceholder: 'Nom de la variable',
     setVarValuePlaceholder: 'Définir la valeur de la variable',
-    needConnecttip: 'Cette étape n\'est connectée à rien',
+    needConnectTip: 'Cette étape n\'est connectée à rien',
     maxTreeDepth: 'Limite maximale de {{depth}} nœuds par branche',
     needEndNode: 'Le bloc de fin doit être ajouté',
     needAnswerNode: 'Le bloc de réponse doit être ajouté',

+ 1 - 1
web/i18n/hi-IN/app-api.ts

@@ -10,7 +10,7 @@ const translation = {
   pause: 'विराम',
   playing: 'चल रहा है',
   loading: 'लोड हो रहा है',
-  merMaind: {
+  merMaid: {
     rerender: 'पुनः रीरेंडर करें',
   },
   never: 'कभी नहीं',

+ 1 - 1
web/i18n/hi-IN/app-debug.ts

@@ -290,7 +290,7 @@ const translation = {
     historyNoBeEmpty: 'संवाद इतिहास प्रॉम्प्ट में सेट होना चाहिए',
     queryNoBeEmpty: 'प्रश्न प्रॉम्प्ट में सेट होना चाहिए',
   },
-  variableConig: {
+  variableConfig: {
     'addModalTitle': 'इनपुट फ़ील्ड जोड़ें',
     'editModalTitle': 'इनपुट फ़ील्ड संपादित करें',
     'description': 'वेरिएबल {{varName}} के लिए सेटिंग',

+ 2 - 2
web/i18n/hi-IN/common.ts

@@ -205,7 +205,7 @@ const translation = {
     invitationSentTip:
       'आमंत्रण भेजा गया, और वे साइन इन करके आपकी टीम डेटा तक पहुंच सकते हैं।',
     invitationLink: 'आमंत्रण लिंक',
-    failedinvitationEmails:
+    failedInvitationEmails:
       'नीचे दिए गए उपयोगकर्ताओं को सफलतापूर्वक आमंत्रित नहीं किया गया',
     ok: 'ठीक है',
     removeFromTeam: 'टीम से हटाएं',
@@ -214,7 +214,7 @@ const translation = {
     setMember: 'सामान्य सदस्य के रूप में सेट करें',
     setBuilder: 'निर्माता के रूप में सेट करें',
     setEditor: 'संपादक के रूप में सेट करें',
-    disinvite: 'आमंत्रण रद्द करें',
+    disInvite: 'आमंत्रण रद्द करें',
     deleteMember: 'सदस्य को हटाएं',
     you: '(आप)',
     datasetOperator: 'ज्ञान व्यवस्थापक',

+ 4 - 4
web/i18n/hi-IN/dataset-creation.ts

@@ -121,8 +121,8 @@ const translation = {
     QATitle: 'प्रश्न और उत्तर प्रारूप में खंड करना',
     QATip: 'इस विकल्प को सक्षम करने से अधिक टोकन खर्च होंगे',
     QALanguage: 'का उपयोग करके खंड करना',
-    emstimateCost: 'अनुमानित लागत',
-    emstimateSegment: 'अनुमानित खंड',
+    estimateCost: 'अनुमानित लागत',
+    estimateSegment: 'अनुमानित खंड',
     segmentCount: 'खंड',
     calculating: 'गणना कर रहा है...',
     fileSource: 'दस्तावेज़ों को पूर्व-प्रसंस्करण करें',
@@ -152,8 +152,8 @@ const translation = {
       'वर्तमान खंड पूर्वावलोकन पाठ प्रारूप में है, प्रश्न-उत्तर प्रारूप में स्विच करने से',
     previewSwitchTipEnd: ' अतिरिक्त टोकन खर्च होंगे',
     characters: 'वर्ण',
-    indexSettedTip: 'इंडेक्स विधि बदलने के लिए, कृपया जाएं ',
-    retrivalSettedTip: 'इंडेक्स विधि बदलने के लिए, कृपया जाएं ',
+    indexSettingTip: 'इंडेक्स विधि बदलने के लिए, कृपया जाएं ',
+    retrievalSettingTip: 'इंडेक्स विधि बदलने के लिए, कृपया जाएं ',
     datasetSettingLink: 'ज्ञान सेटिंग्स।',
   },
   stepThree: {

+ 1 - 1
web/i18n/hi-IN/login.ts

@@ -36,7 +36,7 @@ const translation = {
   tosDesc: 'साइन अप करके, आप हमारी सहमति देते हैं',
   goToInit:
     'यदि आपने खाता प्रारंभ नहीं किया है, तो कृपया प्रारंभिक पृष्ठ पर जाएं',
-  donthave: 'नहीं है?',
+  dontHave: 'नहीं है?',
   invalidInvitationCode: 'अवैध निमंत्रण कोड',
   accountAlreadyInited: 'खाता पहले से प्रारंभ किया गया है',
   forgotPassword: 'क्या आपने अपना पासवर्ड भूल गए हैं?',

+ 2 - 2
web/i18n/hi-IN/share-app.ts

@@ -3,7 +3,7 @@ const translation = {
     welcome: 'आपका स्वागत है',
     appUnavailable: 'ऐप उपलब्ध नहीं है',
     appUnknownError: 'अज्ञात त्रुटि, कृपया पुनः प्रयास करें',
-    appUnkonwError: 'ऐप अनुपलब्ध है',
+    appUnknownError: 'ऐप अनुपलब्ध है',
   },
   chat: {
     newChat: 'नया चैट',
@@ -11,7 +11,7 @@ const translation = {
     unpinnedTitle: 'चैट',
     newChatDefaultName: 'नया संवाद',
     resetChat: 'संवाद रीसेट करें',
-    powerBy: 'संचालित है',
+    poweredBy: 'संचालित है',
     prompt: 'प्रॉम्प्ट',
     privatePromptConfigTitle: 'संवाद सेटिंग्स',
     publicPromptConfigTitle: 'प्रारंभिक प्रॉम्प्ट',

+ 1 - 1
web/i18n/hi-IN/workflow.ts

@@ -36,7 +36,7 @@ const translation = {
     searchVar: 'वेरिएबल खोजें',
     variableNamePlaceholder: 'वेरिएबल नाम',
     setVarValuePlaceholder: 'वेरिएबल सेट करें',
-    needConnecttip: 'यह चरण किसी से जुड़ा नहीं है',
+    needConnectTip: 'यह चरण किसी से जुड़ा नहीं है',
     maxTreeDepth: 'प्रति शाखा अधिकतम {{depth}} नोड्स की सीमा',
     needEndNode: 'अंत ब्लॉक जोड़ा जाना चाहिए',
     needAnswerNode: 'उत्तर ब्लॉक जोड़ा जाना चाहिए',

+ 1 - 1
web/i18n/it-IT/app-api.ts

@@ -10,7 +10,7 @@ const translation = {
   pause: 'Pausa',
   playing: 'In Riproduzione',
   loading: 'Caricamento',
-  merMaind: {
+  merMaid: {
     rerender: 'Rifare il rendering',
   },
   never: 'Mai',

+ 1 - 1
web/i18n/it-IT/app-debug.ts

@@ -293,7 +293,7 @@ const translation = {
       'La cronologia delle conversazioni deve essere impostata nel prompt',
     queryNoBeEmpty: 'La query deve essere impostata nel prompt',
   },
-  variableConig: {
+  variableConfig: {
     'addModalTitle': 'Aggiungi Campo Input',
     'editModalTitle': 'Modifica Campo Input',
     'description': 'Impostazione per la variabile {{varName}}',

+ 2 - 2
web/i18n/it-IT/common.ts

@@ -209,7 +209,7 @@ const translation = {
     invitationSentTip:
       'Invito inviato, e possono accedere a Dify per accedere ai dati del tuo team.',
     invitationLink: 'Link di Invito',
-    failedinvitationEmails:
+    failedInvitationEmails:
       'Gli utenti seguenti non sono stati invitati con successo',
     ok: 'OK',
     removeFromTeam: 'Rimuovi dal team',
@@ -218,7 +218,7 @@ const translation = {
     setMember: 'Imposta come membro ordinario',
     setBuilder: 'Imposta come builder',
     setEditor: 'Imposta come editor',
-    disinvite: 'Annulla l\'invito',
+    disInvite: 'Annulla l\'invito',
     deleteMember: 'Elimina Membro',
     you: '(Tu)',
   },

+ 4 - 4
web/i18n/it-IT/dataset-creation.ts

@@ -124,8 +124,8 @@ const translation = {
     QATitle: 'Segmentazione in formato Domanda & Risposta',
     QATip: 'Abilitare questa opzione consumerà più token',
     QALanguage: 'Segmenta usando',
-    emstimateCost: 'Stima',
-    emstimateSegment: 'Blocchi stimati',
+    estimateCost: 'Stima',
+    estimateSegment: 'Blocchi stimati',
     segmentCount: 'blocchi',
     calculating: 'Calcolo in corso...',
     fileSource: 'Preprocessa documenti',
@@ -155,8 +155,8 @@ const translation = {
       'L\'anteprima del blocco corrente è in formato testo, il passaggio a un\'anteprima in formato domanda e risposta',
     previewSwitchTipEnd: ' consumerà token aggiuntivi',
     characters: 'caratteri',
-    indexSettedTip: 'Per cambiare il metodo di indicizzazione, vai alle ',
-    retrivalSettedTip: 'Per cambiare il metodo di indicizzazione, vai alle ',
+    indexSettingTip: 'Per cambiare il metodo di indicizzazione, vai alle ',
+    retrievalSettingTip: 'Per cambiare il metodo di indicizzazione, vai alle ',
     datasetSettingLink: 'impostazioni della Conoscenza.',
   },
   stepThree: {

+ 1 - 1
web/i18n/it-IT/login.ts

@@ -38,7 +38,7 @@ const translation = {
   tosDesc: 'Iscrivendoti, accetti i nostri',
   goToInit:
     'Se non hai inizializzato l\'account, vai alla pagina di inizializzazione',
-  donthave: 'Non hai?',
+  dontHave: 'Non hai?',
   invalidInvitationCode: 'Codice di invito non valido',
   accountAlreadyInited: 'Account già inizializzato',
   forgotPassword: 'Hai dimenticato la password?',

+ 2 - 2
web/i18n/it-IT/share-app.ts

@@ -2,7 +2,7 @@ const translation = {
   common: {
     welcome: '',
     appUnavailable: 'L\'app non è disponibile',
-    appUnkonwError: 'L\'app non è disponibile',
+    appUnknownError: 'L\'app non è disponibile',
   },
   chat: {
     newChat: 'Nuova chat',
@@ -10,7 +10,7 @@ const translation = {
     unpinnedTitle: 'Chat',
     newChatDefaultName: 'Nuova conversazione',
     resetChat: 'Reimposta conversazione',
-    powerBy: 'Powered by',
+    poweredBy: 'Powered by',
     prompt: 'Prompt',
     privatePromptConfigTitle: 'Impostazioni conversazione',
     publicPromptConfigTitle: 'Prompt iniziale',

+ 1 - 1
web/i18n/it-IT/workflow.ts

@@ -36,7 +36,7 @@ const translation = {
     searchVar: 'Cerca variabile',
     variableNamePlaceholder: 'Nome variabile',
     setVarValuePlaceholder: 'Imposta variabile',
-    needConnecttip: 'Questo passaggio non è collegato a nulla',
+    needConnectTip: 'Questo passaggio non è collegato a nulla',
     maxTreeDepth: 'Limite massimo di {{depth}} nodi per ramo',
     needEndNode: 'Deve essere aggiunto il blocco di Fine',
     needAnswerNode: 'Deve essere aggiunto il blocco di Risposta',

+ 1 - 1
web/i18n/ja-JP/app-api.ts

@@ -10,7 +10,7 @@ const translation = {
   pause: '一時停止',
   playing: '再生中',
   loading: '読み込み中',
-  merMaind: {
+  merMaid: {
     rerender: '再レンダリング',
   },
   never: 'なし',

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

@@ -295,7 +295,7 @@ const translation = {
     historyNoBeEmpty: 'プロンプトには会話履歴を設定する必要があります',
     queryNoBeEmpty: 'プロンプトにクエリを設定する必要があります',
   },
-  variableConig: {
+  variableConfig: {
     'addModalTitle': '入力フィールドを追加',
     'editModalTitle': '入力フィールドを編集',
     'description': '{{varName}} の変数設定',

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

@@ -199,7 +199,7 @@ const translation = {
     invitationSent: '招待が送信されました',
     invitationSentTip: '招待が送信され、彼らはDifyにサインインしてあなた様のチームデータにアクセスできます。',
     invitationLink: '招待リンク',
-    failedinvitationEmails: '以下のユーザーは正常に招待されませんでした',
+    failedInvitationEmails: '以下のユーザーは正常に招待されませんでした',
     ok: 'OK',
     removeFromTeam: 'チームから削除',
     removeFromTeamTip: 'チームへのアクセスが削除されます',
@@ -207,7 +207,7 @@ const translation = {
     setMember: '通常のメンバーに設定',
     setBuilder: 'ビルダーに設定',
     setEditor: 'エディターに設定',
-    disinvite: '招待をキャンセル',
+    disInvite: '招待をキャンセル',
     deleteMember: 'メンバーを削除',
     you: '(あなた様)',
   },

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

@@ -109,8 +109,8 @@ const translation = {
     QATitle: '質問と回答形式でセグメント化',
     QATip: 'このオプションを有効にすると、追加のトークンが消費されます',
     QALanguage: '使用言語',
-    emstimateCost: '見積もり',
-    emstimateSegment: '推定チャンク数',
+    estimateCost: '見積もり',
+    estimateSegment: '推定チャンク数',
     segmentCount: 'チャンク',
     calculating: '計算中...',
     fileSource: 'ドキュメントの前処理',
@@ -135,8 +135,8 @@ const translation = {
     previewSwitchTipStart: '現在のチャンクプレビューはテキスト形式です。質問と回答形式のプレビューに切り替えると、',
     previewSwitchTipEnd: ' 追加のトークンが消費されます',
     characters: '文字',
-    indexSettedTip: 'インデックス方法を変更するには、',
-    retrivalSettedTip: '検索方法を変更するには、',
+    indexSettingTip: 'インデックス方法を変更するには、',
+    retrievalSettingTip: '検索方法を変更するには、',
     datasetSettingLink: 'ナレッジ設定',
   },
   stepThree: {

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

@@ -32,7 +32,7 @@ const translation = {
   pp: 'プライバシーポリシー',
   tosDesc: 'サインアップすることで、以下に同意するものとします',
   goToInit: 'アカウントを初期化していない場合は、初期化ページに移動してください',
-  donthave: 'お持ちでない場合',
+  dontHave: 'お持ちでない場合',
   invalidInvitationCode: '無効な招待コード',
   accountAlreadyInited: 'アカウントは既に初期化されています',
   forgotPassword: 'パスワードを忘れましたか?',

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

@@ -2,7 +2,7 @@ const translation = {
   common: {
     welcome: '',
     appUnavailable: 'アプリが利用できません',
-    appUnkonwError: 'アプリが利用できません',
+    appUnknownError: 'アプリが利用できません',
   },
   chat: {
     newChat: '新しいチャット',
@@ -10,7 +10,7 @@ const translation = {
     unpinnedTitle: 'チャット',
     newChatDefaultName: '新しい会話',
     resetChat: '会話をリセット',
-    powerBy: 'Powered by',
+    poweredBy: 'Powered by',
     prompt: 'プロンプト',
     privatePromptConfigTitle: '会話の設定',
     publicPromptConfigTitle: '初期プロンプト',

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

@@ -36,7 +36,7 @@ const translation = {
     searchVar: '変数を検索',
     variableNamePlaceholder: '変数名',
     setVarValuePlaceholder: '変数を設定',
-    needConnecttip: 'このステップは何にも接続されていません',
+    needConnectTip: 'このステップは何にも接続されていません',
     maxTreeDepth: 'ブランチごとの最大制限は{{depth}}ノードです',
     needEndNode: '終了ブロックを追加する必要があります',
     needAnswerNode: '回答ブロックを追加する必要があります',

+ 1 - 1
web/i18n/ko-KR/app-api.ts

@@ -10,7 +10,7 @@ const translation = {
   pause: '일시 정지',
   playing: '실행 중',
   loading: '로드 중',
-  merMaind: {
+  merMaid: {
     rerender: '다시 렌더링',
   },
   never: '없음',

+ 1 - 1
web/i18n/ko-KR/app-debug.ts

@@ -259,7 +259,7 @@ const translation = {
     historyNoBeEmpty: '프롬프트에 대화 기록을 설정해야 합니다',
     queryNoBeEmpty: '프롬프트에 쿼리를 설정해야 합니다',
   },
-  variableConig: {
+  variableConfig: {
     'addModalTitle': '입력 필드 추가',
     'editModalTitle': '입력 필드 편집',
     'description': '{{varName}} 변수 설정',

+ 2 - 2
web/i18n/ko-KR/common.ts

@@ -187,14 +187,14 @@ const translation = {
     invitationSent: '초대가 전송되었습니다',
     invitationSentTip: '초대가 전송되었으며, 그들은 Dify에 로그인하여 당신의 팀 데이터에 액세스할 수 있습니다.',
     invitationLink: '초대 링크',
-    failedinvitationEmails: '다음 사용자들은 성공적으로 초대되지 않았습니다',
+    failedInvitationEmails: '다음 사용자들은 성공적으로 초대되지 않았습니다',
     ok: '확인',
     removeFromTeam: '팀에서 제거',
     removeFromTeamTip: '팀 액세스가 제거됩니다',
     setAdmin: '관리자 설정',
     setMember: '일반 멤버 설정',
     setEditor: '편집자 설정',
-    disinvite: '초대 취소',
+    disInvite: '초대 취소',
     deleteMember: '멤버 삭제',
     you: '(나)',
     datasetOperator: '지식 관리자',

+ 4 - 4
web/i18n/ko-KR/dataset-creation.ts

@@ -104,8 +104,8 @@ const translation = {
     QATitle: '질문과 답변 형식으로 세그먼트화',
     QATip: '이 옵션을 활성화하면 추가 토큰이 소비됩니다',
     QALanguage: '사용 언어',
-    emstimateCost: '예상 비용',
-    emstimateSegment: '예상 청크 수',
+    estimateCost: '예상 비용',
+    estimateSegment: '예상 청크 수',
     segmentCount: '청크',
     calculating: '계산 중...',
     fileSource: '문서 전처리',
@@ -128,8 +128,8 @@ const translation = {
     previewSwitchTipStart: '현재 청크 미리보기는 텍스트 형식입니다. 질문과 답변 형식 미리보기로 전환하면',
     previewSwitchTipEnd: ' 추가 토큰이 소비됩니다',
     characters: '문자',
-    indexSettedTip: '인덱스 방식을 변경하려면,',
-    retrivalSettedTip: '인덱스 방식을 변경하려면,',
+    indexSettingTip: '인덱스 방식을 변경하려면,',
+    retrievalSettingTip: '인덱스 방식을 변경하려면,',
     datasetSettingLink: '지식 설정',
     webpageUnit: '페이지',
     websiteSource: '웹 사이트 전처리',

+ 1 - 1
web/i18n/ko-KR/login.ts

@@ -31,7 +31,7 @@ const translation = {
   pp: '개인정보 처리 방침',
   tosDesc: '가입함으로써 다음 내용에 동의하게 됩니다.',
   goToInit: '계정이 초기화되지 않았다면 초기화 페이지로 이동하세요.',
-  donthave: '계정이 없으신가요?',
+  dontHave: '계정이 없으신가요?',
   invalidInvitationCode: '유효하지 않은 초대 코드입니다.',
   accountAlreadyInited: '계정은 이미 초기화되었습니다.',
   forgotPassword: '비밀번호를 잊으셨나요?',

+ 2 - 2
web/i18n/ko-KR/share-app.ts

@@ -2,7 +2,7 @@ const translation = {
   common: {
     welcome: '',
     appUnavailable: '앱을 사용할 수 없습니다',
-    appUnkonwError: '앱을 사용할 수 없습니다',
+    appUnknownError: '앱을 사용할 수 없습니다',
   },
   chat: {
     newChat: '새 채팅',
@@ -10,7 +10,7 @@ const translation = {
     unpinnedTitle: '채팅',
     newChatDefaultName: '새 대화',
     resetChat: '대화 재설정',
-    powerBy: 'Powered by',
+    poweredBy: 'Powered by',
     prompt: '프롬프트',
     privatePromptConfigTitle: '채팅 설정',
     publicPromptConfigTitle: '초기 프롬프트',

+ 1 - 1
web/i18n/ko-KR/workflow.ts

@@ -36,7 +36,7 @@ const translation = {
     searchVar: '변수 검색',
     variableNamePlaceholder: '변수 이름',
     setVarValuePlaceholder: '변수 값 설정',
-    needConnecttip: '이 단계는 아무것도 연결되어 있지 않습니다',
+    needConnectTip: '이 단계는 아무것도 연결되어 있지 않습니다',
     maxTreeDepth: '분기당 최대 {{depth}} 노드 제한',
     needEndNode: '종료 블록을 추가해야 합니다',
     needAnswerNode: '답변 블록을 추가해야 합니다',

+ 1 - 1
web/i18n/pl-PL/app-api.ts

@@ -10,7 +10,7 @@ const translation = {
   pause: 'Pauza',
   playing: 'Gra',
   loading: 'Ładowanie',
-  merMaind: {
+  merMaid: {
     rerender: 'Przerób Renderowanie',
   },
   never: 'Nigdy',

+ 1 - 1
web/i18n/pl-PL/app-debug.ts

@@ -289,7 +289,7 @@ const translation = {
     historyNoBeEmpty: 'Historia konwersacji musi być ustawiona w monicie',
     queryNoBeEmpty: 'Zapytanie musi być ustawione w monicie',
   },
-  variableConig: {
+  variableConfig: {
     'addModalTitle': 'Dodaj Pole Wejściowe',
     'editModalTitle': 'Edytuj Pole Wejściowe',
     'description': 'Ustawienia dla zmiennej {{varName}}',

+ 2 - 2
web/i18n/pl-PL/common.ts

@@ -199,14 +199,14 @@ const translation = {
     invitationSentTip:
       'Zaproszenie zostało wysłane, a oni mogą zalogować się do Dify, aby uzyskać dostęp do danych Twojego zespołu.',
     invitationLink: 'Link zaproszenia',
-    failedinvitationEmails: 'Poniższe osoby nie zostały pomyślnie zaproszone',
+    failedInvitationEmails: 'Poniższe osoby nie zostały pomyślnie zaproszone',
     ok: 'OK',
     removeFromTeam: 'Usuń z zespołu',
     removeFromTeamTip: 'Usunie dostęp do zespołu',
     setAdmin: 'Ustaw jako administratora',
     setMember: 'Ustaw jako zwykłego członka',
     setEditor: 'Ustaw jako edytora',
-    disinvite: 'Anuluj zaproszenie',
+    disInvite: 'Anuluj zaproszenie',
     deleteMember: 'Usuń członka',
     you: '(Ty)',
     datasetOperatorTip: 'Może zarządzać tylko bazą wiedzy',

+ 4 - 4
web/i18n/pl-PL/dataset-creation.ts

@@ -112,8 +112,8 @@ const translation = {
     QATitle: 'Segmentacja w formacie pytania i odpowiedzi',
     QATip: 'Włączenie tej opcji spowoduje zużycie większej liczby tokenów',
     QALanguage: 'Segmentacja przy użyciu',
-    emstimateCost: 'Oszacowanie',
-    emstimateSegment: 'Oszacowane bloki',
+    estimateCost: 'Oszacowanie',
+    estimateSegment: 'Oszacowane bloki',
     segmentCount: 'bloki',
     calculating: 'Obliczanie...',
     fileSource: 'Przetwarzaj dokumenty',
@@ -141,8 +141,8 @@ const translation = {
       'Aktulany podgląd bloku jest w formacie tekstu, przełączenie na podgląd w formacie pytania i odpowiedzi spowoduje',
     previewSwitchTipEnd: ' dodatkowe zużycie tokenów',
     characters: 'znaki',
-    indexSettedTip: 'Aby zmienić metodę indeksowania, przejdź do ',
-    retrivalSettedTip: 'Aby zmienić metodę indeksowania, przejdź do ',
+    indexSettingTip: 'Aby zmienić metodę indeksowania, przejdź do ',
+    retrievalSettingTip: 'Aby zmienić metodę indeksowania, przejdź do ',
     datasetSettingLink: 'ustawień Wiedzy.',
     webpageUnit: 'Stron',
     websiteSource: 'Witryna internetowa przetwarzania wstępnego',

+ 1 - 1
web/i18n/pl-PL/login.ts

@@ -36,7 +36,7 @@ const translation = {
   pp: 'Polityka prywatności',
   tosDesc: 'Założeniem konta zgadzasz się z naszymi',
   goToInit: 'Jeśli nie zainicjowałeś konta, przejdź do strony inicjalizacji',
-  donthave: 'Nie masz?',
+  dontHave: 'Nie masz?',
   invalidInvitationCode: 'Niewłaściwy kod zaproszenia',
   accountAlreadyInited: 'Konto już zainicjowane',
   forgotPassword: 'Zapomniałeś hasła?',

+ 2 - 2
web/i18n/pl-PL/share-app.ts

@@ -2,7 +2,7 @@ const translation = {
   common: {
     welcome: '',
     appUnavailable: 'Aplikacja jest niedostępna',
-    appUnkonwError: 'Aplikacja jest niedostępna',
+    appUnknownError: 'Aplikacja jest niedostępna',
   },
   chat: {
     newChat: 'Nowy czat',
@@ -10,7 +10,7 @@ const translation = {
     unpinnedTitle: 'Czaty',
     newChatDefaultName: 'Nowa rozmowa',
     resetChat: 'Resetuj rozmowę',
-    powerBy: 'Działany przez',
+    poweredBy: 'Działany przez',
     prompt: 'Podpowiedź',
     privatePromptConfigTitle: 'Ustawienia rozmowy',
     publicPromptConfigTitle: 'Początkowa podpowiedź',

+ 1 - 1
web/i18n/pl-PL/workflow.ts

@@ -36,7 +36,7 @@ const translation = {
     searchVar: 'Szukaj zmiennej',
     variableNamePlaceholder: 'Nazwa zmiennej',
     setVarValuePlaceholder: 'Ustaw zmienną',
-    needConnecttip: 'Ten krok nie jest połączony z niczym',
+    needConnectTip: 'Ten krok nie jest połączony z niczym',
     maxTreeDepth: 'Maksymalny limit {{depth}} węzłów na gałąź',
     needEndNode: 'Należy dodać blok końcowy',
     needAnswerNode: 'Należy dodać blok odpowiedzi',

+ 1 - 1
web/i18n/pt-BR/app-api.ts

@@ -6,7 +6,7 @@ const translation = {
   ok: 'Em Serviço',
   copy: 'Copiar',
   copied: 'Copiado',
-  merMaind: {
+  merMaid: {
     rerender: 'Refazer Rerender',
   },
   never: 'Nunca',

+ 1 - 1
web/i18n/pt-BR/app-debug.ts

@@ -265,7 +265,7 @@ const translation = {
     historyNoBeEmpty: 'O histórico da conversa deve ser definido na solicitação',
     queryNoBeEmpty: 'A consulta deve ser definida na solicitação',
   },
-  variableConig: {
+  variableConfig: {
     'addModalTitle': 'Adicionar Campo de Entrada',
     'editModalTitle': 'Editar Campo de Entrada',
     'description': 'Configuração para a variável {{varName}}',

+ 2 - 2
web/i18n/pt-BR/common.ts

@@ -191,14 +191,14 @@ const translation = {
     invitationSent: 'Convite enviado',
     invitationSentTip: 'Convite enviado e eles podem fazer login no Dify para acessar os dados da sua equipe.',
     invitationLink: 'Link do Convite',
-    failedinvitationEmails: 'Os seguintes usuários não foram convidados com sucesso',
+    failedInvitationEmails: 'Os seguintes usuários não foram convidados com sucesso',
     ok: 'OK',
     removeFromTeam: 'Remover da equipe',
     removeFromTeamTip: 'Removerá o acesso da equipe',
     setAdmin: 'Definir como administrador',
     setMember: 'Definir como membro comum',
     setEditor: 'Definir como editor',
-    disinvite: 'Cancelar o convite',
+    disInvite: 'Cancelar o convite',
     deleteMember: 'Excluir Membro',
     you: '(Você)',
     datasetOperatorTip: 'Só pode gerenciar a base de dados de conhecimento',

+ 4 - 4
web/i18n/pt-BR/dataset-creation.ts

@@ -104,8 +104,8 @@ const translation = {
     QATitle: 'Fragmentação no formato de Perguntas e Respostas',
     QATip: 'Habilitar esta opção consumirá mais tokens',
     QALanguage: 'Fragmentar usando',
-    emstimateCost: 'Estimativa',
-    emstimateSegment: 'Fragmentos estimados',
+    estimateCost: 'Estimativa',
+    estimateSegment: 'Fragmentos estimados',
     segmentCount: 'fragmentos',
     calculating: 'Calculando...',
     fileSource: 'Pré-processar documentos',
@@ -128,8 +128,8 @@ const translation = {
     previewSwitchTipStart: 'A visualização atual do fragmento está no formato de texto, alternar para uma visualização no formato de Perguntas e Respostas irá',
     previewSwitchTipEnd: ' consumir tokens adicionais',
     characters: 'caracteres',
-    indexSettedTip: 'Para alterar o método de índice, por favor vá para as ',
-    retrivalSettedTip: 'Para alterar o método de índice, por favor vá para as ',
+    indexSettingTip: 'Para alterar o método de índice, por favor vá para as ',
+    retrievalSettingTip: 'Para alterar o método de índice, por favor vá para as ',
     datasetSettingLink: 'configurações do Conhecimento.',
     websiteSource: 'Site de pré-processamento',
     webpageUnit: 'Páginas',

+ 1 - 1
web/i18n/pt-BR/login.ts

@@ -31,7 +31,7 @@ const translation = {
   pp: 'Política de Privacidade',
   tosDesc: 'Ao se inscrever, você concorda com nossos',
   goToInit: 'Se você não inicializou a conta, vá para a página de inicialização',
-  donthave: 'Não tem?',
+  dontHave: 'Não tem?',
   invalidInvitationCode: 'Código de convite inválido',
   accountAlreadyInited: 'Conta já iniciada',
   forgotPassword: 'Esqueceu sua senha?',

+ 2 - 2
web/i18n/pt-BR/share-app.ts

@@ -2,7 +2,7 @@ const translation = {
   common: {
     welcome: '',
     appUnavailable: 'O aplicativo não está disponível',
-    appUnkonwError: 'O aplicativo encontrou um erro desconhecido',
+    appUnknownError: 'O aplicativo encontrou um erro desconhecido',
   },
   chat: {
     newChat: 'Nova conversa',
@@ -10,7 +10,7 @@ const translation = {
     unpinnedTitle: 'Conversas',
     newChatDefaultName: 'Nova conversa',
     resetChat: 'Redefinir conversa',
-    powerBy: 'Desenvolvido por',
+    poweredBy: 'Desenvolvido por',
     prompt: 'Prompt',
     privatePromptConfigTitle: 'Configurações da conversa',
     publicPromptConfigTitle: 'Prompt inicial',

+ 1 - 1
web/i18n/pt-BR/workflow.ts

@@ -36,7 +36,7 @@ const translation = {
     searchVar: 'Buscar variável',
     variableNamePlaceholder: 'Nome da variável',
     setVarValuePlaceholder: 'Definir valor da variável',
-    needConnecttip: 'Este passo não está conectado a nada',
+    needConnectTip: 'Este passo não está conectado a nada',
     maxTreeDepth: 'Limite máximo de {{depth}} nós por ramo',
     needEndNode: 'O bloco de fim deve ser adicionado',
     needAnswerNode: 'O bloco de resposta deve ser adicionado',

+ 1 - 1
web/i18n/ro-RO/app-api.ts

@@ -10,7 +10,7 @@ const translation = {
   pause: 'Pauză',
   playing: 'În redare',
   loading: 'Se încarcă',
-  merMaind: {
+  merMaid: {
     rerender: 'Reprocesare',
   },
   never: 'Niciodată',

+ 1 - 1
web/i18n/ro-RO/app-debug.ts

@@ -265,7 +265,7 @@ const translation = {
     historyNoBeEmpty: 'Istoricul conversației trebuie setat în prompt',
     queryNoBeEmpty: 'Interogația trebuie setată în prompt',
   },
-  variableConig: {
+  variableConfig: {
     'addModalTitle': 'Adăugați câmp de intrare',
     'editModalTitle': 'Editați câmpul de intrare',
     'description': 'Setare pentru variabila {{varName}}',

+ 2 - 2
web/i18n/ro-RO/common.ts

@@ -191,14 +191,14 @@ const translation = {
     invitationSent: 'Invitație trimisă',
     invitationSentTip: 'Invitația a fost trimisă și pot să se autentifice în Dify pentru a accesa datele echipei dvs.',
     invitationLink: 'Link de invitație',
-    failedinvitationEmails: 'Următorii utilizatori nu au fost invitați cu succes',
+    failedInvitationEmails: 'Următorii utilizatori nu au fost invitați cu succes',
     ok: 'OK',
     removeFromTeam: 'Elimină din echipă',
     removeFromTeamTip: 'Va elimina accesul la echipă',
     setAdmin: 'Setează ca administrator',
     setMember: 'Setează ca membru obișnuit',
     setEditor: 'Setează ca editor',
-    disinvite: 'Anulează invitația',
+    disInvite: 'Anulează invitația',
     deleteMember: 'Șterge membru',
     you: '(Dvs.)',
     datasetOperatorTip: 'Numai poate gestiona baza de cunoștințe',

+ 4 - 4
web/i18n/ro-RO/dataset-creation.ts

@@ -104,8 +104,8 @@ const translation = {
     QATitle: 'Segmentarea în format Întrebare și Răspuns',
     QATip: 'Activarea acestei opțiuni va consuma mai multe jetoane',
     QALanguage: 'Segmentează folosind',
-    emstimateCost: 'Estimare',
-    emstimateSegment: 'Segmente estimate',
+    estimateCost: 'Estimare',
+    estimateSegment: 'Segmente estimate',
     segmentCount: 'segmente',
     calculating: 'Se calculează...',
     fileSource: 'Prelucrează documente',
@@ -128,8 +128,8 @@ const translation = {
     previewSwitchTipStart: 'Previzualizarea curentă a segmentului este în format text, comutarea la o previzualizare în format întrebare și răspuns va',
     previewSwitchTipEnd: ' consuma jetoane suplimentare',
     characters: 'caractere',
-    indexSettedTip: 'Pentru a modifica metoda de indexare, vă rugăm să mergeți la ',
-    retrivalSettedTip: 'Pentru a modifica metoda de indexare, vă rugăm să mergeți la ',
+    indexSettingTip: 'Pentru a modifica metoda de indexare, vă rugăm să mergeți la ',
+    retrievalSettingTip: 'Pentru a modifica metoda de indexare, vă rugăm să mergeți la ',
     datasetSettingLink: 'setările Cunoștinței.',
     webpageUnit: 'Pagini',
     websiteSource: 'Site-ul web de preprocesare',

部分文件因文件數量過多而無法顯示