| 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> |
| 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> | ||||
| ) | ) |
| onClick, | onClick, | ||||
| }) => { | }) => { | ||||
| const { t } = useTranslation() | const { t } = useTranslation() | ||||
| const typeName = t(`appDebug.variableConig.${type}`) | |||||
| const typeName = t(`appDebug.variableConfig.${type}`) | |||||
| return ( | return ( | ||||
| <div | <div |
| <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> |
| 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> |
| 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'> |
| 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> | ||||
| ) | ) | ||||
| } | } |
| : ( | : ( | ||||
| <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' /> |
| : ( | : ( | ||||
| <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' /> |
| 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> |
| </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 |
| 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} |
| 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 = ({ |
| <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> | ||||
| ) | ) |
| } | } | ||||
| 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 | ||||
| } | } | ||||
| } | } |
| 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 |
| 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> | ||||
| )} | )} |
| } | } | ||||
| 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"> |
| play: 'Abspielen', | play: 'Abspielen', | ||||
| pause: 'Pause', | pause: 'Pause', | ||||
| playing: 'Wiedergabe', | playing: 'Wiedergabe', | ||||
| merMaind: { | |||||
| merMaid: { | |||||
| rerender: 'Neu rendern', | rerender: 'Neu rendern', | ||||
| }, | }, | ||||
| never: 'Nie', | never: 'Nie', |
| 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', |
| 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', |
| 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', |
| 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?', |
| 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', |
| 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', |
| pause: 'Pause', | pause: 'Pause', | ||||
| playing: 'Playing', | playing: 'Playing', | ||||
| loading: 'Loading', | loading: 'Loading', | ||||
| merMaind: { | |||||
| merMaid: { | |||||
| rerender: 'Redo Rerender', | rerender: 'Redo Rerender', | ||||
| }, | }, | ||||
| never: 'Never', | never: 'Never', |
| 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}}', |
| 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', |
| 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', | ||||
| }, | }, |
| 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: { |
| 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?', |
| 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', |
| 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', |
| pause: 'Pausa', | pause: 'Pausa', | ||||
| playing: 'Reproduciendo', | playing: 'Reproduciendo', | ||||
| loading: 'Cargando', | loading: 'Cargando', | ||||
| merMaind: { | |||||
| merMaid: { | |||||
| rerender: 'Rehacer Rerender', | rerender: 'Rehacer Rerender', | ||||
| }, | }, | ||||
| never: 'Nunca', | never: 'Nunca', |
| 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}}', |
| 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ú)', | ||||
| }, | }, |
| 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: { |
| 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?', |
| 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', |
| 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', |
| pause: 'مکث', | pause: 'مکث', | ||||
| playing: 'در حال پخش', | playing: 'در حال پخش', | ||||
| loading: 'در حال بارگذاری', | loading: 'در حال بارگذاری', | ||||
| merMaind: { | |||||
| merMaid: { | |||||
| rerender: 'بازسازی مجدد', | rerender: 'بازسازی مجدد', | ||||
| }, | }, | ||||
| never: 'هرگز', | never: 'هرگز', |
| historyNoBeEmpty: 'تاریخچه مکالمه باید در پرس و جو تنظیم شود', | historyNoBeEmpty: 'تاریخچه مکالمه باید در پرس و جو تنظیم شود', | ||||
| queryNoBeEmpty: 'پرس و جو باید در پرس و جو تنظیم شود', | queryNoBeEmpty: 'پرس و جو باید در پرس و جو تنظیم شود', | ||||
| }, | }, | ||||
| variableConig: { | |||||
| variableConfig: { | |||||
| 'addModalTitle': 'افزودن فیلد ورودی', | 'addModalTitle': 'افزودن فیلد ورودی', | ||||
| 'editModalTitle': 'ویرایش فیلد ورودی', | 'editModalTitle': 'ویرایش فیلد ورودی', | ||||
| 'description': 'تنظیم برای متغیر {{varName}}', | 'description': 'تنظیم برای متغیر {{varName}}', |
| 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: '(شما)', | ||||
| }, | }, |
| 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: { |
| pp: 'سیاست حفظ حریم خصوصی', | pp: 'سیاست حفظ حریم خصوصی', | ||||
| tosDesc: 'با ثبت نام، شما با شرایط ما موافقت میکنید', | tosDesc: 'با ثبت نام، شما با شرایط ما موافقت میکنید', | ||||
| goToInit: 'اگر حساب را اولیه نکردهاید، لطفاً به صفحه اولیهسازی بروید', | goToInit: 'اگر حساب را اولیه نکردهاید، لطفاً به صفحه اولیهسازی بروید', | ||||
| donthave: 'ندارید؟', | |||||
| dontHave: 'ندارید؟', | |||||
| invalidInvitationCode: 'کد دعوت نامعتبر است', | invalidInvitationCode: 'کد دعوت نامعتبر است', | ||||
| accountAlreadyInited: 'حساب قبلاً اولیه شده است', | accountAlreadyInited: 'حساب قبلاً اولیه شده است', | ||||
| forgotPassword: 'رمز عبور خود را فراموش کردهاید؟', | forgotPassword: 'رمز عبور خود را فراموش کردهاید؟', |
| 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: 'پیشنهاد اولیه', |
| searchVar: 'جستجوی متغیر', | searchVar: 'جستجوی متغیر', | ||||
| variableNamePlaceholder: 'نام متغیر', | variableNamePlaceholder: 'نام متغیر', | ||||
| setVarValuePlaceholder: 'تنظیم متغیر', | setVarValuePlaceholder: 'تنظیم متغیر', | ||||
| needConnecttip: 'این مرحله به هیچ چیزی متصل نیست', | |||||
| needConnectTip: 'این مرحله به هیچ چیزی متصل نیست', | |||||
| maxTreeDepth: 'حداکثر عمق {{depth}} نود در هر شاخه', | maxTreeDepth: 'حداکثر عمق {{depth}} نود در هر شاخه', | ||||
| needEndNode: 'بلوک پایان باید اضافه شود', | needEndNode: 'بلوک پایان باید اضافه شود', | ||||
| needAnswerNode: 'بلوک پاسخ باید اضافه شود', | needAnswerNode: 'بلوک پاسخ باید اضافه شود', |
| play: 'Jouer', | play: 'Jouer', | ||||
| pause: 'Pause', | pause: 'Pause', | ||||
| playing: 'Jouant', | playing: 'Jouant', | ||||
| merMaind: { | |||||
| merMaid: { | |||||
| rerender: 'Refaire Rerendu', | rerender: 'Refaire Rerendu', | ||||
| }, | }, | ||||
| never: 'Jamais', | never: 'Jamais', |
| 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}}', |
| 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', |
| 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', |
| 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é?', |
| 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', |
| 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é', |
| pause: 'विराम', | pause: 'विराम', | ||||
| playing: 'चल रहा है', | playing: 'चल रहा है', | ||||
| loading: 'लोड हो रहा है', | loading: 'लोड हो रहा है', | ||||
| merMaind: { | |||||
| merMaid: { | |||||
| rerender: 'पुनः रीरेंडर करें', | rerender: 'पुनः रीरेंडर करें', | ||||
| }, | }, | ||||
| never: 'कभी नहीं', | never: 'कभी नहीं', |
| historyNoBeEmpty: 'संवाद इतिहास प्रॉम्प्ट में सेट होना चाहिए', | historyNoBeEmpty: 'संवाद इतिहास प्रॉम्प्ट में सेट होना चाहिए', | ||||
| queryNoBeEmpty: 'प्रश्न प्रॉम्प्ट में सेट होना चाहिए', | queryNoBeEmpty: 'प्रश्न प्रॉम्प्ट में सेट होना चाहिए', | ||||
| }, | }, | ||||
| variableConig: { | |||||
| variableConfig: { | |||||
| 'addModalTitle': 'इनपुट फ़ील्ड जोड़ें', | 'addModalTitle': 'इनपुट फ़ील्ड जोड़ें', | ||||
| 'editModalTitle': 'इनपुट फ़ील्ड संपादित करें', | 'editModalTitle': 'इनपुट फ़ील्ड संपादित करें', | ||||
| 'description': 'वेरिएबल {{varName}} के लिए सेटिंग', | 'description': 'वेरिएबल {{varName}} के लिए सेटिंग', |
| invitationSentTip: | invitationSentTip: | ||||
| 'आमंत्रण भेजा गया, और वे साइन इन करके आपकी टीम डेटा तक पहुंच सकते हैं।', | 'आमंत्रण भेजा गया, और वे साइन इन करके आपकी टीम डेटा तक पहुंच सकते हैं।', | ||||
| invitationLink: 'आमंत्रण लिंक', | invitationLink: 'आमंत्रण लिंक', | ||||
| failedinvitationEmails: | |||||
| failedInvitationEmails: | |||||
| 'नीचे दिए गए उपयोगकर्ताओं को सफलतापूर्वक आमंत्रित नहीं किया गया', | 'नीचे दिए गए उपयोगकर्ताओं को सफलतापूर्वक आमंत्रित नहीं किया गया', | ||||
| ok: 'ठीक है', | ok: 'ठीक है', | ||||
| removeFromTeam: 'टीम से हटाएं', | removeFromTeam: 'टीम से हटाएं', | ||||
| setMember: 'सामान्य सदस्य के रूप में सेट करें', | setMember: 'सामान्य सदस्य के रूप में सेट करें', | ||||
| setBuilder: 'निर्माता के रूप में सेट करें', | setBuilder: 'निर्माता के रूप में सेट करें', | ||||
| setEditor: 'संपादक के रूप में सेट करें', | setEditor: 'संपादक के रूप में सेट करें', | ||||
| disinvite: 'आमंत्रण रद्द करें', | |||||
| disInvite: 'आमंत्रण रद्द करें', | |||||
| deleteMember: 'सदस्य को हटाएं', | deleteMember: 'सदस्य को हटाएं', | ||||
| you: '(आप)', | you: '(आप)', | ||||
| datasetOperator: 'ज्ञान व्यवस्थापक', | datasetOperator: 'ज्ञान व्यवस्थापक', |
| 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: { |
| tosDesc: 'साइन अप करके, आप हमारी सहमति देते हैं', | tosDesc: 'साइन अप करके, आप हमारी सहमति देते हैं', | ||||
| goToInit: | goToInit: | ||||
| 'यदि आपने खाता प्रारंभ नहीं किया है, तो कृपया प्रारंभिक पृष्ठ पर जाएं', | 'यदि आपने खाता प्रारंभ नहीं किया है, तो कृपया प्रारंभिक पृष्ठ पर जाएं', | ||||
| donthave: 'नहीं है?', | |||||
| dontHave: 'नहीं है?', | |||||
| invalidInvitationCode: 'अवैध निमंत्रण कोड', | invalidInvitationCode: 'अवैध निमंत्रण कोड', | ||||
| accountAlreadyInited: 'खाता पहले से प्रारंभ किया गया है', | accountAlreadyInited: 'खाता पहले से प्रारंभ किया गया है', | ||||
| forgotPassword: 'क्या आपने अपना पासवर्ड भूल गए हैं?', | forgotPassword: 'क्या आपने अपना पासवर्ड भूल गए हैं?', |
| 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: 'प्रारंभिक प्रॉम्प्ट', |
| searchVar: 'वेरिएबल खोजें', | searchVar: 'वेरिएबल खोजें', | ||||
| variableNamePlaceholder: 'वेरिएबल नाम', | variableNamePlaceholder: 'वेरिएबल नाम', | ||||
| setVarValuePlaceholder: 'वेरिएबल सेट करें', | setVarValuePlaceholder: 'वेरिएबल सेट करें', | ||||
| needConnecttip: 'यह चरण किसी से जुड़ा नहीं है', | |||||
| needConnectTip: 'यह चरण किसी से जुड़ा नहीं है', | |||||
| maxTreeDepth: 'प्रति शाखा अधिकतम {{depth}} नोड्स की सीमा', | maxTreeDepth: 'प्रति शाखा अधिकतम {{depth}} नोड्स की सीमा', | ||||
| needEndNode: 'अंत ब्लॉक जोड़ा जाना चाहिए', | needEndNode: 'अंत ब्लॉक जोड़ा जाना चाहिए', | ||||
| needAnswerNode: 'उत्तर ब्लॉक जोड़ा जाना चाहिए', | needAnswerNode: 'उत्तर ब्लॉक जोड़ा जाना चाहिए', |
| 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', |
| '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}}', |
| 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)', | ||||
| }, | }, |
| 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: { |
| 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?', |
| 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', |
| 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', |
| pause: '一時停止', | pause: '一時停止', | ||||
| playing: '再生中', | playing: '再生中', | ||||
| loading: '読み込み中', | loading: '読み込み中', | ||||
| merMaind: { | |||||
| merMaid: { | |||||
| rerender: '再レンダリング', | rerender: '再レンダリング', | ||||
| }, | }, | ||||
| never: 'なし', | never: 'なし', |
| historyNoBeEmpty: 'プロンプトには会話履歴を設定する必要があります', | historyNoBeEmpty: 'プロンプトには会話履歴を設定する必要があります', | ||||
| queryNoBeEmpty: 'プロンプトにクエリを設定する必要があります', | queryNoBeEmpty: 'プロンプトにクエリを設定する必要があります', | ||||
| }, | }, | ||||
| variableConig: { | |||||
| variableConfig: { | |||||
| 'addModalTitle': '入力フィールドを追加', | 'addModalTitle': '入力フィールドを追加', | ||||
| 'editModalTitle': '入力フィールドを編集', | 'editModalTitle': '入力フィールドを編集', | ||||
| 'description': '{{varName}} の変数設定', | 'description': '{{varName}} の変数設定', |
| 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: '(あなた様)', | ||||
| }, | }, |
| 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: { |
| pp: 'プライバシーポリシー', | pp: 'プライバシーポリシー', | ||||
| tosDesc: 'サインアップすることで、以下に同意するものとします', | tosDesc: 'サインアップすることで、以下に同意するものとします', | ||||
| goToInit: 'アカウントを初期化していない場合は、初期化ページに移動してください', | goToInit: 'アカウントを初期化していない場合は、初期化ページに移動してください', | ||||
| donthave: 'お持ちでない場合', | |||||
| dontHave: 'お持ちでない場合', | |||||
| invalidInvitationCode: '無効な招待コード', | invalidInvitationCode: '無効な招待コード', | ||||
| accountAlreadyInited: 'アカウントは既に初期化されています', | accountAlreadyInited: 'アカウントは既に初期化されています', | ||||
| forgotPassword: 'パスワードを忘れましたか?', | forgotPassword: 'パスワードを忘れましたか?', |
| 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: '初期プロンプト', |
| searchVar: '変数を検索', | searchVar: '変数を検索', | ||||
| variableNamePlaceholder: '変数名', | variableNamePlaceholder: '変数名', | ||||
| setVarValuePlaceholder: '変数を設定', | setVarValuePlaceholder: '変数を設定', | ||||
| needConnecttip: 'このステップは何にも接続されていません', | |||||
| needConnectTip: 'このステップは何にも接続されていません', | |||||
| maxTreeDepth: 'ブランチごとの最大制限は{{depth}}ノードです', | maxTreeDepth: 'ブランチごとの最大制限は{{depth}}ノードです', | ||||
| needEndNode: '終了ブロックを追加する必要があります', | needEndNode: '終了ブロックを追加する必要があります', | ||||
| needAnswerNode: '回答ブロックを追加する必要があります', | needAnswerNode: '回答ブロックを追加する必要があります', |
| pause: '일시 정지', | pause: '일시 정지', | ||||
| playing: '실행 중', | playing: '실행 중', | ||||
| loading: '로드 중', | loading: '로드 중', | ||||
| merMaind: { | |||||
| merMaid: { | |||||
| rerender: '다시 렌더링', | rerender: '다시 렌더링', | ||||
| }, | }, | ||||
| never: '없음', | never: '없음', |
| historyNoBeEmpty: '프롬프트에 대화 기록을 설정해야 합니다', | historyNoBeEmpty: '프롬프트에 대화 기록을 설정해야 합니다', | ||||
| queryNoBeEmpty: '프롬프트에 쿼리를 설정해야 합니다', | queryNoBeEmpty: '프롬프트에 쿼리를 설정해야 합니다', | ||||
| }, | }, | ||||
| variableConig: { | |||||
| variableConfig: { | |||||
| 'addModalTitle': '입력 필드 추가', | 'addModalTitle': '입력 필드 추가', | ||||
| 'editModalTitle': '입력 필드 편집', | 'editModalTitle': '입력 필드 편집', | ||||
| 'description': '{{varName}} 변수 설정', | 'description': '{{varName}} 변수 설정', |
| 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: '지식 관리자', |
| 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: '웹 사이트 전처리', |
| pp: '개인정보 처리 방침', | pp: '개인정보 처리 방침', | ||||
| tosDesc: '가입함으로써 다음 내용에 동의하게 됩니다.', | tosDesc: '가입함으로써 다음 내용에 동의하게 됩니다.', | ||||
| goToInit: '계정이 초기화되지 않았다면 초기화 페이지로 이동하세요.', | goToInit: '계정이 초기화되지 않았다면 초기화 페이지로 이동하세요.', | ||||
| donthave: '계정이 없으신가요?', | |||||
| dontHave: '계정이 없으신가요?', | |||||
| invalidInvitationCode: '유효하지 않은 초대 코드입니다.', | invalidInvitationCode: '유효하지 않은 초대 코드입니다.', | ||||
| accountAlreadyInited: '계정은 이미 초기화되었습니다.', | accountAlreadyInited: '계정은 이미 초기화되었습니다.', | ||||
| forgotPassword: '비밀번호를 잊으셨나요?', | forgotPassword: '비밀번호를 잊으셨나요?', |
| 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: '초기 프롬프트', |
| searchVar: '변수 검색', | searchVar: '변수 검색', | ||||
| variableNamePlaceholder: '변수 이름', | variableNamePlaceholder: '변수 이름', | ||||
| setVarValuePlaceholder: '변수 값 설정', | setVarValuePlaceholder: '변수 값 설정', | ||||
| needConnecttip: '이 단계는 아무것도 연결되어 있지 않습니다', | |||||
| needConnectTip: '이 단계는 아무것도 연결되어 있지 않습니다', | |||||
| maxTreeDepth: '분기당 최대 {{depth}} 노드 제한', | maxTreeDepth: '분기당 최대 {{depth}} 노드 제한', | ||||
| needEndNode: '종료 블록을 추가해야 합니다', | needEndNode: '종료 블록을 추가해야 합니다', | ||||
| needAnswerNode: '답변 블록을 추가해야 합니다', | needAnswerNode: '답변 블록을 추가해야 합니다', |
| 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', |
| 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}}', |
| 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', |
| 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', |
| 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?', |
| 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ź', |
| 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', |
| 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', |
| 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}}', |
| 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', |
| 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', |
| 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?', |
| 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', |
| 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', |
| 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ă', |
| 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}}', |
| 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', |