Skip to content
Snippets Groups Projects
en.js 15.7 KiB
Newer Older
export default {

    // Pages
    'home': {
        'welcome': 'Welcome',
        'introduction': 'AURA is radio automation software for the special needs of community radios. AURA has been developed in several Austrian community radios and it is open source.',
        'notLoggedIn': 'You are not logged in yet.'
    },

    'showManager': {
        'title': 'Radio shows',
        'generalSettings': 'General settings for show',
    },

    'filePlaylistManager': {
        'title': 'Files & Playlists',
        'files': 'Files',
        'playlists': 'Playlists',
    },

    'credits': {
        'title': 'Credits',
        'intro': 'AURA is developed under the GNU Affero General Public License v3. Current and former developers are',

        'graphicsIcons': 'Graphics & Icons',

        'loadingIcon': 'Animated loading icon',
        'otherIcons': 'All other icons',

        'moreInfo': 'For more infos visit the <a href="https://gitlab.servus.at/aura/dashboard">Dashboard repository</a>.<br>To get the big picture of the whole AURA architecture, visit the <a href="https://gitlab.servus.at/aura/meta">AURA Meta repository</a>.<br>All AURA repositories can be found at <a href="https://gitlab.servus.at/aura">https://gitlab.servus.at/aura</a>.'
    'help': {
        'title': 'Help',
        'generalDocumentation': 'You can find the general AURA documentation here: '
    },

    // Layout
    'cancel': 'Cancel',
    'delete': 'Delete',
Richard Blechinger's avatar
Richard Blechinger committed
    'new': 'New',
    'add': 'Add',
    'save': 'Save',
    'browse': 'Browse',
    'drop': 'Drop file here',
    'edit': 'Edit',
    'slug': 'Slug',
    'unimplemented': "By the mighty witchcraftry of the mother of time!\n\nThis feature is not implemented yet.",
    'noneSetMasculine': '(none set)',
    'noneSetFeminine': '(none set)',
    'noneSetNeuter': '(none set)',
    'noAssignedShows': 'You have not been assigned any shows yet.<br>They can be assigned in the <a href="%{adminUrl}">administration interface</a>.',
        'signIn': 'Sign in',
        'permissionError': 'You are not permitted to view this page'
    'navigation': {
        'home': 'Home',
        'shows': 'Shows',
        'filesPlaylists': 'Files & Playlists',
        'calendar': 'Calendar',
        'tagline': 'All the UI you need to run a community radio'
    },

    // Specific components
    'header': {
        'showMoreDesktop': 'Hit menu button for more',
        'showMoreMobile': 'For more options tap the menu button on the right',
    },

    'emissionTable': {
        'title': 'Title of emission',
        'start': 'Emission start',
        'duration': 'Duration',
        'playlist': 'Playlist',
        'actions': 'Actions',
    'fileManager': {
        'noFilesAvailable': 'There are no files for this show yet',
        'upload': 'Add or upload file',
        'error': 'Error',

        'importAborted': 'The import was aborted',
        'importLogTooltip': 'Show import log',
    },

    'fileAdder': {
        'title': 'Add or upload file',

        'link': 'Link',
        'linkPlaceholder': 'Enter a HTTP(S) URL',
        'download': 'Download from remote source instead of uploading file',

        'editMeta': 'Edit metadata',
    },

    'importLog': {
        'title': 'File import log',
        'availableLogs': 'Available logs',

        'fetchError': 'Error: Could not fetch import log from Tank. Check browser console for more info',
        'fetchLog': 'Fetch log',
        'normalizeLog': 'Normalization Log',
    },

        'title': 'Assign playlist',

        'noPlaylistsAvailable': 'No playlists available. Use the buttons below to create some!',
        'currentPlaylistLabel': 'Currently selected playlist ID',

        'upload': 'Upload',
        'uploadAudio': 'Upload audio file',
        'goToFiles': "Switch to 'Files & Playlists'",

        'mismatchedLength': 'The playlist and the timeslot have different durations',
        'mismatchedLengthConfirmation': 'You are about to assign a playlist with a mismatched duration. Are you sure?',
    },

    'playlistManager': {
        'noPlaylistsAvailable': 'There are no playlists for this show yet',
        'create': 'Create playlist',
    'playlistEditor': {
        'titleExisting': 'Editing playlist %{id} for show "%{show}"',
        'titleNew': 'Add new playlist for show "%{show}"',

        'noEntriesAvailable': 'There are no entries yet. Go ahead and add some!',
        'saved': 'The playlist has been saved',

        'unknownDuration': '(Unkown)',
        'tooManyUnknowns': 'There are two or more entries that have an unknown duration. Please fix this by clicking on the duration field in the table and entering one manually. A playlist may only contains one entry with an unknown duration.',

        'types': {
            'file': 'File',
            'lineIn': 'Line-in',
            'stream': 'Stream',
            'other': 'Other',
        },

        'lineIns': {
            'studio1': 'Studio 1',
            'preProd': 'Preprod',
            'line2': 'Line 2',
        },

        'addStream': 'Add stream to playlist',
        'invalidDurationFormat': 'Please enter a duration in format mm:ss or hh:mm:ss',
    },

    'playlistTable': {
        // Our translation framework automatically picks singular/plural
        'items': '%{smart_count} item |||| %{smart_count} items',
        'assign': 'Assign',
        'unset': 'Unset',

        'index': 'Nr',
        'description': 'Description',
        'entries': 'Entries',
        'duration': 'Duration',
        'lastEdit': 'Last edited',
        'type': 'Type',
        'source': 'Source',
        'actions': 'Actions'
    },

    'showSelector': {
        'selectShowMany': 'Select show:',
        'selectShow': 'Select a radio show',
    },

    'showJumbotron': {
        'activateShow': 'Activate show',
        'deactivateShow': 'Deactivate show',
        'notActive': 'This show is not active at the moment',
        'deactivationWarning': 'You are about to delete show <b>%{show}</b>!',
        'continue': 'Are you sure you want to continue',
    },

    'showSchedules': {
        'schedule': 'schedule',
        'schedules': 'schedules',
        'noSchedulesAvailable': 'There are currently no schedules for this show',

        'collapse': 'click to collapse',
    },

    'showTimeslots': {
        'toggleFilters': 'Toggle timeslot filters',
        'applyFilters': 'Apply filters',
        'resetFilters': 'Reset filters',

        'editDescription': 'Edit description',
        'editPlaylist': 'Edit playlist',
        'openPlayer': 'Open player',
        'downloadRecording': 'Download recording',
        'uploadToCba': 'Upload recording to CBA',

        'switchToEmissions': 'Switch to emission management',
        'numberOfSlots': 'Number of slots',
        'from': 'From',
        'to': 'To (exclusive)',
    },

    'showMeta': {
        'email': 'Email',
        'emailPlaceholder': 'Enter a contact address for this show',
        'editEmail': 'Edit email',
        'invalidEmail': 'Please enter a valid email',

        'showName': 'Show name',
        'showNamePlaceholder': 'Enter the name of the show',
        'editShowName': 'Edit show name',

        'description': 'Description',
        'descriptionPlaceholder': 'Enter a description',
        'editDescription': 'Edit description',

        'shortDescription': 'Short description',
        'shortDescriptionPlaceholder': 'Enter a short description of this show',
        'editShortDescription': 'Edit short description',

        'website': 'Website',
        'websitePlaceholder': 'Enter a website for this show',
        'editWebsite': 'Edit website',
        'invalidWebsite': 'Please enter a valid URL',

        'type': 'Show type',
        'editType': 'Edit show type',

        'fundingCategory': 'Funding category',
        'fundingCategoryRtr': '(e.g. for RTR)',
        'editFundingCategory': 'Edit funding category',

        'predecessor': 'Predecessor',
        'noPredecessor': 'This show has no predecessor',
        'editPredecessor': 'Edit predecessor',
        'noPredecessorName': 'The name of the predecessor is unavailable',

        'cbaSeriesId': 'CBA Series ID',
        'cbaSeriesIdPlaceholder': 'Enter a CBA Series ID for this show',
        'editCbaSeriesId': 'Edit CBA Series ID',
        'invalidCbaSeriesId': 'Please enter a valid integer as series ID',

        'defaultPlaylistId': 'Default show playlist ID',
        'editDefaultPlaylistId': 'Edit default show playlist ID',

        // Meta arrays
        'categories': 'Categories',
        'categoriesLabel': 'Select one or more categories',
        'editCategories': 'Edit categories',

        'topics': 'Topics',
        'topicsLabel': 'Select one or more topics',
        'editTopics': 'Edit topics',

        'genres': 'Genres',
        'genresLabel': 'Select one or more genres',
        'editGenres': 'Edit genres',

        'languages': 'Languages',
        'languagesLabel': 'Select one or more languages',
        'editLanguages': 'Edit languages',

        'hosts': 'Hosts',
        'hostsLabel': 'Select one or more hosts',
        'editHosts': 'Edit hosts',

        'owners': 'Owners',
        'editOwners': 'Edit owners',

        'accessAlreadyGiven': 'This user already has access for this show',
        'usersWithAccess': 'Users with access to <b>%{show}</b>',
        'addNewUsers': 'You can add new users using the table below',

        'name': 'Name',
        'username': 'Username',
        'options': 'Options',

        'logo': 'Logo',
        'editLogo': 'Edit logo',
        'currentLogo': 'Current logo',
        'chooseLogo': 'Choose new logo',

        'image': 'Image',
        'editImage': 'Edit image',
        'currentImage': 'Current image',
        'chooseImage': 'Choose new image',

        'multiselect': '<b>Hint:</b> use <code>CTRL+click</code> for multiple selection'
    },

    'noteEditor': {
        'editNote': 'Edit note',

        'intro': {
            'existing': 'This is the note for the timeslot on %{date}',
            'new': 'You are creating a new note'
        },

        'title': 'Title',
        'titlePlaceholder': 'Enter a title',

        'summary': 'Summary',
        'summaryPlaceholder': 'Enter a summary',

        'content': 'Content',
        'contentPlaceholder': 'Describe the content of the show',

        'host': 'Host',

        'image': 'Image',
        'chooseImage': 'Choose image'
    },

    'showCreator': {
        'title': 'Create new show',
    },

    'conflictResolution': {
        'title': 'Conflict resolution for new schedule',
        'titleModal': 'Resolve a timeslot conflict',

        'titleNoConflict': 'No conflict to resolve',
        'noConflict': 'This timeslot does not have a conflict. Great!',

        'projectedSlot': 'The new timeslot runs on <b>%{firstDate}</b> from <b>%{startTime}</b> to <b>%{endTime}</b>',
        'conflictsWith': 'It conflicts with the following timeslots',

        'newSchedule': 'from <b>%{firstDate}, %{startTime}</b> to <b>%{endTime}</b>',
        'recurringSchedule': 'This schedule repeats <b>%{rrule}</b> until <b>%{lastDate}</b>',
        'leftToResolve': '%{smart_count} conflicts left to resolve |||| %{smart_count} conflict left to resolve',
        'noneLeftToResolve': 'No more conflicts to resolve!',
        'applySolution': 'Apply solution',

        'from': 'From',
        'to': 'To',
        'showName': 'Show name',

        'whichStrategy': 'Which solution should be applied?',
        'strategies': {
            'ours': 'Insert new timeslot, delete old one',
            'theirs': 'Delete new timeslot, keep old one',
            'theirsStart': 'Insert new timeslot after old timeslot',
            'theirsEnd': 'Insert new timeslot before old timeslot',
            'theirsBoth': 'Insert new timeslot with interruption by old timeslot',
            'oursStart': 'ours-start (TODO: Better description)',
            'oursEnd': 'ours-end (TODO: Better description)',
            'oursBoth': 'ours-both (TODO: Better description)',
        },
    },

    'scheduleEditor': {
        'titleCreate': 'Create new schedule for "%{show}"',
        'titleEdit': 'Edit schedule for "%{show}"',

        'timeslotRuns': 'This timeslot runs on <b>%{firstDate}</b> from <b>%{startTime}</b> to <b>%{endTime}</b>',
        'recurringSchedule': 'This schedule repeats from <b>%{rrule}</b> to <b>%{lastDate}</b>',

        'singleEmission': 'This timeslot is a one-time emission.',
        'coexistingTimeslot': 'But due to a conflict resolution there is another timeslot on <b>%{firstDate}</b> from <b>%{startTime}</b> to <b>%{endTime}</b>',
        'addFallbackTitle': 'Add fallback for schedule',
        'currentlySelectedPlaylist': 'Currently selected playlist',
        'assignPlaylist': 'Assign playlist',

        'start': 'Start',
        'end': 'End',
        'projectedDuration': '<b>Projected duration:</b> %{duration}',

        'pastEventWarning': 'Past events will be ignored. Start date was set to today!<br>Try again or change the start date to something in the future.',
        'from': 'From',
        'to': 'To',
        'fromDate': 'Starting',
        'toDate': 'Until <span class="tw-font-normal tw-text-gray-500">(Date)</span>',

        'addRepetition': 'Add repetition schedule',
        'whenToRepeat': 'When to repeat?',
        'useSameTime': 'Use same start and end time',
        'repeatAt': 'Repeat at',
        'addNoOfDays': 'How many days later?',
        'onlyBusinessDays': 'Only count business days',

        'delete': {
            'delete': 'Delete',
            'timeslotsTitle': 'Deleting timeslots',
            'both': 'Delete both',
            'scheduleTimeslots': 'Delete schedule and all timeslots',
            'timeslot': 'Delete timeslot',
        },

        'repetition': {
            'followingDay': 'On the following day',
            'followingBusinessDay': 'On the following business day',
            'numberOfDaysLater': 'A number of days later'
        }
    },

    'calendar': {
        'today': 'Today',
        'empty': '(No playlist! Station fallback will be used)',
        'fallback': 'Warning! Fallback playlist!',
        'repetition': '(Repetition)',
        'view': {
            'day': 'Day view',
            'week': 'Week view',
        },
        'mismatchedLength': '(wrong duration)'
    },

    // Etc
    'metadata': {
        'artist': 'Artist',
        'album': 'Album',
        'title': 'Title',
        'source': 'Source',
        'size': 'File size',
        'rrule': 'Repetition rule',

        'day': {
            'sunday': 'Sunday',
            'monday': 'Monday',
            'tuesday': 'Tuesday',
            'wednesday': 'Wednesday',
            'thursday': 'Thursday',
            'friday': 'Friday',
            'saturday': 'Saturday',
        },

        'rule': {
            '1': 'once',
            '2': 'daily',
            '3': 'workdays',
            '4': 'weekly',
            '5': 'every two weeks',
            '6': 'every four weeks',
            '7': 'even calendar weeks',
            '8': 'uneven calendar weeks',
            '9': 'Every first week of the month',
            '10': 'Every second week of the month',
            '11': 'Every third week of the month',
            '12': 'Every fourth week of the month',
            '13': 'Every fifth week of the month',
        }
    },

    'steeringErrorCodes': {
        'no-start-after-end': 'The start date cannot be after the end date.',
        'no-same-day-start-and-end': 'The start and end date cannot be on the same day.',
        'one-solution-per-conflict': 'Exactly one solution is required per conflict. You either submitted no or more than one solution.'
    }