{{ currentLang === 'en' ? 'Draft Restored' : 'Brouillon restaure' }}

{{ currentLang === 'en' ? 'Files must be re-uploaded.' : 'Les fichiers doivent etre re-uploades.' }}

{{ currentLang === 'en' ? 'Saved drafts:' : 'Brouillons enregistres :' }}
{{ submitResult.success ? 'OK' : 'X' }}
{{ submitResult.success ? t('successTitle') : t('errorTitle') }}
{{ submitResult.message }}
{{ t('reference') }}: {{ form.catalogueNumber }}
View Online Submission Queue
{{ t('draft_saved') || 'Draft saved' }}
{{ t('draft_restored') || 'Draft restored' }}
{{ t('selectRelease') || 'Select a release to copy specs from:' }}
{{ entry.sku }}
{{ entry.label }} - {{ entry.format || 'No format' }}
1 {{ t('basicInfo') }}
MFG
{{ label.name }}
No labels found
+ Create new label
{{ artist.name }}
No artists found
+
Common Ground
{{ t('commonGroundDesc') }}
{{ discogsError }}
{{ discogsPreview.title }}
{{ discogsPreview.artist }}
Release auto-set to +60 days
{{ daysUntilRelease }}d
{{ t('minDateError') }}
2 Genres
3 {{ t('descriptionSection') }}

{{ currentLang === 'en' ? 'Artist bio, release description, relevant info.' : 'Bio artiste, description release, infos pertinentes.' }}

4 Preview Audio

MP3 ou WAV. Les fichiers seront convertis en MP3 320kbps automatiquement.

Drop MP3/WAV files
or click to browse
Tracklist *
Please rename the tracks the way you want them to appear on the website
No tracks yet
{{ audioTracks.filter(t => t.file || t.serverUrl).length }} track(s) ready Total: {{ formatTotalSize(audioTracks) }}
{{ audioTracks.length }} track(s) - MP3 files missing! Please re-upload audio files.
5 Images

JPG, PNG, WEBP accepted. Files renamed automatically: {{ form.catalogueNumber || 'SKU' }}_1.jpg, _2.jpg, etc. based on filled slots.

Sleeve
Sleeve
{{ form.catalogueNumber || 'SKU' }}{{ imageSuffixes.sleeve || '' }}
Label A
Label A
{{ form.catalogueNumber || 'SKU' }}{{ imageSuffixes.labelA || '' }}
Label B
Label B
{{ form.catalogueNumber || 'SKU' }}{{ imageSuffixes.labelB || '' }}
Other
Other
{{ form.catalogueNumber || 'SKU' }}{{ imageSuffixes.other || '' }}
{{ Object.values(imageSlots).filter(s => s).length }} image(s) ready
6 {{ t('termsConditions') }}
{{ currentLang === 'en' ? 'Missing required fields:' : 'Champs requis manquants :' }}
{{ currentLang === 'en' ? 'Please accept all terms and conditions to submit' : 'Veuillez accepter toutes les conditions pour soumettre' }}