{t('This dialog can be used to concatenate files in series, e.g. one after the other:\n[file1][file2][file3]\nIt can NOT be used for merging tracks in parallell (like adding an audio track to a video).\nMake sure all files are of the exact same codecs & codec parameters (fps, resolution etc).')}
<Alertintent="warning">{t('A mismatch was detected in at least one file. You may proceed, but the resulting file might not be playable.')}</Alert>
<Alerttext={t('A mismatch was detected in at least one file. You may proceed, but the resulting file might not be playable.')}/>
)}
{!enableReadFileMeta&&(
<Alertintent="warning">{t('File compatibility check is not enabled, so the merge operation might not produce a valid output. Enable "Check compatibility" below to check file compatibility before merging.')}</Alert>
<Alerttext={t('File compatibility check is not enabled, so the merge operation might not produce a valid output. Enable "Check compatibility" below to check file compatibility before merging.')}/>
<Checkboxchecked={includeAllStreams}onChange={(e)=>setIncludeAllStreams(e.target.checked)}label={`${t('Include all tracks?')}${t('If this is checked, all audio/video/subtitle/data tracks will be included. This may not always work for all file types. If not checked, only default streams will be included.')}`}/>
<EvergreenCheckbox checked={includeAllStreams}onChange={(e)=>setIncludeAllStreams(e.target.checked)}label={`${t('Include all tracks?')}${t('If this is checked, all audio/video/subtitle/data tracks will be included. This may not always work for all file types. If not checked, only default streams will be included.')}`}/>
<Checkboxchecked={preserveMetadataOnMerge}onChange={(e)=>setPreserveMetadataOnMerge(e.target.checked)}label={t('Preserve original metadata when merging? (slow)')}/>
<EvergreenCheckbox checked={preserveMetadataOnMerge}onChange={(e)=>setPreserveMetadataOnMerge(e.target.checked)}label={t('Preserve original metadata when merging? (slow)')}/>
{fileFormat!=null&&isMov(fileFormat)&&<Checkboxchecked={preserveMovData}onChange={(e)=>setPreserveMovData(e.target.checked)}label={t('Preserve all MP4/MOV metadata?')}/>}
{fileFormat!=null&&isMov(fileFormat)&&<EvergreenCheckbox checked={preserveMovData}onChange={(e)=>setPreserveMovData(e.target.checked)}label={t('Preserve all MP4/MOV metadata?')}/>}
<Checkboxchecked={segmentsToChapters}onChange={(e)=>setSegmentsToChapters(e.target.checked)}label={t('Create chapters from merged segments? (slow)')}/>
<EvergreenCheckbox checked={segmentsToChapters}onChange={(e)=>setSegmentsToChapters(e.target.checked)}label={t('Create chapters from merged segments? (slow)')}/>
<Checkbox checked={alwaysConcatMultipleFiles}onChange={(e)=>setAlwaysConcatMultipleFiles(e.target.checked)}label={t('Always open this dialog when opening multiple files')}/>
<EvergreenCheckbox checked={alwaysConcatMultipleFiles}onChange={(e)=>setAlwaysConcatMultipleFiles(e.target.checked)}label={t('Always open this dialog when opening multiple files')}/>
<Checkbox checked={clearBatchFilesAfterConcat}onChange={(e)=>setClearBatchFilesAfterConcat(e.target.checked)}label={t('Clear batch file list after merge')}/>
<EvergreenCheckbox checked={clearBatchFilesAfterConcat}onChange={(e)=>setClearBatchFilesAfterConcat(e.target.checked)}label={t('Clear batch file list after merge')}/>
<Paragraph>{t('Note that also other settings from the normal export dialog apply to this merge function. For more information about all options, see the export dialog.')}</Paragraph>
<Paragraph>{i18n.t('These options will let you convert files to a format that is supported by the player. You can try different options and see which works with your file. Note that the conversion is for preview only. When you run an export, the output will still be lossless with full quality')}</Paragraph>
{showRemember&&<Checkboxchecked={remember}onChange={onRememberChange}label={i18n.t('Use this for all files until LosslessCut is restarted?')}/>}
<p>{i18n.t('These options will let you convert files to a format that is supported by the player. You can try different options and see which works with your file. Note that the conversion is for preview only. When you run an export, the output will still be lossless with full quality')}</p>
{showRemember&&<Checkboxchecked={remember}onCheckedChange={onRememberChange}label={i18n.t('Use this for all files until LosslessCut is restarted?')}style={{marginTop:'.5em'}}/>}
<p>{i18n.t('What do you want to do after exporting a file or when pressing the "delete source file" button?')}</p>
<Checkboxlabel={i18n.t('Close currently opened file')}checked={closeFile}disabled={trashSourceFile||trashTmpFiles}onChange={(e)=>onChange('closeFile',e.target.checked)}/>
<Checkboxlabel={i18n.t('Close currently opened file')}checked={closeFile}disabled={trashSourceFile||trashTmpFiles}onCheckedChange={(checked)=>onChange('closeFile',checked)}/>
<Checkboxlabel={i18n.t('Permanently delete the files if trash fails?')}disabled={!(trashTmpFiles||trashProjectFile||trashSourceFile)}checked={deleteIfTrashFails}onChange={(e)=>onChange('deleteIfTrashFails',e.target.checked)}/>
<Checkboxlabel={i18n.t('Permanently delete the files if trash fails?')}disabled={!(trashTmpFiles||trashProjectFile||trashSourceFile)}checked={deleteIfTrashFails}onCheckedChange={(checked)=>onChange('deleteIfTrashFails',checked)}/>
</div>
<divstyle={{marginTop: 25}}>
<Checkboxlabel={i18n.t('Show this dialog every time?')}checked={askForCleanup}onChange={(e)=>onChange('askForCleanup',e.target.checked)}/>
<Checkboxlabel={i18n.t('Do all of this automatically after exporting a file?')}checked={cleanupAfterExport}onChange={(e)=>onChange('cleanupAfterExport',e.target.checked)}/>
<Checkboxlabel={i18n.t('Show this dialog every time?')}checked={askForCleanup}onCheckedChange={(checked)=>onChange('askForCleanup',checked)}/>
<Checkboxlabel={i18n.t('Do all of this automatically after exporting a file?')}checked={cleanupAfterExport}onCheckedChange={(checked)=>onChange('cleanupAfterExport',checked)}/>
</div>
</div>
);
@ -442,7 +441,7 @@ export async function createRandomSegments(fileDuration: number) {
<ListItemicon={TickCircleIcon}iconColor={hasWarnings?'warning':'success'}style={{fontWeight:'bold'}}>{hasWarnings?i18n.t('Export finished with warning(s)',{count: warnings.length}):i18n.t('Export is done!')}</ListItem>
<ListItemicon={TickCircleIcon}iconColor={hasWarnings?'var(--orange8)' :'var(--green11)'}style={{fontWeight:'bold'}}>{hasWarnings?i18n.t('Export finished with warning(s)',{count: warnings.length}):i18n.t('Export is done!')}</ListItem>
<ListItemicon={InfoSignIcon}>{i18n.t('Please test the output file in your desired player/editor before you delete the source file.')}</ListItem>