Nam Vu пре 1 година
родитељ
комит
031a0b576d
No account linked to committer's email address
100 измењених фајлова са 188 додато и 188 уклоњено
  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. 0
    0
      web/i18n/ro-RO/dataset-creation.ts

+ 13
- 13
web/app/components/app/configuration/config-var/config-modal/index.tsx Прегледај датотеку

if (!isValid) { if (!isValid) {
Toast.notify({ Toast.notify({
type: 'error', type: 'error',
message: t(`appDebug.varKeyError.${errorMessageKey}`, { key: t('appDebug.variableConig.varName') }),
message: t(`appDebug.varKeyError.${errorMessageKey}`, { key: t('appDebug.variableConfig.varName') }),
}) })
return false return false
} }
// } // }


if (!tempPayload.label) { if (!tempPayload.label) {
Toast.notify({ type: 'error', message: t('appDebug.variableConig.errorMsg.labelNameRequired') })
Toast.notify({ type: 'error', message: t('appDebug.variableConfig.errorMsg.labelNameRequired') })
return return
} }
if (isStringInput || type === InputVarType.number) { if (isStringInput || type === InputVarType.number) {
} }
else { else {
if (options?.length === 0) { 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 return
} }
const obj: Record<string, boolean> = {} const obj: Record<string, boolean> = {}
obj[o] = true obj[o] = true
}) })
if (hasRepeatedItem) { if (hasRepeatedItem) {
Toast.notify({ type: 'error', message: t('appDebug.variableConig.errorMsg.optionRepeat') })
Toast.notify({ type: 'error', message: t('appDebug.variableConfig.errorMsg.optionRepeat') })
return return
} }
onConfirm(tempPayload, moreInfo) onConfirm(tempPayload, moreInfo)


return ( return (
<Modal <Modal
title={t(`appDebug.variableConig.${isCreate ? 'addModalTitle' : 'editModalTitle'}`)}
title={t(`appDebug.variableConfig.${isCreate ? 'addModalTitle' : 'editModalTitle'}`)}
isShow={isShow} isShow={isShow}
onClose={onClose} onClose={onClose}
> >
<div className='mb-8'> <div className='mb-8'>
<div className='space-y-2'> <div className='space-y-2'>


<Field title={t('appDebug.variableConig.fieldType')}>
<Field title={t('appDebug.variableConfig.fieldType')}>
<div className='flex space-x-2'> <div className='flex space-x-2'>
<SelectTypeItem type={InputVarType.textInput} selected={type === InputVarType.textInput} onClick={() => handlePayloadChange('type')(InputVarType.textInput)} /> <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)} /> <SelectTypeItem type={InputVarType.paragraph} selected={type === InputVarType.paragraph} onClick={() => handlePayloadChange('type')(InputVarType.paragraph)} />
</div> </div>
</Field> </Field>


<Field title={t('appDebug.variableConig.varName')}>
<Field title={t('appDebug.variableConfig.varName')}>
<input <input
type='text' type='text'
className={inputClassName} className={inputClassName}
value={variable} value={variable}
onChange={e => handlePayloadChange('variable')(e.target.value)} onChange={e => handlePayloadChange('variable')(e.target.value)}
onBlur={handleVarKeyBlur} onBlur={handleVarKeyBlur}
placeholder={t('appDebug.variableConig.inputPlaceholder')!}
placeholder={t('appDebug.variableConfig.inputPlaceholder')!}
/> />
</Field> </Field>
<Field title={t('appDebug.variableConig.labelName')}>
<Field title={t('appDebug.variableConfig.labelName')}>
<input <input
type='text' type='text'
className={inputClassName} className={inputClassName}
value={label as string} value={label as string}
onChange={e => handlePayloadChange('label')(e.target.value)} onChange={e => handlePayloadChange('label')(e.target.value)}
placeholder={t('appDebug.variableConig.inputPlaceholder')!}
placeholder={t('appDebug.variableConfig.inputPlaceholder')!}
/> />
</Field> </Field>


{isStringInput && ( {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')} /> <ConfigString maxLength={type === InputVarType.textInput ? TEXT_MAX_LENGTH : Infinity} modelId={modelConfig.model_id} value={max_length} onChange={handlePayloadChange('max_length')} />
</Field> </Field>


)} )}
{type === InputVarType.select && ( {type === InputVarType.select && (
<Field title={t('appDebug.variableConig.options')}>
<Field title={t('appDebug.variableConfig.options')}>
<ConfigSelect options={options || []} onChange={handlePayloadChange('options')} /> <ConfigSelect options={options || []} onChange={handlePayloadChange('options')} />
</Field> </Field>
)} )}


<Field title={t('appDebug.variableConig.required')}>
<Field title={t('appDebug.variableConfig.required')}>
<Switch defaultValue={tempPayload.required} onChange={handlePayloadChange('required')} /> <Switch defaultValue={tempPayload.required} onChange={handlePayloadChange('required')} />
</Field> </Field>
</div> </div>

+ 1
- 1
web/app/components/app/configuration/config-var/config-select/index.tsx Прегледај датотеку

onClick={() => { onChange([...options, '']) }} onClick={() => { onChange([...options, '']) }}
className='flex items-center h-9 px-3 gap-2 rounded-lg cursor-pointer text-gray-400 bg-gray-100'> 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> <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>
</div> </div>
) )

+ 1
- 1
web/app/components/app/configuration/config-var/select-type-item/index.tsx Прегледај датотеку

onClick, onClick,
}) => { }) => {
const { t } = useTranslation() const { t } = useTranslation()
const typeName = t(`appDebug.variableConig.${type}`)
const typeName = t(`appDebug.variableConfig.${type}`)


return ( return (
<div <div

+ 5
- 5
web/app/components/app/configuration/config-var/select-var-type.tsx Прегледај датотеку

<PortalToFollowElemContent style={{ zIndex: 1000 }}> <PortalToFollowElemContent style={{ zIndex: 1000 }}>
<div className='bg-white border border-gray-200 shadow-lg rounded-lg min-w-[192px]'> <div className='bg-white border border-gray-200 shadow-lg rounded-lg min-w-[192px]'>
<div className='p-1'> <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>
<div className='h-[1px] bg-gray-100'></div> <div className='h-[1px] bg-gray-100'></div>
<div className='p-1'> <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>
</div> </div>
</PortalToFollowElemContent> </PortalToFollowElemContent>

+ 1
- 1
web/app/components/app/configuration/features/chat-group/opening-statement/index.tsx Прегледај датотеку

onClick={() => { setTempSuggestedQuestions([...tempSuggestedQuestions, '']) }} 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'> 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' /> <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>
)} )}
</div> </div>

+ 1
- 1
web/app/components/app/configuration/tools/external-data-tool-modal.tsx Прегледај датотеку

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

+ 1
- 1
web/app/components/base/app-unavailable.tsx Прегледај датотеку

style={{ style={{
borderRight: '1px solid rgba(0,0,0,.3)', borderRight: '1px solid rgba(0,0,0,.3)',
}}>{code}</h1> }}>{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> </div>
) )
} }

+ 1
- 1
web/app/components/base/chat/chat-with-history/config-panel/index.tsx Прегледај датотеку

: ( : (
<div className={`flex items-center justify-end ${isMobile && 'w-full'}`}> <div className={`flex items-center justify-end ${isMobile && 'w-full'}`}>
<div className='flex items-center pr-3 space-x-3'> <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 customConfig?.replace_webapp_logo
? <img src={customConfig?.replace_webapp_logo} alt='logo' className='block w-auto h-5' /> ? <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 Прегледај датотеку

: ( : (
<div className={cn('flex items-center justify-end', isMobile && 'w-full')}> <div className={cn('flex items-center justify-end', isMobile && 'w-full')}>
<div className='flex items-center pr-3 space-x-3'> <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 customConfig?.replace_webapp_logo
? <img src={customConfig?.replace_webapp_logo} alt='logo' className='block w-auto h-5' /> ? <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 Прегледај датотеку

onClick={() => { setTempSuggestedQuestions([...tempSuggestedQuestions, '']) }} 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'> 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' /> <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>
)} )}
</div> </div>

+ 3
- 3
web/app/components/datasets/create/step-two/index.tsx Прегледај датотеку

</div> </div>
{hasSetIndexType && indexType === IndexingType.ECONOMICAL && ( {hasSetIndexType && indexType === IndexingType.ECONOMICAL && (
<div className='mt-2 text-xs text-gray-500 font-medium'> <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> <Link className='text-[#155EEF]' href={`/datasets/${datasetId}/settings`}>{t('datasetCreation.stepTwo.datasetSettingLink')}</Link>
</div> </div>
)} )}
/> />
{!!datasetId && ( {!!datasetId && (
<div className='mt-2 text-xs text-gray-500 font-medium'> <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> <Link className='text-[#155EEF]' href={`/datasets/${datasetId}/settings`}>{t('datasetCreation.stepTwo.datasetSettingLink')}</Link>
</div> </div>
)} )}
</div> </div>
<div className={s.divider} /> <div className={s.divider} />
<div className={s.segmentCount}> <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'> <div className='flex items-center text-sm leading-6 font-medium text-gray-800'>
{ {
fileIndexingEstimate fileIndexingEstimate

+ 9
- 9
web/app/components/header/account-setting/members-page/invited-modal/index.tsx Прегледај датотеку

import type { InvitationResult } from '@/models/common' import type { InvitationResult } from '@/models/common'
import Tooltip from '@/app/components/base/tooltip' 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 = { type IInvitedModalProps = {
invitationResults: InvitationResult[] invitationResults: InvitationResult[]
}: IInvitedModalProps) => { }: IInvitedModalProps) => {
const { t } = useTranslation() 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 ( return (
<div className={s.wrap}> <div className={s.wrap}>
<div className='mb-5 text-sm text-gray-500'>{t('common.members.invitationSentTip')}</div> <div className='mb-5 text-sm text-gray-500'>{t('common.members.invitationSentTip')}</div>
<div className='flex flex-col gap-2 mb-9'> <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> <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} />)} <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'> <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'> <div key={item.email} className='flex justify-center border border-red-300 rounded-md px-1 bg-orange-50'>
<Tooltip <Tooltip
popupContent={item.message} popupContent={item.message}

+ 2
- 2
web/app/components/header/account-setting/members-page/invited-modal/invitation-link.tsx Прегледај датотеку

import { t } from 'i18next' import { t } from 'i18next'
import copy from 'copy-to-clipboard' import copy from 'copy-to-clipboard'
import s from './index.module.css' import s from './index.module.css'
import type { SuccessInvationResult } from '.'
import type { SuccessInvitationResult } from '.'
import Tooltip from '@/app/components/base/tooltip' import Tooltip from '@/app/components/base/tooltip'
import { randomString } from '@/utils' import { randomString } from '@/utils'


type IInvitationLinkProps = { type IInvitationLinkProps = {
value: SuccessInvationResult
value: SuccessInvitationResult
} }


const InvitationLink = ({ const InvitationLink = ({

+ 1
- 1
web/app/components/workflow/header/checklist.tsx Прегледај датотеку

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

+ 1
- 1
web/app/components/workflow/hooks/use-checklist.ts Прегледај датотеку

} }


if (!validNodes.find(n => n.id === node.id)) { 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 return false
} }
} }

+ 4
- 4
web/app/components/workflow/nodes/_base/components/before-run-form/form-item.tsx Прегледај датотеку

type="text" type="text"
value={value || ''} value={value || ''}
onChange={e => onChange(e.target.value)} onChange={e => onChange(e.target.value)}
placeholder={t('appDebug.variableConig.inputPlaceholder')!}
placeholder={t('appDebug.variableConfig.inputPlaceholder')!}
autoFocus={autoFocus} autoFocus={autoFocus}
/> />
) )
type="number" type="number"
value={value || ''} value={value || ''}
onChange={e => onChange(e.target.value)} onChange={e => onChange(e.target.value)}
placeholder={t('appDebug.variableConig.inputPlaceholder')!}
placeholder={t('appDebug.variableConfig.inputPlaceholder')!}
autoFocus={autoFocus} autoFocus={autoFocus}
/> />
) )
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" 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 || ''} value={value || ''}
onChange={e => onChange(e.target.value)} onChange={e => onChange(e.target.value)}
placeholder={t('appDebug.variableConig.inputPlaceholder')!}
placeholder={t('appDebug.variableConfig.inputPlaceholder')!}
autoFocus={autoFocus} autoFocus={autoFocus}
/> />
) )
key={index} key={index}
isInNode isInNode
value={item} value={item}
title={<span>{t('appDebug.variableConig.content')} {index + 1} </span>}
title={<span>{t('appDebug.variableConfig.content')} {index + 1} </span>}
onChange={handleArrayItemChange(index)} onChange={handleArrayItemChange(index)}
headerRight={ headerRight={
(value as any).length > 1 (value as any).length > 1

+ 2
- 2
web/app/components/workflow/nodes/parameter-extractor/components/extract-parameter/update.tsx Прегледај датотеку

if (!param.name) if (!param.name)
errMessage = t(`${errorI18nPrefix}.fieldRequired`, { field: t(`${i18nPrefix}.addExtractParameterContent.name`) }) errMessage = t(`${errorI18nPrefix}.fieldRequired`, { field: t(`${i18nPrefix}.addExtractParameterContent.name`) })
if (!errMessage && param.type === ParamType.select && (!param.options || param.options.length === 0)) 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) if (!errMessage && !param.description)
errMessage = t(`${errorI18nPrefix}.fieldRequired`, { field: t(`${i18nPrefix}.addExtractParameterContent.description`) }) errMessage = t(`${errorI18nPrefix}.fieldRequired`, { field: t(`${i18nPrefix}.addExtractParameterContent.description`) })


/> />
</Field> </Field>
{param.type === ParamType.select && ( {param.type === ParamType.select && (
<Field title={t('appDebug.variableConig.options')}>
<Field title={t('appDebug.variableConfig.options')}>
<ConfigSelect options={param.options || []} onChange={handleParamChange('options')} /> <ConfigSelect options={param.options || []} onChange={handleParamChange('options')} />
</Field> </Field>
)} )}

+ 1
- 1
web/app/signin/oneMoreStep.tsx Прегледај датотеку

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

+ 1
- 1
web/i18n/de-DE/app-api.ts Прегледај датотеку

play: 'Abspielen', play: 'Abspielen',
pause: 'Pause', pause: 'Pause',
playing: 'Wiedergabe', playing: 'Wiedergabe',
merMaind: {
merMaid: {
rerender: 'Neu rendern', rerender: 'Neu rendern',
}, },
never: 'Nie', never: 'Nie',

+ 1
- 1
web/i18n/de-DE/app-debug.ts Прегледај датотеку

historyNoBeEmpty: 'Konversationsverlauf muss im Prompt gesetzt sein', historyNoBeEmpty: 'Konversationsverlauf muss im Prompt gesetzt sein',
queryNoBeEmpty: 'Anfrage muss im Prompt gesetzt sein', queryNoBeEmpty: 'Anfrage muss im Prompt gesetzt sein',
}, },
variableConig: {
variableConfig: {
modalTitle: 'Feldeinstellungen', modalTitle: 'Feldeinstellungen',
description: 'Einstellung für Variable {{varName}}', description: 'Einstellung für Variable {{varName}}',
fieldType: 'Feldtyp', fieldType: 'Feldtyp',

+ 2
- 2
web/i18n/de-DE/common.ts Прегледај датотеку

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

+ 4
- 4
web/i18n/de-DE/dataset-creation.ts Прегледај датотеку

QATitle: 'Segmentierung im Frage-und-Antwort-Format', QATitle: 'Segmentierung im Frage-und-Antwort-Format',
QATip: 'Diese Option zu aktivieren, wird mehr Tokens verbrauchen', QATip: 'Diese Option zu aktivieren, wird mehr Tokens verbrauchen',
QALanguage: 'Segmentierung verwenden', QALanguage: 'Segmentierung verwenden',
emstimateCost: 'Schätzung',
emstimateSegment: 'Geschätzte Chunks',
estimateCost: 'Schätzung',
estimateSegment: 'Geschätzte Chunks',
segmentCount: 'Chunks', segmentCount: 'Chunks',
calculating: 'Berechnung...', calculating: 'Berechnung...',
fileSource: 'Dokumente vorverarbeiten', fileSource: 'Dokumente vorverarbeiten',
previewSwitchTipStart: 'Die aktuelle Chunk-Vorschau ist im Textformat, ein Wechsel zur Vorschau im Frage-und-Antwort-Format wird', previewSwitchTipStart: 'Die aktuelle Chunk-Vorschau ist im Textformat, ein Wechsel zur Vorschau im Frage-und-Antwort-Format wird',
previewSwitchTipEnd: ' zusätzliche Tokens verbrauchen', previewSwitchTipEnd: ' zusätzliche Tokens verbrauchen',
characters: 'Zeichen', 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.', datasetSettingLink: 'Wissenseinstellungen.',
websiteSource: 'Preprocess-Website', websiteSource: 'Preprocess-Website',
webpageUnit: 'Seiten', webpageUnit: 'Seiten',

+ 1
- 1
web/i18n/de-DE/login.ts Прегледај датотеку

pp: 'Datenschutzbestimmungen', pp: 'Datenschutzbestimmungen',
tosDesc: 'Mit der Anmeldung stimmst du unseren', tosDesc: 'Mit der Anmeldung stimmst du unseren',
goToInit: 'Wenn du das Konto noch nicht initialisiert hast, gehe bitte zur Initialisierungsseite', 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', invalidInvitationCode: 'Ungültiger Einladungscode',
accountAlreadyInited: 'Konto bereits initialisiert', accountAlreadyInited: 'Konto bereits initialisiert',
forgotPassword: 'Passwort vergessen?', forgotPassword: 'Passwort vergessen?',

+ 2
- 2
web/i18n/de-DE/share-app.ts Прегледај датотеку

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

+ 1
- 1
web/i18n/de-DE/workflow.ts Прегледај датотеку

searchVar: 'Variable suchen', searchVar: 'Variable suchen',
variableNamePlaceholder: 'Variablenname', variableNamePlaceholder: 'Variablenname',
setVarValuePlaceholder: 'Variable setzen', 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', maxTreeDepth: 'Maximales Limit von {{depth}} Knoten pro Ast',
needEndNode: 'Der Endblock muss hinzugefügt werden', needEndNode: 'Der Endblock muss hinzugefügt werden',
needAnswerNode: 'Der Antwortblock muss hinzugefügt werden', needAnswerNode: 'Der Antwortblock muss hinzugefügt werden',

+ 1
- 1
web/i18n/en-US/app-api.ts Прегледај датотеку

pause: 'Pause', pause: 'Pause',
playing: 'Playing', playing: 'Playing',
loading: 'Loading', loading: 'Loading',
merMaind: {
merMaid: {
rerender: 'Redo Rerender', rerender: 'Redo Rerender',
}, },
never: 'Never', never: 'Never',

+ 1
- 1
web/i18n/en-US/app-debug.ts Прегледај датотеку

historyNoBeEmpty: 'Conversation history must be set in the prompt', historyNoBeEmpty: 'Conversation history must be set in the prompt',
queryNoBeEmpty: 'Query must be set in the prompt', queryNoBeEmpty: 'Query must be set in the prompt',
}, },
variableConig: {
variableConfig: {
'addModalTitle': 'Add Input Field', 'addModalTitle': 'Add Input Field',
'editModalTitle': 'Edit Input Field', 'editModalTitle': 'Edit Input Field',
'description': 'Setting for variable {{varName}}', 'description': 'Setting for variable {{varName}}',

+ 1
- 1
web/i18n/en-US/app.ts Прегледај датотеку

switchTipEnd: ' switching back to Basic Orchestrate.', switchTipEnd: ' switching back to Basic Orchestrate.',
switchLabel: 'The app copy to be created', switchLabel: 'The app copy to be created',
removeOriginal: 'Delete the original app', removeOriginal: 'Delete the original app',
switchStart: 'Start swtich',
switchStart: 'Start switch',
typeSelector: { typeSelector: {
all: 'ALL Types', all: 'ALL Types',
chatbot: 'Chatbot', chatbot: 'Chatbot',

+ 3
- 3
web/i18n/en-US/common.ts Прегледај датотеку

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

+ 5
- 5
web/i18n/en-US/dataset-creation.ts Прегледај датотеку

maxLength: 'Maximum chunk length', maxLength: 'Maximum chunk length',
overlap: 'Chunk overlap', 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.', 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', rules: 'Text preprocessing rules',
removeExtraSpaces: 'Replace consecutive spaces, newlines and tabs', removeExtraSpaces: 'Replace consecutive spaces, newlines and tabs',
removeUrlEmails: 'Delete all URLs and email addresses', removeUrlEmails: 'Delete all URLs and email addresses',
QATitle: 'Segmenting in Question & Answer format', QATitle: 'Segmenting in Question & Answer format',
QATip: 'Enable this option will consume more tokens', QATip: 'Enable this option will consume more tokens',
QALanguage: 'Segment using', QALanguage: 'Segment using',
emstimateCost: 'Estimation',
emstimateSegment: 'Estimated chunks',
estimateCost: 'Estimation',
estimateSegment: 'Estimated chunks',
segmentCount: 'chunks', segmentCount: 'chunks',
calculating: 'Calculating...', calculating: 'Calculating...',
fileSource: 'Preprocess documents', fileSource: 'Preprocess documents',
previewSwitchTipStart: 'The current chunk preview is in text format, switching to a question-and-answer format preview will', previewSwitchTipStart: 'The current chunk preview is in text format, switching to a question-and-answer format preview will',
previewSwitchTipEnd: ' consume additional tokens', previewSwitchTipEnd: ' consume additional tokens',
characters: 'characters', 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.', datasetSettingLink: 'Knowledge settings.',
}, },
stepThree: { stepThree: {

+ 1
- 1
web/i18n/en-US/login.ts Прегледај датотеку

pp: 'Privacy Policy', pp: 'Privacy Policy',
tosDesc: 'By signing up, you agree to our', tosDesc: 'By signing up, you agree to our',
goToInit: 'If you have not initialized the account, please go to the initialization page', 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', invalidInvitationCode: 'Invalid invitation code',
accountAlreadyInited: 'Account already initialized', accountAlreadyInited: 'Account already initialized',
forgotPassword: 'Forgot your password?', forgotPassword: 'Forgot your password?',

+ 2
- 2
web/i18n/en-US/share-app.ts Прегледај датотеку

common: { common: {
welcome: '', welcome: '',
appUnavailable: 'App is unavailable', appUnavailable: 'App is unavailable',
appUnkonwError: 'App is unavailable',
appUnknownError: 'App is unavailable',
}, },
chat: { chat: {
newChat: 'New chat', newChat: 'New chat',
unpinnedTitle: 'Chats', unpinnedTitle: 'Chats',
newChatDefaultName: 'New conversation', newChatDefaultName: 'New conversation',
resetChat: 'Reset conversation', resetChat: 'Reset conversation',
powerBy: 'Powered by',
poweredBy: 'Powered by',
prompt: 'Prompt', prompt: 'Prompt',
privatePromptConfigTitle: 'Conversation settings', privatePromptConfigTitle: 'Conversation settings',
publicPromptConfigTitle: 'Initial Prompt', publicPromptConfigTitle: 'Initial Prompt',

+ 1
- 1
web/i18n/en-US/workflow.ts Прегледај датотеку

searchVar: 'Search variable', searchVar: 'Search variable',
variableNamePlaceholder: 'Variable name', variableNamePlaceholder: 'Variable name',
setVarValuePlaceholder: 'Set variable', 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', maxTreeDepth: 'Maximum limit of {{depth}} nodes per branch',
needEndNode: 'The End block must be added', needEndNode: 'The End block must be added',
needAnswerNode: 'The Answer block must be added', needAnswerNode: 'The Answer block must be added',

+ 1
- 1
web/i18n/es-ES/app-api.ts Прегледај датотеку

pause: 'Pausa', pause: 'Pausa',
playing: 'Reproduciendo', playing: 'Reproduciendo',
loading: 'Cargando', loading: 'Cargando',
merMaind: {
merMaid: {
rerender: 'Rehacer Rerender', rerender: 'Rehacer Rerender',
}, },
never: 'Nunca', never: 'Nunca',

+ 1
- 1
web/i18n/es-ES/app-debug.ts Прегледај датотеку

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

+ 2
- 2
web/i18n/es-ES/common.ts Прегледај датотеку

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

+ 4
- 4
web/i18n/es-ES/dataset-creation.ts Прегледај датотеку

QATitle: 'Segmentación en formato de pregunta y respuesta', QATitle: 'Segmentación en formato de pregunta y respuesta',
QATip: 'Habilitar esta opción consumirá más tokens', QATip: 'Habilitar esta opción consumirá más tokens',
QALanguage: 'Segmentar usando', QALanguage: 'Segmentar usando',
emstimateCost: 'Estimación',
emstimateSegment: 'Fragmentos estimados',
estimateCost: 'Estimación',
estimateSegment: 'Fragmentos estimados',
segmentCount: 'fragmentos', segmentCount: 'fragmentos',
calculating: 'Calculando...', calculating: 'Calculando...',
fileSource: 'Preprocesar documentos', fileSource: 'Preprocesar documentos',
previewSwitchTipStart: 'La vista previa actual del fragmento está en formato de texto, cambiar a una vista previa en formato de pregunta y respuesta', 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', previewSwitchTipEnd: ' consumirá tokens adicionales',
characters: 'caracteres', 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.', datasetSettingLink: 'configuración del conocimiento.',
}, },
stepThree: { stepThree: {

+ 1
- 1
web/i18n/es-ES/login.ts Прегледај датотеку

pp: 'Política de privacidad', pp: 'Política de privacidad',
tosDesc: 'Al registrarte, aceptas nuestros', tosDesc: 'Al registrarte, aceptas nuestros',
goToInit: 'Si no has inicializado la cuenta, por favor ve a la página de inicialización', 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', invalidInvitationCode: 'Código de invitación inválido',
accountAlreadyInited: 'La cuenta ya está inicializada', accountAlreadyInited: 'La cuenta ya está inicializada',
forgotPassword: '¿Olvidaste tu contraseña?', forgotPassword: '¿Olvidaste tu contraseña?',

+ 2
- 2
web/i18n/es-ES/share-app.ts Прегледај датотеку

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

+ 1
- 1
web/i18n/es-ES/workflow.ts Прегледај датотеку

searchVar: 'Buscar variable', searchVar: 'Buscar variable',
variableNamePlaceholder: 'Nombre de la variable', variableNamePlaceholder: 'Nombre de la variable',
setVarValuePlaceholder: 'Establecer 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', maxTreeDepth: 'Límite máximo de {{depth}} nodos por rama',
needEndNode: 'Debe agregarse el bloque de Fin', needEndNode: 'Debe agregarse el bloque de Fin',
needAnswerNode: 'Debe agregarse el bloque de Respuesta', needAnswerNode: 'Debe agregarse el bloque de Respuesta',

+ 1
- 1
web/i18n/fa-IR/app-api.ts Прегледај датотеку

pause: 'مکث', pause: 'مکث',
playing: 'در حال پخش', playing: 'در حال پخش',
loading: 'در حال بارگذاری', loading: 'در حال بارگذاری',
merMaind: {
merMaid: {
rerender: 'بازسازی مجدد', rerender: 'بازسازی مجدد',
}, },
never: 'هرگز', never: 'هرگز',

+ 1
- 1
web/i18n/fa-IR/app-debug.ts Прегледај датотеку

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

+ 2
- 2
web/i18n/fa-IR/common.ts Прегледај датотеку

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

+ 4
- 4
web/i18n/fa-IR/dataset-creation.ts Прегледај датотеку

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

+ 1
- 1
web/i18n/fa-IR/login.ts Прегледај датотеку

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

+ 2
- 2
web/i18n/fa-IR/share-app.ts Прегледај датотеку

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

+ 1
- 1
web/i18n/fa-IR/workflow.ts Прегледај датотеку

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

+ 1
- 1
web/i18n/fr-FR/app-api.ts Прегледај датотеку

play: 'Jouer', play: 'Jouer',
pause: 'Pause', pause: 'Pause',
playing: 'Jouant', playing: 'Jouant',
merMaind: {
merMaid: {
rerender: 'Refaire Rerendu', rerender: 'Refaire Rerendu',
}, },
never: 'Jamais', never: 'Jamais',

+ 1
- 1
web/i18n/fr-FR/app-debug.ts Прегледај датотеку

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

+ 2
- 2
web/i18n/fr-FR/common.ts Прегледај датотеку

invitationSent: 'Invitation envoyée', invitationSent: 'Invitation envoyée',
invitationSentTip: 'Invitation envoyée, et ils peuvent se connecter à Dify pour accéder aux données de votre équipe.', invitationSentTip: 'Invitation envoyée, et ils peuvent se connecter à Dify pour accéder aux données de votre équipe.',
invitationLink: 'Lien d\'invitation', 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', ok: 'D\'accord',
removeFromTeam: 'Retirer de l\'équipe', removeFromTeam: 'Retirer de l\'équipe',
removeFromTeamTip: 'Supprimera l\'accès de l\'équipe', removeFromTeamTip: 'Supprimera l\'accès de l\'équipe',
setAdmin: 'Définir comme administrateur', setAdmin: 'Définir comme administrateur',
setMember: 'Définir en tant que membre ordinaire', setMember: 'Définir en tant que membre ordinaire',
setEditor: 'Définir en tant qu\'éditeur', setEditor: 'Définir en tant qu\'éditeur',
disinvite: 'Annuler l\'invitation',
disInvite: 'Annuler l\'invitation',
deleteMember: 'Supprimer Membre', deleteMember: 'Supprimer Membre',
you: '(Vous)', you: '(Vous)',
builder: 'Constructeur', builder: 'Constructeur',

+ 4
- 4
web/i18n/fr-FR/dataset-creation.ts Прегледај датотеку

QATitle: 'Segmentation en format Question & Réponse', QATitle: 'Segmentation en format Question & Réponse',
QATip: 'Activer cette option consommera plus de jetons', QATip: 'Activer cette option consommera plus de jetons',
QALanguage: 'Segmenter en utilisant', QALanguage: 'Segmenter en utilisant',
emstimateCost: 'Estimation',
emstimateSegment: 'Morceaux estimés',
estimateCost: 'Estimation',
estimateSegment: 'Morceaux estimés',
segmentCount: 'morceaux', segmentCount: 'morceaux',
calculating: 'En calcul...', calculating: 'En calcul...',
fileSource: 'Prétraiter les documents', fileSource: 'Prétraiter les documents',
previewSwitchTipStart: 'L\'aperçu actuel du morceau est en format texte, passer à un aperçu en format de questions-réponses va', 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', previewSwitchTipEnd: 'consommer des tokens supplémentaires',
characters: 'personnages', 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.', datasetSettingLink: 'Paramètres de connaissance.',
webpageUnit: 'Pages', webpageUnit: 'Pages',
websiteSource: 'Site web de prétraitement', websiteSource: 'Site web de prétraitement',

+ 1
- 1
web/i18n/fr-FR/login.ts Прегледај датотеку

pp: 'Politique de Confidentialité', pp: 'Politique de Confidentialité',
tosDesc: 'En vous inscrivant, vous acceptez nos', tosDesc: 'En vous inscrivant, vous acceptez nos',
goToInit: 'Si vous n\'avez pas initialisé le compte, veuillez vous rendre sur la page d\'initialisation', 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', invalidInvitationCode: 'Code d\'invitation invalide',
accountAlreadyInited: 'Compte déjà initialisé', accountAlreadyInited: 'Compte déjà initialisé',
forgotPassword: 'Mot de passe oublié?', forgotPassword: 'Mot de passe oublié?',

+ 2
- 2
web/i18n/fr-FR/share-app.ts Прегледај датотеку

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

+ 1
- 1
web/i18n/fr-FR/workflow.ts Прегледај датотеку

searchVar: 'Rechercher une variable', searchVar: 'Rechercher une variable',
variableNamePlaceholder: 'Nom de la variable', variableNamePlaceholder: 'Nom de la variable',
setVarValuePlaceholder: 'Définir la valeur 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', maxTreeDepth: 'Limite maximale de {{depth}} nœuds par branche',
needEndNode: 'Le bloc de fin doit être ajouté', needEndNode: 'Le bloc de fin doit être ajouté',
needAnswerNode: 'Le bloc de réponse doit être ajouté', needAnswerNode: 'Le bloc de réponse doit être ajouté',

+ 1
- 1
web/i18n/hi-IN/app-api.ts Прегледај датотеку

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

+ 1
- 1
web/i18n/hi-IN/app-debug.ts Прегледај датотеку

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

+ 2
- 2
web/i18n/hi-IN/common.ts Прегледај датотеку

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

+ 4
- 4
web/i18n/hi-IN/dataset-creation.ts Прегледај датотеку

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

+ 1
- 1
web/i18n/hi-IN/login.ts Прегледај датотеку

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

+ 2
- 2
web/i18n/hi-IN/share-app.ts Прегледај датотеку

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

+ 1
- 1
web/i18n/hi-IN/workflow.ts Прегледај датотеку

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

+ 1
- 1
web/i18n/it-IT/app-api.ts Прегледај датотеку

pause: 'Pausa', pause: 'Pausa',
playing: 'In Riproduzione', playing: 'In Riproduzione',
loading: 'Caricamento', loading: 'Caricamento',
merMaind: {
merMaid: {
rerender: 'Rifare il rendering', rerender: 'Rifare il rendering',
}, },
never: 'Mai', never: 'Mai',

+ 1
- 1
web/i18n/it-IT/app-debug.ts Прегледај датотеку

'La cronologia delle conversazioni deve essere impostata nel prompt', 'La cronologia delle conversazioni deve essere impostata nel prompt',
queryNoBeEmpty: 'La query deve essere impostata nel prompt', queryNoBeEmpty: 'La query deve essere impostata nel prompt',
}, },
variableConig: {
variableConfig: {
'addModalTitle': 'Aggiungi Campo Input', 'addModalTitle': 'Aggiungi Campo Input',
'editModalTitle': 'Modifica Campo Input', 'editModalTitle': 'Modifica Campo Input',
'description': 'Impostazione per la variabile {{varName}}', 'description': 'Impostazione per la variabile {{varName}}',

+ 2
- 2
web/i18n/it-IT/common.ts Прегледај датотеку

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

+ 4
- 4
web/i18n/it-IT/dataset-creation.ts Прегледај датотеку

QATitle: 'Segmentazione in formato Domanda & Risposta', QATitle: 'Segmentazione in formato Domanda & Risposta',
QATip: 'Abilitare questa opzione consumerà più token', QATip: 'Abilitare questa opzione consumerà più token',
QALanguage: 'Segmenta usando', QALanguage: 'Segmenta usando',
emstimateCost: 'Stima',
emstimateSegment: 'Blocchi stimati',
estimateCost: 'Stima',
estimateSegment: 'Blocchi stimati',
segmentCount: 'blocchi', segmentCount: 'blocchi',
calculating: 'Calcolo in corso...', calculating: 'Calcolo in corso...',
fileSource: 'Preprocessa documenti', fileSource: 'Preprocessa documenti',
'L\'anteprima del blocco corrente è in formato testo, il passaggio a un\'anteprima in formato domanda e risposta', 'L\'anteprima del blocco corrente è in formato testo, il passaggio a un\'anteprima in formato domanda e risposta',
previewSwitchTipEnd: ' consumerà token aggiuntivi', previewSwitchTipEnd: ' consumerà token aggiuntivi',
characters: 'caratteri', 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.', datasetSettingLink: 'impostazioni della Conoscenza.',
}, },
stepThree: { stepThree: {

+ 1
- 1
web/i18n/it-IT/login.ts Прегледај датотеку

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

+ 2
- 2
web/i18n/it-IT/share-app.ts Прегледај датотеку

common: { common: {
welcome: '', welcome: '',
appUnavailable: 'L\'app non è disponibile', appUnavailable: 'L\'app non è disponibile',
appUnkonwError: 'L\'app non è disponibile',
appUnknownError: 'L\'app non è disponibile',
}, },
chat: { chat: {
newChat: 'Nuova chat', newChat: 'Nuova chat',
unpinnedTitle: 'Chat', unpinnedTitle: 'Chat',
newChatDefaultName: 'Nuova conversazione', newChatDefaultName: 'Nuova conversazione',
resetChat: 'Reimposta conversazione', resetChat: 'Reimposta conversazione',
powerBy: 'Powered by',
poweredBy: 'Powered by',
prompt: 'Prompt', prompt: 'Prompt',
privatePromptConfigTitle: 'Impostazioni conversazione', privatePromptConfigTitle: 'Impostazioni conversazione',
publicPromptConfigTitle: 'Prompt iniziale', publicPromptConfigTitle: 'Prompt iniziale',

+ 1
- 1
web/i18n/it-IT/workflow.ts Прегледај датотеку

searchVar: 'Cerca variabile', searchVar: 'Cerca variabile',
variableNamePlaceholder: 'Nome variabile', variableNamePlaceholder: 'Nome variabile',
setVarValuePlaceholder: 'Imposta 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', maxTreeDepth: 'Limite massimo di {{depth}} nodi per ramo',
needEndNode: 'Deve essere aggiunto il blocco di Fine', needEndNode: 'Deve essere aggiunto il blocco di Fine',
needAnswerNode: 'Deve essere aggiunto il blocco di Risposta', needAnswerNode: 'Deve essere aggiunto il blocco di Risposta',

+ 1
- 1
web/i18n/ja-JP/app-api.ts Прегледај датотеку

pause: '一時停止', pause: '一時停止',
playing: '再生中', playing: '再生中',
loading: '読み込み中', loading: '読み込み中',
merMaind: {
merMaid: {
rerender: '再レンダリング', rerender: '再レンダリング',
}, },
never: 'なし', never: 'なし',

+ 1
- 1
web/i18n/ja-JP/app-debug.ts Прегледај датотеку

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

+ 2
- 2
web/i18n/ja-JP/common.ts Прегледај датотеку

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

+ 4
- 4
web/i18n/ja-JP/dataset-creation.ts Прегледај датотеку

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

+ 1
- 1
web/i18n/ja-JP/login.ts Прегледај датотеку

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

+ 2
- 2
web/i18n/ja-JP/share-app.ts Прегледај датотеку

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

+ 1
- 1
web/i18n/ja-JP/workflow.ts Прегледај датотеку

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

+ 1
- 1
web/i18n/ko-KR/app-api.ts Прегледај датотеку

pause: '일시 정지', pause: '일시 정지',
playing: '실행 중', playing: '실행 중',
loading: '로드 중', loading: '로드 중',
merMaind: {
merMaid: {
rerender: '다시 렌더링', rerender: '다시 렌더링',
}, },
never: '없음', never: '없음',

+ 1
- 1
web/i18n/ko-KR/app-debug.ts Прегледај датотеку

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

+ 2
- 2
web/i18n/ko-KR/common.ts Прегледај датотеку

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

+ 4
- 4
web/i18n/ko-KR/dataset-creation.ts Прегледај датотеку

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

+ 1
- 1
web/i18n/ko-KR/login.ts Прегледај датотеку

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

+ 2
- 2
web/i18n/ko-KR/share-app.ts Прегледај датотеку

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

+ 1
- 1
web/i18n/ko-KR/workflow.ts Прегледај датотеку

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

+ 1
- 1
web/i18n/pl-PL/app-api.ts Прегледај датотеку

pause: 'Pauza', pause: 'Pauza',
playing: 'Gra', playing: 'Gra',
loading: 'Ładowanie', loading: 'Ładowanie',
merMaind: {
merMaid: {
rerender: 'Przerób Renderowanie', rerender: 'Przerób Renderowanie',
}, },
never: 'Nigdy', never: 'Nigdy',

+ 1
- 1
web/i18n/pl-PL/app-debug.ts Прегледај датотеку

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

+ 2
- 2
web/i18n/pl-PL/common.ts Прегледај датотеку

invitationSentTip: invitationSentTip:
'Zaproszenie zostało wysłane, a oni mogą zalogować się do Dify, aby uzyskać dostęp do danych Twojego zespołu.', 'Zaproszenie zostało wysłane, a oni mogą zalogować się do Dify, aby uzyskać dostęp do danych Twojego zespołu.',
invitationLink: 'Link zaproszenia', 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', ok: 'OK',
removeFromTeam: 'Usuń z zespołu', removeFromTeam: 'Usuń z zespołu',
removeFromTeamTip: 'Usunie dostęp do zespołu', removeFromTeamTip: 'Usunie dostęp do zespołu',
setAdmin: 'Ustaw jako administratora', setAdmin: 'Ustaw jako administratora',
setMember: 'Ustaw jako zwykłego członka', setMember: 'Ustaw jako zwykłego członka',
setEditor: 'Ustaw jako edytora', setEditor: 'Ustaw jako edytora',
disinvite: 'Anuluj zaproszenie',
disInvite: 'Anuluj zaproszenie',
deleteMember: 'Usuń członka', deleteMember: 'Usuń członka',
you: '(Ty)', you: '(Ty)',
datasetOperatorTip: 'Może zarządzać tylko bazą wiedzy', datasetOperatorTip: 'Może zarządzać tylko bazą wiedzy',

+ 4
- 4
web/i18n/pl-PL/dataset-creation.ts Прегледај датотеку

QATitle: 'Segmentacja w formacie pytania i odpowiedzi', QATitle: 'Segmentacja w formacie pytania i odpowiedzi',
QATip: 'Włączenie tej opcji spowoduje zużycie większej liczby tokenów', QATip: 'Włączenie tej opcji spowoduje zużycie większej liczby tokenów',
QALanguage: 'Segmentacja przy użyciu', QALanguage: 'Segmentacja przy użyciu',
emstimateCost: 'Oszacowanie',
emstimateSegment: 'Oszacowane bloki',
estimateCost: 'Oszacowanie',
estimateSegment: 'Oszacowane bloki',
segmentCount: 'bloki', segmentCount: 'bloki',
calculating: 'Obliczanie...', calculating: 'Obliczanie...',
fileSource: 'Przetwarzaj dokumenty', fileSource: 'Przetwarzaj dokumenty',
'Aktulany podgląd bloku jest w formacie tekstu, przełączenie na podgląd w formacie pytania i odpowiedzi spowoduje', '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', previewSwitchTipEnd: ' dodatkowe zużycie tokenów',
characters: 'znaki', 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.', datasetSettingLink: 'ustawień Wiedzy.',
webpageUnit: 'Stron', webpageUnit: 'Stron',
websiteSource: 'Witryna internetowa przetwarzania wstępnego', websiteSource: 'Witryna internetowa przetwarzania wstępnego',

+ 1
- 1
web/i18n/pl-PL/login.ts Прегледај датотеку

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

+ 2
- 2
web/i18n/pl-PL/share-app.ts Прегледај датотеку

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

+ 1
- 1
web/i18n/pl-PL/workflow.ts Прегледај датотеку

searchVar: 'Szukaj zmiennej', searchVar: 'Szukaj zmiennej',
variableNamePlaceholder: 'Nazwa zmiennej', variableNamePlaceholder: 'Nazwa zmiennej',
setVarValuePlaceholder: 'Ustaw zmienną', 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łąź', maxTreeDepth: 'Maksymalny limit {{depth}} węzłów na gałąź',
needEndNode: 'Należy dodać blok końcowy', needEndNode: 'Należy dodać blok końcowy',
needAnswerNode: 'Należy dodać blok odpowiedzi', needAnswerNode: 'Należy dodać blok odpowiedzi',

+ 1
- 1
web/i18n/pt-BR/app-api.ts Прегледај датотеку

ok: 'Em Serviço', ok: 'Em Serviço',
copy: 'Copiar', copy: 'Copiar',
copied: 'Copiado', copied: 'Copiado',
merMaind: {
merMaid: {
rerender: 'Refazer Rerender', rerender: 'Refazer Rerender',
}, },
never: 'Nunca', never: 'Nunca',

+ 1
- 1
web/i18n/pt-BR/app-debug.ts Прегледај датотеку

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

+ 2
- 2
web/i18n/pt-BR/common.ts Прегледај датотеку

invitationSent: 'Convite enviado', invitationSent: 'Convite enviado',
invitationSentTip: 'Convite enviado e eles podem fazer login no Dify para acessar os dados da sua equipe.', invitationSentTip: 'Convite enviado e eles podem fazer login no Dify para acessar os dados da sua equipe.',
invitationLink: 'Link do Convite', 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', ok: 'OK',
removeFromTeam: 'Remover da equipe', removeFromTeam: 'Remover da equipe',
removeFromTeamTip: 'Removerá o acesso da equipe', removeFromTeamTip: 'Removerá o acesso da equipe',
setAdmin: 'Definir como administrador', setAdmin: 'Definir como administrador',
setMember: 'Definir como membro comum', setMember: 'Definir como membro comum',
setEditor: 'Definir como editor', setEditor: 'Definir como editor',
disinvite: 'Cancelar o convite',
disInvite: 'Cancelar o convite',
deleteMember: 'Excluir Membro', deleteMember: 'Excluir Membro',
you: '(Você)', you: '(Você)',
datasetOperatorTip: 'Só pode gerenciar a base de dados de conhecimento', datasetOperatorTip: 'Só pode gerenciar a base de dados de conhecimento',

+ 4
- 4
web/i18n/pt-BR/dataset-creation.ts Прегледај датотеку

QATitle: 'Fragmentação no formato de Perguntas e Respostas', QATitle: 'Fragmentação no formato de Perguntas e Respostas',
QATip: 'Habilitar esta opção consumirá mais tokens', QATip: 'Habilitar esta opção consumirá mais tokens',
QALanguage: 'Fragmentar usando', QALanguage: 'Fragmentar usando',
emstimateCost: 'Estimativa',
emstimateSegment: 'Fragmentos estimados',
estimateCost: 'Estimativa',
estimateSegment: 'Fragmentos estimados',
segmentCount: 'fragmentos', segmentCount: 'fragmentos',
calculating: 'Calculando...', calculating: 'Calculando...',
fileSource: 'Pré-processar documentos', fileSource: 'Pré-processar documentos',
previewSwitchTipStart: 'A visualização atual do fragmento está no formato de texto, alternar para uma visualização no formato de Perguntas e Respostas irá', 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', previewSwitchTipEnd: ' consumir tokens adicionais',
characters: 'caracteres', 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.', datasetSettingLink: 'configurações do Conhecimento.',
websiteSource: 'Site de pré-processamento', websiteSource: 'Site de pré-processamento',
webpageUnit: 'Páginas', webpageUnit: 'Páginas',

+ 1
- 1
web/i18n/pt-BR/login.ts Прегледај датотеку

pp: 'Política de Privacidade', pp: 'Política de Privacidade',
tosDesc: 'Ao se inscrever, você concorda com nossos', tosDesc: 'Ao se inscrever, você concorda com nossos',
goToInit: 'Se você não inicializou a conta, vá para a página de inicialização', 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', invalidInvitationCode: 'Código de convite inválido',
accountAlreadyInited: 'Conta já iniciada', accountAlreadyInited: 'Conta já iniciada',
forgotPassword: 'Esqueceu sua senha?', forgotPassword: 'Esqueceu sua senha?',

+ 2
- 2
web/i18n/pt-BR/share-app.ts Прегледај датотеку

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

+ 1
- 1
web/i18n/pt-BR/workflow.ts Прегледај датотеку

searchVar: 'Buscar variável', searchVar: 'Buscar variável',
variableNamePlaceholder: 'Nome da variável', variableNamePlaceholder: 'Nome da variável',
setVarValuePlaceholder: 'Definir valor 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', maxTreeDepth: 'Limite máximo de {{depth}} nós por ramo',
needEndNode: 'O bloco de fim deve ser adicionado', needEndNode: 'O bloco de fim deve ser adicionado',
needAnswerNode: 'O bloco de resposta deve ser adicionado', needAnswerNode: 'O bloco de resposta deve ser adicionado',

+ 1
- 1
web/i18n/ro-RO/app-api.ts Прегледај датотеку

pause: 'Pauză', pause: 'Pauză',
playing: 'În redare', playing: 'În redare',
loading: 'Se încarcă', loading: 'Se încarcă',
merMaind: {
merMaid: {
rerender: 'Reprocesare', rerender: 'Reprocesare',
}, },
never: 'Niciodată', never: 'Niciodată',

+ 1
- 1
web/i18n/ro-RO/app-debug.ts Прегледај датотеку

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

+ 2
- 2
web/i18n/ro-RO/common.ts Прегледај датотеку

invitationSent: 'Invitație trimisă', invitationSent: 'Invitație trimisă',
invitationSentTip: 'Invitația a fost trimisă și pot să se autentifice în Dify pentru a accesa datele echipei dvs.', invitationSentTip: 'Invitația a fost trimisă și pot să se autentifice în Dify pentru a accesa datele echipei dvs.',
invitationLink: 'Link de invitație', 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', ok: 'OK',
removeFromTeam: 'Elimină din echipă', removeFromTeam: 'Elimină din echipă',
removeFromTeamTip: 'Va elimina accesul la echipă', removeFromTeamTip: 'Va elimina accesul la echipă',
setAdmin: 'Setează ca administrator', setAdmin: 'Setează ca administrator',
setMember: 'Setează ca membru obișnuit', setMember: 'Setează ca membru obișnuit',
setEditor: 'Setează ca editor', setEditor: 'Setează ca editor',
disinvite: 'Anulează invitația',
disInvite: 'Anulează invitația',
deleteMember: 'Șterge membru', deleteMember: 'Șterge membru',
you: '(Dvs.)', you: '(Dvs.)',
datasetOperatorTip: 'Numai poate gestiona baza de cunoștințe', datasetOperatorTip: 'Numai poate gestiona baza de cunoștințe',

+ 0
- 0
web/i18n/ro-RO/dataset-creation.ts Прегледај датотеку


Неке датотеке нису приказане због велике количине промена

Loading…
Откажи
Сачувај