From d64b1a450cf7a2319468a71d3a4b79c81b375dc8 Mon Sep 17 00:00:00 2001 From: Buster Neece Date: Thu, 19 Oct 2023 19:01:42 -0500 Subject: [PATCH] Fix translations. --- frontend/gettext.config.cjs | 2 +- frontend/src/vendor/gettext.ts | 4 +- translations/default.pot | 4590 ++++++++++++++++---------------- 3 files changed, 2324 insertions(+), 2272 deletions(-) diff --git a/frontend/gettext.config.cjs b/frontend/gettext.config.cjs index b95bbf1fe..8c9e6fb57 100644 --- a/frontend/gettext.config.cjs +++ b/frontend/gettext.config.cjs @@ -1,6 +1,6 @@ module.exports = { input: { - path: './vue', + path: './src', include: ["**/*.js", "**/*.ts", "**/*.vue"] }, output: { diff --git a/frontend/src/vendor/gettext.ts b/frontend/src/vendor/gettext.ts index 7e411b492..37bfa8f47 100644 --- a/frontend/src/vendor/gettext.ts +++ b/frontend/src/vendor/gettext.ts @@ -19,10 +19,8 @@ export async function installTranslate(vueApp: App): Promise { translations: (localePath in translations) ? await translations[localePath]() : {}, - silent: false + silent: true }); - window.gettext = gettext; - vueApp.use(gettext); } diff --git a/translations/default.pot b/translations/default.pot index 50aa4efcc..9f8bd67f7 100644 --- a/translations/default.pot +++ b/translations/default.pot @@ -3,1817 +3,1817 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "X-Domain: default\n" -#: vue/components/Stations/Podcasts/ListView.vue:130 +#: src/components/Stations/Podcasts/ListView.vue:125 msgid "# Episodes" msgstr "" -#: vue/components/Stations/Playlists.vue:342 +#: src/components/Stations/Playlists.vue:343 msgid "# Songs" msgstr "" -#: vue/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:115 +#: src/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:115 msgid "%{ dj } is now live on %{ station }! Tune in now: %{ url }" msgstr "" -#: vue/components/Stations/Webhooks/Form/Common/RateLimitFields.vue:44 +#: src/components/Stations/Webhooks/Form/Common/RateLimitFields.vue:45 +msgid "%{ hours } hours" +msgstr "" + +#: src/components/Stations/Webhooks/Form/Common/RateLimitFields.vue:44 msgid "%{ minutes } minutes" msgstr "" -#: vue/components/Stations/Webhooks/Form/Common/RateLimitFields.vue:43 +#: src/components/Stations/Webhooks/Form/Common/RateLimitFields.vue:43 msgid "%{ seconds } seconds" msgstr "" -#: vue/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:135 +#: src/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:135 msgid "%{ station } is back online! Tune in now: %{ url }" msgstr "" -#: vue/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:129 +#: src/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:129 msgid "%{ station } is going offline for now." msgstr "" -#: vue/components/Stations/Common/Quota.vue:93 +#: src/components/Stations/Common/Quota.vue:93 msgid "%{filesCount} File" msgid_plural "%{filesCount} Files" msgstr[0] "" msgstr[1] "" -#: vue/components/Stations/Profile/NowPlayingPanel.vue:260 +#: src/components/Stations/Profile/NowPlayingPanel.vue:261 msgid "%{listeners} Listener" msgid_plural "%{listeners} Listeners" msgstr[0] "" msgstr[1] "" -#: vue/components/Admin/Debug.vue:98 +#: src/components/Admin/Debug.vue:145 msgid "%{messages} queued messages" msgstr "" -#: vue/components/Stations/Playlists/CloneModal.vue:80 +#: src/components/Stations/Playlists/CloneModal.vue:81 msgid "%{name} - Copy" msgstr "" -#: vue/components/Stations/Profile/BackendPanel.vue:112 +#: src/components/Stations/Profile/BackendPanel.vue:113 msgid "%{numPlaylists} playlist" msgid_plural "%{numPlaylists} playlists" msgstr[0] "" msgstr[1] "" -#: vue/components/Stations/Profile/BackendPanel.vue:105 +#: src/components/Stations/Profile/BackendPanel.vue:106 msgid "%{numSongs} uploaded song" msgid_plural "%{numSongs} uploaded songs" msgstr[0] "" msgstr[1] "" -#: vue/components/Stations/Common/Quota.vue:76 +#: src/components/Stations/Common/Quota.vue:76 msgid "%{spaceUsed} of %{spaceTotal} Used" msgstr "" -#: vue/components/Stations/Common/Quota.vue:84 +#: src/components/Stations/Common/Quota.vue:84 msgid "%{spaceUsed} Used" msgstr "" -#: vue/components/Admin/Stations/CloneModal.vue:50 +#: src/components/Admin/Stations/CloneModal.vue:51 msgid "%{station} - Copy" msgstr "" -#: vue/components/Account/EditForm.vue:74 +#: src/components/Account/EditForm.vue:74 msgid "12 Hour" msgstr "" -#: vue/components/Account/EditForm.vue:78 +#: src/components/Account/EditForm.vue:78 msgid "24 Hour" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:343 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:343 msgid "A completely random track is picked for playback every time the queue is populated." msgstr "" -#: vue/components/Stations/HlsStreams/Form/BasicInfo.vue:16 +#: src/components/Stations/HlsStreams/Form/BasicInfo.vue:15 msgid "A name for this stream that will be used internally in code. Should only contain letters, numbers, and underscores (i.e. \"stream_lofi\")." msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:297 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:297 msgid "A playlist containing media files hosted on this server." msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:302 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:302 msgid "A playlist that instructs the station to play from a remote URL." msgstr "" -#: vue/components/Stations/Webhooks/Form/GoogleAnalyticsV4.vue:20 +#: src/components/Stations/Webhooks/Form/GoogleAnalyticsV4.vue:20 msgid "A unique identifier (i.e. \"G-A1B2C3D4\") for this measurement stream." msgstr "" -#: vue/components/Admin/Relays.vue:11 +#: src/components/Admin/Relays.vue:11 msgid "About AzuraRelay" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:79 +#: src/components/Admin/Stations/Form/BackendForm.vue:79 msgid "About Master_me" msgstr "" -#: vue/components/Admin/Updates.vue:64 +#: src/components/Admin/Updates.vue:60 +#: src/components/Admin/Updates.vue:64 #: /var/azuracast/www/src/Notification/Check/UpdateCheck.php:100 msgid "About Release Channels" msgstr "" -#: vue/components/Admin/StorageLocations/Form/Dropbox.vue:66 +#: src/components/Admin/StorageLocations/Form/Dropbox.vue:66 msgid "Access Code" msgstr "" -#: vue/components/Admin/StorageLocations/Form/S3.vue:11 +#: src/components/Admin/StorageLocations/Form/S3.vue:11 msgid "Access Key ID" msgstr "" -#: vue/components/Stations/Webhooks/Form/Mastodon.vue:50 -#: vue/components/Stations/Webhooks/Form/Twitter.vue:60 +#: src/components/Stations/Webhooks/Form/Mastodon.vue:50 msgid "Access Token" msgstr "" -#: vue/components/Stations/Webhooks/Form/Twitter.vue:67 -msgid "Access Token Secret" -msgstr "" - -#: vue/components/Dashboard.vue:9 +#: src/components/Dashboard.vue:9 msgid "Account Details" msgstr "" -#: vue/components/Stations/Streamers/Form/BasicInfo.vue:48 +#: src/components/Stations/Streamers/Form/BasicInfo.vue:47 msgid "Account is Active" msgstr "" -#: vue/components/Stations/Streamers.vue:32 +#: src/components/Stations/Streamers.vue:32 msgid "Account List" msgstr "" -#: vue/components/Account.vue:287 -#: vue/components/Admin/ApiKeys.vue:59 -#: vue/components/Admin/AuditLog.vue:128 -#: vue/components/Admin/Backups.vue:225 -#: vue/components/Admin/CustomFields.vue:103 -#: vue/components/Admin/Debug.vue:231 -#: vue/components/Admin/Permissions.vue:115 -#: vue/components/Admin/Stations.vue:140 -#: vue/components/Admin/StorageLocations.vue:137 -#: vue/components/Admin/Users.vue:112 -#: vue/components/Public/Requests.vue:123 -#: vue/components/Stations/HlsStreams.vue:91 -#: vue/components/Stations/Media.vue:357 -#: vue/components/Stations/Mounts.vue:109 -#: vue/components/Stations/Playlists.vue:343 -#: vue/components/Stations/Playlists/ReorderModal.vue:33 -#: vue/components/Stations/Podcasts/EpisodesView.vue:151 -#: vue/components/Stations/Podcasts/ListView.vue:136 -#: vue/components/Stations/Queue.vue:94 -#: vue/components/Stations/Remotes.vue:101 -#: vue/components/Stations/Reports/Requests.vue:123 -#: vue/components/Stations/SftpUsers.vue:108 -#: vue/components/Stations/Streamers.vue:161 -#: vue/components/Stations/Streamers/BroadcastsModal.vue:129 -#: vue/components/Stations/Webhooks.vue:131 +#: src/components/Account.vue:289 +#: src/components/Admin/ApiKeys.vue:59 +#: src/components/Admin/AuditLog.vue:128 +#: src/components/Admin/Backups.vue:226 +#: src/components/Admin/CustomFields.vue:97 +#: src/components/Admin/Debug.vue:297 +#: src/components/Admin/Permissions.vue:108 +#: src/components/Admin/Stations.vue:134 +#: src/components/Admin/StorageLocations.vue:131 +#: src/components/Admin/Users.vue:105 +#: src/components/Public/Requests.vue:123 +#: src/components/Stations/HlsStreams.vue:85 +#: src/components/Stations/Media.vue:359 +#: src/components/Stations/Mounts.vue:103 +#: src/components/Stations/Playlists.vue:344 +#: src/components/Stations/Playlists/ReorderModal.vue:33 +#: src/components/Stations/Podcasts/EpisodesView.vue:148 +#: src/components/Stations/Podcasts/ListView.vue:131 +#: src/components/Stations/Queue.vue:95 +#: src/components/Stations/Remotes.vue:95 +#: src/components/Stations/Reports/Requests.vue:125 +#: src/components/Stations/SftpUsers.vue:102 +#: src/components/Stations/Streamers.vue:157 +#: src/components/Stations/Streamers/BroadcastsModal.vue:133 +#: src/components/Stations/Webhooks.vue:134 msgid "Actions" msgstr "" -#: vue/components/Admin/StorageLocations.vue:134 +#: src/components/Admin/StorageLocations.vue:128 msgid "Adapter" msgstr "" -#: vue/components/Account.vue:152 -#: vue/components/Account/ApiKeyModal.vue:7 +#: src/components/Account.vue:152 +#: src/components/Account/ApiKeyModal.vue:7 msgid "Add API Key" msgstr "" -#: vue/components/Admin/CustomFields.vue:18 -#: vue/components/Admin/CustomFields/EditModal.vue:69 +#: src/components/Admin/CustomFields.vue:12 +#: src/components/Admin/CustomFields/EditModal.vue:69 msgid "Add Custom Field" msgstr "" -#: vue/components/Stations/Podcasts/EpisodeEditModal.vue:148 -#: vue/components/Stations/Podcasts/EpisodesView.vue:50 +#: src/components/Stations/Podcasts/EpisodeEditModal.vue:146 +#: src/components/Stations/Podcasts/EpisodesView.vue:44 msgid "Add Episode" msgstr "" -#: vue/components/Public/WebDJ/PlaylistPanel.vue:103 -#: vue/components/Public/WebDJ/PlaylistPanel.vue:110 +#: src/components/Public/WebDJ/PlaylistPanel.vue:103 +#: src/components/Public/WebDJ/PlaylistPanel.vue:110 msgid "Add Files to Playlist" msgstr "" -#: vue/components/Stations/HlsStreams.vue:18 -#: vue/components/Stations/HlsStreams/EditModal.vue:70 +#: src/components/Stations/HlsStreams.vue:12 +#: src/components/Stations/HlsStreams/EditModal.vue:68 msgid "Add HLS Stream" msgstr "" -#: vue/components/Stations/Mounts.vue:18 -#: vue/components/Stations/Mounts/EditModal.vue:121 +#: src/components/Stations/Mounts.vue:12 +#: src/components/Stations/Mounts/EditModal.vue:119 msgid "Add Mount Point" msgstr "" -#: vue/components/Stations/Help.vue:67 +#: src/components/Stations/Logs.vue:67 msgid "Add New GitHub Issue" msgstr "" -#: vue/components/Stations/Playlists.vue:39 -#: vue/components/Stations/Playlists/EditModal.vue:82 +#: src/components/Stations/Playlists.vue:35 +#: src/components/Stations/Playlists/EditModal.vue:80 msgid "Add Playlist" msgstr "" -#: vue/components/Stations/Podcasts/ListView.vue:30 -#: vue/components/Stations/Podcasts/PodcastEditModal.vue:103 +#: src/components/Stations/Podcasts/ListView.vue:24 +#: src/components/Stations/Podcasts/PodcastEditModal.vue:101 msgid "Add Podcast" msgstr "" -#: vue/components/Stations/Remotes.vue:18 -#: vue/components/Stations/Remotes/EditModal.vue:73 +#: src/components/Stations/Remotes.vue:12 +#: src/components/Stations/Remotes/EditModal.vue:71 msgid "Add Remote Relay" msgstr "" -#: vue/components/Admin/Permissions.vue:18 -#: vue/components/Admin/Permissions/EditModal.vue:127 +#: src/components/Admin/Permissions.vue:12 +#: src/components/Admin/Permissions/EditModal.vue:125 msgid "Add Role" msgstr "" -#: vue/components/Stations/Playlists/Form/Schedule.vue:33 -#: vue/components/Stations/Streamers/Form/Schedule.vue:31 +#: src/components/Stations/Playlists/Form/Schedule.vue:33 +#: src/components/Stations/Streamers/Form/Schedule.vue:31 msgid "Add Schedule Item" msgstr "" -#: vue/components/Stations/SftpUsers.vue:16 -#: vue/components/Stations/SftpUsers/EditModal.vue:57 +#: src/components/Stations/SftpUsers.vue:10 +#: src/components/Stations/SftpUsers/EditModal.vue:57 msgid "Add SFTP User" msgstr "" -#: vue/components/Admin/Permissions/Form/StationForm.vue:18 -#: vue/components/Admin/Stations.vue:11 -#: vue/components/Admin/Stations/EditModal.vue:78 +#: src/components/Admin/Permissions/Form/StationForm.vue:18 +#: src/components/Admin/Stations.vue:5 +#: src/components/Admin/Stations/EditModal.vue:79 msgid "Add Station" msgstr "" -#: vue/components/Admin/StorageLocations.vue:38 -#: vue/components/Admin/StorageLocations/EditModal.vue:110 +#: src/components/Admin/StorageLocations.vue:32 +#: src/components/Admin/StorageLocations/EditModal.vue:109 msgid "Add Storage Location" msgstr "" -#: vue/components/Stations/Streamers.vue:42 -#: vue/components/Stations/Streamers/EditModal.vue:98 +#: src/components/Stations/Streamers.vue:36 +#: src/components/Stations/Streamers/EditModal.vue:96 msgid "Add Streamer" msgstr "" -#: vue/components/Admin/Users.vue:11 -#: vue/components/Admin/Users/EditModal.vue:73 +#: src/components/Admin/Users.vue:5 +#: src/components/Admin/Users/EditModal.vue:73 msgid "Add User" msgstr "" -#: vue/components/Stations/Webhooks.vue:18 -#: vue/components/Stations/Webhooks/EditModal.vue:175 +#: src/components/Stations/Webhooks.vue:12 +#: src/components/Stations/Webhooks/EditModal.vue:161 msgid "Add Web Hook" msgstr "" -#: vue/components/Admin/Index.vue:4 -#: vue/components/Admin/Sidebar.vue:4 -#: vue/components/Admin/Stations/Form/AdminForm.vue:3 -#: vue/components/Dashboard.vue:45 -#: vue/components/Stations/Profile/FrontendPanel.vue:30 +#: src/components/Admin/Index.vue:4 +#: src/components/Admin/Sidebar.vue:4 +#: src/components/Admin/Stations/Form/AdminForm.vue:3 +#: src/components/Dashboard.vue:45 +#: src/components/Stations/Profile/FrontendPanel.vue:30 #: /var/azuracast/www/src/Controller/Admin/IndexAction.php:23 #: /var/azuracast/www/src/Notification/Check/ServiceCheck.php:42 msgid "Administration" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:171 -#: vue/components/Admin/Stations/Form/FrontendForm.vue:142 -#: vue/components/Admin/Stations/Form/FrontendForm.vue:61 -#: vue/components/Form/FormLabel.vue:13 -#: vue/components/Stations/Media/EditModal.vue:47 -#: vue/components/Stations/Mounts/Form/Advanced.vue:3 -#: vue/components/Stations/Playlists/Form/Advanced.vue:3 -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:329 +#: src/components/Admin/Stations/Form/BackendForm.vue:171 +#: src/components/Admin/Stations/Form/FrontendForm.vue:142 +#: src/components/Admin/Stations/Form/FrontendForm.vue:61 +#: src/components/Form/FormLabel.vue:13 +#: src/components/Stations/Media/EditModal.vue:40 +#: src/components/Stations/Mounts/Form/Advanced.vue:3 +#: src/components/Stations/Playlists/Form/Advanced.vue:3 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:329 msgid "Advanced" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:169 -#: vue/components/Admin/Stations/Form/FrontendForm.vue:59 +#: src/components/Admin/Stations/Form/BackendForm.vue:169 +#: src/components/Admin/Stations/Form/FrontendForm.vue:59 msgid "Advanced Configuration" msgstr "" -#: vue/components/Stations/Playlists/Form/Advanced.vue:13 +#: src/components/Stations/Playlists/Form/Advanced.vue:13 msgid "Advanced Manual AutoDJ Scheduling Options" msgstr "" -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:20 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:20 msgid "Aggregate listener statistics are used to show station reports across the system. IP-based listener statistics are used to view live listener tracking and may be required for royalty reports." msgstr "" -#: vue/components/Public/OnDemand.vue:132 -#: vue/components/Public/Requests.vue:95 -#: vue/components/Stations/Media.vue:316 -#: vue/components/Stations/Playlists/ReorderModal.vue:30 +#: src/components/Public/OnDemand.vue:133 +#: src/components/Public/Requests.vue:95 +#: src/components/Stations/Media.vue:318 +#: src/components/Stations/Playlists/ReorderModal.vue:30 #: /var/azuracast/www/src/Media/Enums/MetadataTags.php:80 msgid "Album" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:208 -#: vue/components/Stations/Media/EditModal.vue:28 +#: src/components/Admin/Settings/ServicesTab.vue:208 +#: src/components/Stations/Media/EditModal.vue:21 msgid "Album Art" msgstr "" -#: vue/components/Admin/Debug/TaskOutput.vue:99 +#: src/components/Admin/Debug/TaskOutput.vue:96 msgid "Alert" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:57 +#: src/components/Stations/Reports/Overview/ListenersByTimePeriodTab.vue:174 +msgid "All Days" +msgstr "" + +#: src/components/Admin/Settings/ServicesTab.vue:57 msgid "All listed domain names should point to this AzuraCast installation. Separate multiple domain names with commas." msgstr "" -#: vue/components/Stations/Playlists.vue:29 +#: src/components/Stations/Playlists.vue:30 msgid "All Playlists" msgstr "" -#: vue/components/Stations/Podcasts/EpisodesView.vue:40 +#: src/components/Stations/Podcasts/EpisodesView.vue:40 msgid "All Podcasts" msgstr "" -#: vue/components/Stations/Webhooks/Form/Common/FormattingInfo.vue:14 +#: src/components/Stations/Webhooks/Form/Common/FormattingInfo.vue:14 msgid "All values in the NowPlaying API response are available for use. Any empty fields are ignored." msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:66 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:65 msgid "Allow Requests from This Playlist" msgstr "" -#: vue/components/Admin/Stations/Form/RequestsForm.vue:21 +#: src/components/Admin/Stations/Form/RequestsForm.vue:21 msgid "Allow Song Requests" msgstr "" -#: vue/components/Admin/Stations/Form/StreamersForm.vue:16 +#: src/components/Admin/Stations/Form/StreamersForm.vue:16 msgid "Allow Streamers / DJs" msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:101 +#: src/components/Admin/Stations/Form/FrontendForm.vue:101 msgid "Allowed IP Addresses" msgstr "" -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:35 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:35 msgid "Always Use HTTPS" msgstr "" -#: vue/components/Stations/Media/Form/AdvancedSettings.vue:16 +#: src/components/Stations/Media/Form/AdvancedSettings.vue:16 msgid "Amplify: Amplification (dB)" msgstr "" -#: vue/functions/useNotify.js:50 -#: vue/vendor/axios.ts:30 +#: src/functions/useNotify.ts:49 +#: src/vendor/axios.ts:37 msgid "An error occurred and your request could not be completed." msgstr "" -#: vue/components/Stations/ProfileEdit.vue:18 +#: src/components/Stations/ProfileEdit.vue:18 msgid "An error occurred while loading the station profile:" msgstr "" -#: vue/components/Public/WebDJ/useWebcaster.js:83 +#: src/components/Public/WebDJ/useWebcaster.ts:77 msgid "An error occurred with the WebDJ socket." msgstr "" -#: vue/components/Stations/Webhooks/Form/TypeSelect.vue:34 +#: src/components/Stations/Webhooks/Form/TypeSelect.vue:35 msgid "Analytics" msgstr "" -#: vue/components/Stations/Media/MediaToolbar.vue:153 +#: src/components/Stations/Media/MediaToolbar.vue:153 msgid "Analyze and reprocess the selected media" msgstr "" -#: vue/components/Entity/Webhooks.js:54 +#: src/components/Admin/StereoTool.vue:76 +msgid "Any of the following file types are accepted:" +msgstr "" + +#: src/entities/Webhooks.ts:56 msgid "Any time a live streamer/DJ connects to the stream" msgstr "" -#: vue/components/Entity/Webhooks.js:58 -#: vue/components/Entity/Webhooks.js:62 +#: src/entities/Webhooks.ts:60 msgid "Any time a live streamer/DJ disconnects from the stream" msgstr "" -#: vue/components/Entity/Webhooks.js:38 +#: src/entities/Webhooks.ts:40 msgid "Any time the currently playing song changes" msgstr "" -#: vue/components/Entity/Webhooks.js:50 +#: src/entities/Webhooks.ts:52 msgid "Any time the listener count decreases" msgstr "" -#: vue/components/Entity/Webhooks.js:46 +#: src/entities/Webhooks.ts:48 msgid "Any time the listener count increases" msgstr "" -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:61 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:61 msgid "API \"Access-Control-Allow-Origin\" Header" msgstr "" -#: vue/components/Account.vue:138 +#: src/components/Account.vue:138 msgid "API Documentation" msgstr "" -#: vue/components/Account.vue:282 -#: vue/components/Account/ApiKeyModal.vue:28 -#: vue/components/Admin/ApiKeys.vue:49 +#: src/components/Account.vue:284 +#: src/components/Account/ApiKeyModal.vue:28 +#: src/components/Admin/ApiKeys.vue:49 msgid "API Key Description/Comments" msgstr "" -#: vue/components/Account.vue:130 -#: vue/components/Admin/ApiKeys.vue:2 -#: vue/components/Admin/menu.ts:103 +#: src/components/Account.vue:130 +#: src/components/Admin/ApiKeys.vue:2 +#: src/components/Admin/menu.ts:105 msgid "API Keys" msgstr "" -#: vue/components/Admin/StorageLocations/Form/S3.vue:46 +#: src/components/Stations/Webhooks/Form/GetMeRadio.vue:11 +msgid "API Token" +msgstr "" + +#: src/components/Admin/StorageLocations/Form/S3.vue:46 msgid "API Version" msgstr "" -#: vue/components/Admin/StorageLocations/Form/Dropbox.vue:35 +#: src/components/Admin/StorageLocations/Form/Dropbox.vue:35 msgid "App Key" msgstr "" -#: vue/components/Admin/StorageLocations/Form/Dropbox.vue:42 +#: src/components/Admin/StorageLocations/Form/Dropbox.vue:42 msgid "App Secret" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:465 +#: src/components/Admin/Stations/Form/BackendForm.vue:459 msgid "Apple Podcasts" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:239 +#: src/components/Admin/Settings/ServicesTab.vue:239 msgid "Apply for an API key at Last.fm" msgstr "" -#: vue/components/Stations/Playlists/ApplyToModal.vue:8 +#: src/components/Stations/Playlists/ApplyToModal.vue:8 msgid "Apply Playlist to Folders" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:70 +#: src/components/Admin/Stations/Form/BackendForm.vue:70 msgid "Apply Post-processing to Live Streams" msgstr "" -#: vue/components/Stations/Playlists.vue:147 -#: vue/components/Stations/Playlists.vue:148 -#: vue/components/Stations/Playlists.vue:155 -#: vue/components/Stations/Playlists.vue:159 -#: vue/components/Stations/Playlists.vue:163 -#: vue/components/Stations/Playlists.vue:199 -#: vue/components/Stations/Playlists.vue:232 -#: vue/components/Stations/Playlists/ApplyToModal.vue:30 -#: vue/components/Stations/Playlists/ApplyToModal.vue:31 -#: vue/components/Stations/Playlists/ApplyToModal.vue:48 -#: vue/components/Stations/Playlists/ApplyToModal.vue:52 +#: src/components/Stations/Playlists.vue:142 +#: src/components/Stations/Playlists.vue:143 +#: src/components/Stations/Playlists.vue:150 +#: src/components/Stations/Playlists.vue:153 +#: src/components/Stations/Playlists.vue:156 +#: src/components/Stations/Playlists.vue:159 +#: src/components/Stations/Playlists.vue:195 +#: src/components/Stations/Playlists.vue:228 +#: src/components/Stations/Playlists/ApplyToModal.vue:30 +#: src/components/Stations/Playlists/ApplyToModal.vue:31 +#: src/components/Stations/Playlists/ApplyToModal.vue:49 +#: src/components/Stations/Playlists/ApplyToModal.vue:53 msgid "Apply to Folders" msgstr "" -#: vue/components/Stations/Profile.vue:163 -#: vue/components/Stations/Restart.vue:135 +#: src/components/Stations/Profile/EnabledProfile.vue:159 +#: src/components/Stations/Restart.vue:135 msgid "Are you sure?" msgstr "" -#: vue/components/Public/OnDemand.vue:115 -#: vue/components/Stations/Podcasts/EpisodesView.vue:147 -#: vue/components/Stations/Podcasts/ListView.vue:126 -#: vue/components/Stations/Streamers.vue:157 +#: src/components/Public/OnDemand.vue:116 +#: src/components/Stations/Podcasts/EpisodesView.vue:144 +#: src/components/Stations/Podcasts/ListView.vue:121 +#: src/components/Stations/Streamers.vue:153 msgid "Art" msgstr "" -#: vue/components/Public/OnDemand.vue:125 -#: vue/components/Public/Requests.vue:87 -#: vue/components/Public/WebDJ/SettingsPanel.vue:30 -#: vue/components/Stations/Media.vue:311 -#: vue/components/Stations/Playlists/QueueModal.vue:22 -#: vue/components/Stations/Playlists/ReorderModal.vue:27 +#: src/components/Public/OnDemand.vue:126 +#: src/components/Public/Requests.vue:87 +#: src/components/Public/WebDJ/SettingsPanel.vue:30 +#: src/components/Stations/Media.vue:313 +#: src/components/Stations/Playlists/QueueModal.vue:23 +#: src/components/Stations/Playlists/ReorderModal.vue:27 #: /var/azuracast/www/src/Media/Enums/MetadataTags.php:84 msgid "Artist" msgstr "" -#: vue/components/Stations/Podcasts/Common/Artwork.vue:2 -#: vue/components/Stations/Podcasts/Common/Artwork.vue:29 -#: vue/components/Stations/Streamers/Form/Artwork.vue:2 -#: vue/components/Stations/Streamers/Form/Artwork.vue:29 +#: src/components/Stations/Podcasts/Common/Artwork.vue:2 +#: src/components/Stations/Podcasts/Common/Artwork.vue:29 +#: src/components/Stations/Streamers/Form/Artwork.vue:2 +#: src/components/Stations/Streamers/Form/Artwork.vue:29 msgid "Artwork" msgstr "" -#: vue/components/Stations/Podcasts/Common/Artwork.vue:11 +#: src/components/Stations/Podcasts/Common/Artwork.vue:11 msgid "Artwork must be a minimum size of 1400 x 1400 pixels and a maximum size of 3000 x 3000 pixels for Apple Podcasts." msgstr "" -#: vue/components/Stations/Webhooks/Form/Twitter.vue:31 -msgid "At the bottom of the page, click \"Create my access token\"." -msgstr "" - -#: vue/components/Stations/Reports/SoundExchange.vue:92 +#: src/components/Stations/Reports/SoundExchange.vue:88 msgid "Attempt to Automatically Retrieve ISRC When Missing" msgstr "" -#: vue/components/Stations/HlsStreams/Form/BasicInfo.vue:38 +#: src/components/Stations/HlsStreams/Form/BasicInfo.vue:37 msgid "Audio Bitrate (kbps)" msgstr "" -#: vue/components/Stations/HlsStreams/Form/BasicInfo.vue:28 +#: src/components/Stations/HlsStreams/Form/BasicInfo.vue:27 msgid "Audio Format" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:45 +#: src/components/Admin/Stations/Form/BackendForm.vue:45 msgid "Audio Post-processing" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:61 +#: src/components/Admin/Stations/Form/BackendForm.vue:61 msgid "Audio Post-processing Method" msgstr "" -#: vue/components/Admin/Index/CpuStatsHelpModal.vue:29 +#: src/components/Admin/Index/CpuStatsHelpModal.vue:29 msgid "Audio transcoding applications like Liquidsoap use a consistent amount of CPU over time, which gradually drains this available credit. If you regularly see stolen CPU time, you should consider migrating to a VM that has CPU resources dedicated to your instance." msgstr "" -#: vue/components/Admin/AuditLog.vue:6 -#: vue/components/Admin/menu.ts:95 +#: src/components/Admin/AuditLog.vue:6 +#: src/components/Admin/menu.ts:97 msgid "Audit Log" msgstr "" -#: vue/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:45 -#: vue/components/Stations/Webhooks/Form/Discord.vue:55 +#: src/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:44 +#: src/components/Stations/Webhooks/Form/Discord.vue:55 msgid "Author" msgstr "" -#: vue/components/Admin/CustomFields.vue:95 +#: src/components/Admin/CustomFields.vue:89 msgid "Auto-Assign Value" msgstr "" -#: vue/components/Stations/Playlists.vue:110 +#: src/components/Stations/Playlists.vue:106 msgid "Auto-Assigned" msgstr "" -#: vue/components/Admin/Stations.vue:132 -#: vue/components/Admin/Stations/Form/BackendForm.vue:3 -#: vue/components/Stations/Mounts.vue:108 -#: vue/components/Stations/Mounts/Form/AutoDj.vue:3 -#: vue/components/Stations/Remotes.vue:100 -#: vue/components/Stations/Remotes/Form/AutoDj.vue:3 +#: src/components/Admin/Stations.vue:126 +#: src/components/Admin/Stations/Form/BackendForm.vue:3 +#: src/components/Stations/Mounts.vue:102 +#: src/components/Stations/Mounts/Form/AutoDj.vue:3 +#: src/components/Stations/Remotes.vue:94 +#: src/components/Stations/Remotes/Form/AutoDj.vue:3 msgid "AutoDJ" msgstr "" -#: vue/components/Stations/Mounts/Form/AutoDj.vue:38 -#: vue/components/Stations/Remotes/Form/AutoDj.vue:38 +#: src/components/Stations/Mounts/Form/AutoDj.vue:38 +#: src/components/Stations/Remotes/Form/AutoDj.vue:38 msgid "AutoDJ Bitrate (kbps)" msgstr "" -#: vue/components/Stations/Profile/BackendNonePanel.vue:5 +#: src/components/Stations/Profile/BackendNonePanel.vue:5 msgid "AutoDJ Disabled" msgstr "" -#: vue/components/Stations/Mounts/Form/AutoDj.vue:27 -#: vue/components/Stations/Remotes/Form/AutoDj.vue:27 +#: src/components/Stations/Mounts/Form/AutoDj.vue:27 +#: src/components/Stations/Remotes/Form/AutoDj.vue:27 msgid "AutoDJ Format" msgstr "" -#: vue/components/Stations/Profile/BackendNonePanel.vue:10 +#: src/components/Stations/Profile/BackendNonePanel.vue:10 msgid "AutoDJ has been disabled for this station. No music will automatically be played when a source is not live." msgstr "" -#: vue/components/Admin/Debug.vue:137 +#: src/components/Admin/Debug.vue:186 msgid "AutoDJ Queue" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:213 +#: src/components/Admin/Stations/Form/BackendForm.vue:213 msgid "AutoDJ Queue Length" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:14 -#: vue/components/Stations/Profile/BackendPanel.vue:8 +#: src/components/Admin/Stations/Form/BackendForm.vue:14 +#: src/components/Stations/Profile/BackendPanel.vue:8 msgid "AutoDJ Service" msgstr "" -#: vue/components/Admin/Backups.vue:11 +#: src/components/Admin/Backups.vue:11 msgid "Automatic Backups" msgstr "" -#: vue/components/Entity/Webhooks.js:116 +#: src/entities/Webhooks.ts:120 msgid "Automatically publish to a Mastodon instance." msgstr "" -#: vue/components/Common/StreamingLogView.vue:11 +#: src/components/Common/StreamingLogView.vue:6 msgid "Automatically Scroll to Bottom" msgstr "" -#: vue/components/Entity/Webhooks.js:104 +#: src/entities/Webhooks.ts:112 msgid "Automatically send a customized message to your Discord server." msgstr "" -#: vue/components/Entity/Webhooks.js:92 +#: src/entities/Webhooks.ts:92 msgid "Automatically send a message to any URL when your station data changes." msgstr "" -#: vue/components/Entity/Webhooks.js:112 -msgid "Automatically send a tweet." -msgstr "" - -#: vue/components/Admin/CustomFields/Form.vue:28 +#: src/components/Admin/CustomFields/Form.vue:28 msgid "Automatically Set from ID3v2 Value" msgstr "" -#: vue/components/Stations/Help.vue:11 +#: src/components/Stations/Logs.vue:11 msgid "Available Logs" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:183 -#: vue/components/Admin/Settings/ServicesTab.vue:194 +#: src/components/Admin/Settings/ServicesTab.vue:183 +#: src/components/Admin/Settings/ServicesTab.vue:194 msgid "Avatar Service" msgstr "" -#: vue/components/Common/Avatar.vue:44 +#: src/components/Common/Avatar.vue:44 msgid "Avatars are retrieved based on your e-mail address from the %{ service } service. Click to manage your %{ service } settings." msgstr "" -#: vue/components/DashboardCharts.vue:10 +#: src/components/DashboardCharts.vue:6 +#: src/components/Stations/Reports/Overview/ListenersByTimePeriodTab.vue:12 msgid "Average Listeners" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:50 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:49 msgid "Avoid Duplicate Artists/Titles" msgstr "" -#: vue/components/Setup/Register.vue:12 +#: src/components/Setup/Register.vue:12 msgid "AzuraCast First-Time Setup" msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:21 +#: src/components/Admin/Settings/GeneralTab.vue:21 msgid "AzuraCast Instance Name" msgstr "" -#: vue/components/Admin/GeoLite.vue:21 +#: src/components/Admin/GeoLite.vue:21 msgid "AzuraCast ships with a built-in free IP geolocation database. You may prefer to use the MaxMind GeoLite service instead to achieve more accurate results. Using MaxMind GeoLite requires a license key, but once the key is provided, we will automatically keep the database updated." msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:8 +#: src/components/Admin/Settings/ServicesTab.vue:8 msgid "AzuraCast Update Checks" msgstr "" -#: vue/components/Account.vue:34 -#: vue/components/Dashboard.vue:379 +#: src/components/Account.vue:34 +#: src/components/Dashboard.vue:381 msgid "AzuraCast User" msgstr "" -#: vue/components/Admin/Permissions.vue:6 +#: src/components/Admin/Permissions.vue:6 msgid "AzuraCast uses a role-based access control system. Roles are given permissions to certain sections of the site, then users are assigned into those roles." msgstr "" -#: vue/components/Stations/Streamers/ConnectionInfo.vue:82 +#: src/components/Stations/Streamers/ConnectionInfo.vue:82 msgid "AzuraCast Wiki" msgstr "" -#: vue/components/Stations/Playlists/ImportModal.vue:67 +#: src/components/Stations/Playlists/ImportModal.vue:67 msgid "AzuraCast will scan the uploaded file for matches in this station's music library. Media should already be uploaded before running this step. You can re-run this tool as many times as needed." msgstr "" -#: vue/components/Admin/Relays.vue:6 +#: src/components/Admin/Relays.vue:6 msgid "AzuraRelay is a standalone service that connects to your AzuraCast instance, automatically relays your stations via its own server, then reports the listener details back to your main instance. This page shows all currently connected instances." msgstr "" -#: vue/components/Stations/Media/MoveFilesModal.vue:19 -#: /var/azuracast/www/templates/frontend/public/podcast-episodes.phtml:41 -#: /var/azuracast/www/templates/frontend/public/podcast-episode.phtml:87 +#: src/components/Stations/Media/MoveFilesModal.vue:20 +#: /var/azuracast/www/templates/frontend/public/podcast-episodes.phtml:40 +#: /var/azuracast/www/templates/frontend/public/podcast-episode.phtml:86 msgid "Back" msgstr "" -#: vue/components/Admin/Updates.vue:85 +#: src/components/Admin/Updates.vue:85 msgid "Backing up your installation is strongly recommended before any update." msgstr "" -#: vue/components/Admin/Updates.vue:110 +#: src/components/Admin/Updates.vue:110 msgid "Backup" msgstr "" -#: vue/components/Admin/Backups/ConfigureModal.vue:75 +#: src/components/Admin/Backups/ConfigureModal.vue:75 msgid "Backup Format" msgstr "" -#: vue/components/Admin/Backups.vue:3 -#: vue/components/Admin/Backups.vue:90 -#: vue/components/Admin/menu.ts:48 -#: vue/components/Admin/StorageLocations.vue:155 +#: src/components/Admin/Backups.vue:3 +#: src/components/Admin/Backups.vue:90 +#: src/components/Admin/menu.ts:50 +#: src/components/Admin/StorageLocations.vue:149 #: /var/azuracast/www/src/Notification/Check/RecentBackupCheck.php:52 msgid "Backups" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:482 +#: src/components/Admin/Stations/Form/BackendForm.vue:476 msgid "Balanced" msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:121 +#: src/components/Admin/Stations/Form/FrontendForm.vue:121 msgid "Banned Countries" msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:92 +#: src/components/Admin/Stations/Form/FrontendForm.vue:92 msgid "Banned IP Addresses" msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:110 +#: src/components/Admin/Stations/Form/FrontendForm.vue:110 msgid "Banned User Agents" msgstr "" -#: vue/components/Admin/Stations/Form/AdminForm.vue:21 +#: src/components/Admin/Stations/Form/AdminForm.vue:21 msgid "Base Station Directory" msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:33 +#: src/components/Admin/Branding/BrandingForm.vue:33 msgid "Base Theme for Public Pages" msgstr "" -#: vue/components/Admin/StorageLocations/Form.vue:3 -#: vue/components/Stations/HlsStreams/Form/BasicInfo.vue:3 -#: vue/components/Stations/Mounts/Form/BasicInfo.vue:3 -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:3 -#: vue/components/Stations/Remotes/Form/BasicInfo.vue:3 -#: vue/components/Stations/Streamers/Form/BasicInfo.vue:3 -#: vue/components/Stations/Webhooks/Form/BasicInfo.vue:3 +#: src/components/Admin/StorageLocations/Form.vue:3 +#: src/components/Stations/HlsStreams/Form/BasicInfo.vue:3 +#: src/components/Stations/Mounts/Form/BasicInfo.vue:3 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:3 +#: src/components/Stations/Remotes/Form/BasicInfo.vue:3 +#: src/components/Stations/Streamers/Form/BasicInfo.vue:3 +#: src/components/Stations/Webhooks/Form/BasicInfo.vue:3 msgid "Basic Info" msgstr "" -#: vue/components/Stations/Media/EditModal.vue:17 -#: vue/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:3 -#: vue/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:3 +#: src/components/Stations/Media/EditModal.vue:12 +#: src/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:3 +#: src/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:3 msgid "Basic Information" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:422 +#: src/components/Admin/Stations/Form/BackendForm.vue:416 msgid "Basic Normalization and Compression" msgstr "" -#: vue/components/Stations/Reports/Overview.vue:27 +#: src/components/Stations/Reports/Overview.vue:23 msgid "Best & Worst" msgstr "" -#: vue/components/Stations/Reports/Overview/BestAndWorstTab.vue:10 +#: src/components/Stations/Reports/Overview/BestAndWorstTab.vue:10 msgid "Best Performing Songs" msgstr "" -#: vue/components/Public/WebDJ/SettingsPanel.vue:155 +#: src/components/Public/WebDJ/SettingsPanel.vue:155 msgid "Bit Rate" msgstr "" -#: vue/components/Stations/HlsStreams.vue:90 +#: src/components/Stations/HlsStreams.vue:84 msgid "Bitrate" msgstr "" -#: vue/components/Stations/Webhooks/Form/Telegram.vue:11 +#: src/components/Stations/Webhooks/Form/Telegram.vue:11 msgid "Bot Token" msgstr "" -#: vue/components/Stations/menu.ts:38 +#: src/components/Stations/menu.ts:51 msgid "Branding" msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:12 -#: vue/components/Stations/Branding/BrandingForm.vue:12 +#: src/components/Admin/Branding/BrandingForm.vue:12 +#: src/components/Stations/Branding/BrandingForm.vue:12 msgid "Branding Settings" msgstr "" -#: vue/components/Stations/Remotes/Form/AutoDj.vue:11 +#: src/components/Stations/Remotes/Form/AutoDj.vue:11 msgid "Broadcast AutoDJ to Remote Station" msgstr "" -#: vue/components/Admin/Stations.vue:124 -#: vue/components/Admin/Stations/Form/FrontendForm.vue:3 -#: vue/components/Stations/menu.ts:222 +#: src/components/Admin/Stations.vue:118 +#: src/components/Admin/Stations/Form/FrontendForm.vue:3 +#: src/components/Stations/menu.ts:235 msgid "Broadcasting" msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:14 -#: vue/components/Stations/Profile/FrontendPanel.vue:9 +#: src/components/Stations/Profile/FrontendPanel.vue:9 msgid "Broadcasting Service" msgstr "" -#: vue/components/Stations/Streamers.vue:54 -#: vue/components/Stations/Streamers.vue:57 -#: vue/components/Stations/Streamers.vue:61 -#: vue/components/Stations/Streamers.vue:65 -#: vue/components/Stations/Streamers.vue:73 -#: vue/components/Stations/Streamers.vue:77 +#: src/components/Stations/Streamers.vue:49 +#: src/components/Stations/Streamers.vue:52 +#: src/components/Stations/Streamers.vue:56 +#: src/components/Stations/Streamers.vue:59 +#: src/components/Stations/Streamers.vue:67 +#: src/components/Stations/Streamers.vue:71 msgid "Broadcasts" msgstr "" -#: vue/components/Stations/Reports/Overview/BrowsersTab.vue:6 +#: src/components/Stations/Reports/Overview/BrowsersTab.vue:6 msgid "Browser" msgstr "" -#: vue/components/Stations/Profile/EmbedModal.vue:149 +#: src/components/Stations/Profile/EmbedModal.vue:150 msgid "Browser Default" msgstr "" -#: vue/components/Admin/Branding.vue:28 +#: src/components/Admin/Branding.vue:28 msgid "Browser Icon" msgstr "" -#: vue/components/Stations/Reports/Overview.vue:67 +#: src/components/Stations/Reports/Overview.vue:63 msgid "Browsers" msgstr "" -#: vue/components/Admin/StorageLocations/Form/S3.vue:32 +#: src/components/Admin/StorageLocations/Form/S3.vue:25 msgid "Bucket Name" msgstr "" -#: vue/components/Stations/menu.ts:118 +#: src/components/Stations/menu.ts:131 msgid "Bulk Media Import/Export" msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:43 +#: src/components/Admin/Settings/GeneralTab.vue:43 msgid "By default, radio stations broadcast on their own ports (i.e. 8000). If you're using a service like CloudFlare or accessing your radio station by SSL, you should enable this feature, which routes all radio through the web ports (80 and 443)." msgstr "" -#: vue/components/Admin/Index.vue:100 -#: vue/components/Admin/Index/MemoryStatsHelpModal.vue:13 +#: src/components/Admin/Index/MemoryStatsHelpModal.vue:13 +#: src/components/Admin/Index/MemoryStatsPanel.vue:54 msgid "Cached" msgstr "" -#: vue/components/Common/DateRangeDropdown.vue:12 -#: vue/vendor/sweetalert.ts:10 +#: src/components/Common/DateRangeDropdown.vue:12 +#: src/vendor/sweetalert.ts:10 msgid "Cancel" msgstr "" -#: vue/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:64 +#: src/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:63 #: /var/azuracast/www/templates/frontend/public/podcasts.phtml:56 msgid "Categories" msgstr "" -#: vue/components/Stations/Reports/Overview/BestAndWorstTab.vue:21 -#: vue/components/Stations/Reports/Overview/BestAndWorstTab.vue:61 -#: vue/components/Stations/Reports/Timeline.vue:153 +#: src/components/Stations/Reports/Overview/BestAndWorstTab.vue:21 +#: src/components/Stations/Reports/Overview/BestAndWorstTab.vue:61 +#: src/components/Stations/Reports/Timeline.vue:154 msgid "Change" msgstr "" -#: vue/components/Account.vue:99 -#: vue/components/Account/ChangePasswordModal.vue:34 -#: vue/components/Account/ChangePasswordModal.vue:6 +#: src/components/Account.vue:99 +#: src/components/Account/ChangePasswordModal.vue:34 +#: src/components/Account/ChangePasswordModal.vue:6 msgid "Change Password" msgstr "" -#: vue/components/Admin/AuditLog.vue:72 -#: vue/components/Admin/AuditLog/DetailsModal.vue:5 +#: src/components/Admin/AuditLog.vue:71 +#: src/components/Admin/AuditLog/DetailsModal.vue:5 msgid "Changes" msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:226 -#: vue/components/Admin/Settings.vue:123 -#: vue/functions/useNotify.js:64 +#: src/components/Admin/Branding/BrandingForm.vue:224 +#: src/components/Admin/Settings.vue:119 +#: src/functions/useNotify.ts:63 msgid "Changes saved." msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:224 +#: src/components/Admin/Stations/Form/BackendForm.vue:224 msgid "Character Set Encoding" msgstr "" -#: vue/components/Stations/Webhooks/Form/Telegram.vue:27 +#: src/components/Stations/Webhooks/Form/Telegram.vue:27 msgid "Chat ID" msgstr "" -#: vue/components/Admin/Updates.vue:38 +#: src/components/Admin/Updates.vue:34 +#: src/components/Admin/Updates.vue:38 msgid "Check for Updates" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:71 +#: src/components/Admin/Stations/Form/BackendForm.vue:71 msgid "Check this box to apply post-processing to all audio, including live streams. Uncheck this box to only apply post-processing to the AutoDJ." msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:218 +#: src/components/Admin/Settings/ServicesTab.vue:218 msgid "Check Web Services for Album Art for \"Now Playing\" Tracks" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:226 +#: src/components/Admin/Settings/ServicesTab.vue:226 msgid "Check Web Services for Album Art When Uploading Media" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:29 +#: src/components/Admin/Stations/Form/BackendForm.vue:29 msgid "Choose a method to use when transitioning from one song to another. Smart Mode considers the volume of the two tracks when fading for a smoother effect, but requires more CPU resources." msgstr "" -#: vue/components/Stations/Webhooks/Form/BasicInfo.vue:13 +#: src/components/Stations/Webhooks/Form/BasicInfo.vue:12 msgid "Choose a name for this webhook that will help you distinguish it from others. This will only be shown on the administration page." msgstr "" -#: vue/components/Recover.vue:18 +#: src/components/Recover.vue:18 msgid "Choose a new password for your account." msgstr "" -#: vue/components/Stations/Media/MediaToolbar.vue:87 -#: vue/components/Stations/Media/MediaToolbar.vue:90 -#: vue/components/Stations/Queue.vue:135 -#: vue/components/Stations/Reports/Requests.vue:181 +#: src/components/Stations/Media/MediaToolbar.vue:87 +#: src/components/Stations/Media/MediaToolbar.vue:90 +#: src/components/Stations/Queue.vue:136 +#: src/components/Stations/Reports/Requests.vue:181 msgid "Clear" msgstr "" -#: vue/components/Stations/Playlists.vue:462 +#: src/components/Stations/Playlists.vue:456 msgid "Clear all media from playlist?" msgstr "" -#: vue/components/Admin/Debug.vue:32 -#: vue/components/Admin/Debug.vue:42 +#: src/components/Admin/Debug.vue:32 +#: src/components/Admin/Debug.vue:42 msgid "Clear All Message Queues" msgstr "" -#: vue/components/Stations/Reports/Requests.vue:180 +#: src/components/Stations/Reports/Requests.vue:180 msgid "Clear All Pending Requests?" msgstr "" -#: vue/components/Stations/Podcasts/Common/Artwork.vue:35 -#: vue/components/Stations/Streamers/Form/Artwork.vue:35 +#: src/components/Stations/Podcasts/Common/Artwork.vue:35 +#: src/components/Stations/Streamers/Form/Artwork.vue:35 msgid "Clear Artwork" msgstr "" -#: vue/components/Admin/Debug.vue:10 -#: vue/components/Admin/Debug.vue:20 +#: src/components/Admin/Debug.vue:10 +#: src/components/Admin/Debug.vue:20 msgid "Clear Cache" msgstr "" -#: vue/components/Stations/Fallback.vue:53 -#: vue/components/Stations/Fallback.vue:57 -#: vue/components/Stations/Mounts/Form/Intro.vue:38 -#: vue/components/Stations/Mounts/Form/Intro.vue:43 -#: vue/components/Stations/StereoToolConfig.vue:63 -#: vue/components/Stations/StereoToolConfig.vue:67 +#: src/components/Stations/Fallback.vue:53 +#: src/components/Stations/Fallback.vue:57 +#: src/components/Stations/Mounts/Form/Intro.vue:38 +#: src/components/Stations/Mounts/Form/Intro.vue:43 +#: src/components/Stations/StereoToolConfig.vue:63 +#: src/components/Stations/StereoToolConfig.vue:67 msgid "Clear File" msgstr "" -#: vue/components/Admin/Branding/CustomAssetForm.vue:18 -#: vue/components/Admin/Branding/CustomAssetForm.vue:19 -#: vue/components/Admin/Branding/CustomAssetForm.vue:27 -#: vue/components/Admin/Branding/CustomAssetForm.vue:30 +#: src/components/Admin/Branding/CustomAssetForm.vue:18 +#: src/components/Admin/Branding/CustomAssetForm.vue:19 +#: src/components/Admin/Branding/CustomAssetForm.vue:27 +#: src/components/Admin/Branding/CustomAssetForm.vue:30 msgid "Clear Image" msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:127 +#: src/components/Admin/Stations/Form/FrontendForm.vue:127 msgid "Clear List" msgstr "" -#: vue/components/Stations/Podcasts/EpisodeForm/Media.vue:38 -#: vue/components/Stations/Podcasts/EpisodeForm/Media.vue:43 +#: src/components/Stations/Podcasts/EpisodeForm/Media.vue:38 +#: src/components/Stations/Podcasts/EpisodeForm/Media.vue:43 msgid "Clear Media" msgstr "" -#: vue/components/Stations/Reports/Requests.vue:47 +#: src/components/Stations/Reports/Requests.vue:47 msgid "Clear Pending Requests" msgstr "" -#: vue/components/Admin/Debug.vue:107 -#: vue/components/Admin/Debug.vue:141 -#: vue/components/Stations/Playlists/QueueModal.vue:34 -#: vue/components/Stations/Playlists/QueueModal.vue:35 -#: vue/components/Stations/Playlists/QueueModal.vue:45 -#: vue/components/Stations/Playlists/QueueModal.vue:49 +#: src/components/Admin/Debug.vue:154 +#: src/components/Admin/Debug.vue:190 +#: src/components/Stations/Playlists/QueueModal.vue:34 +#: src/components/Stations/Playlists/QueueModal.vue:35 +#: src/components/Stations/Playlists/QueueModal.vue:46 +#: src/components/Stations/Playlists/QueueModal.vue:50 msgid "Clear Queue" msgstr "" -#: vue/components/Stations/Queue.vue:11 +#: src/components/Stations/Queue.vue:11 msgid "Clear Upcoming Song Queue" msgstr "" -#: vue/components/Stations/Queue.vue:134 +#: src/components/Stations/Queue.vue:135 msgid "Clear Upcoming Song Queue?" msgstr "" -#: vue/components/Admin/Debug.vue:14 +#: src/components/Admin/Debug.vue:14 msgid "Clearing the application cache may log you out of your session." msgstr "" -#: vue/components/Admin/GeoLite.vue:42 +#: src/components/Admin/GeoLite.vue:42 msgid "Click \"Generate new license key\"." msgstr "" -#: vue/components/Stations/Webhooks/Form/Mastodon.vue:22 +#: src/components/Stations/Webhooks/Form/Mastodon.vue:22 msgid "Click \"New Application\"" msgstr "" -#: vue/components/Stations/Webhooks/Form/Mastodon.vue:19 +#: src/components/Stations/Webhooks/Form/Mastodon.vue:19 msgid "Click the \"Preferences\" link, then \"Development\" on the left side menu." msgstr "" -#: vue/components/Stations/BulkMedia.vue:21 +#: src/components/Stations/BulkMedia.vue:21 msgid "Click the button below to generate a CSV file with all of this station's media. You can make any necessary changes, and then import the file using the file picker on the right." msgstr "" -#: vue/components/Stations/ProfileEdit.vue:26 +#: src/components/Stations/ProfileEdit.vue:26 msgid "Click the button below to retry loading the page." msgstr "" -#: vue/components/Stations/Reports/Overview/ClientsTab.vue:6 +#: src/components/Stations/Reports/Overview/ClientsTab.vue:6 msgid "Client" msgstr "" -#: vue/components/Stations/Reports/Overview.vue:57 +#: src/components/Stations/Reports/Overview.vue:53 msgid "Clients" msgstr "" -#: vue/components/Stations/Reports/Overview/ClientsTab.vue:12 +#: src/components/Stations/Reports/Overview/ClientsTab.vue:12 msgid "Clients by Connected Time" msgstr "" -#: vue/components/Stations/Reports/Overview/ClientsTab.vue:9 +#: src/components/Stations/Reports/Overview/ClientsTab.vue:9 msgid "Clients by Listeners" msgstr "" -#: vue/components/Admin/Stations.vue:26 -#: vue/components/Admin/Stations.vue:27 -#: vue/components/Admin/Stations.vue:31 -#: vue/components/Admin/Stations.vue:40 -#: vue/components/Admin/Stations.vue:44 +#: src/components/Admin/Stations.vue:21 +#: src/components/Admin/Stations.vue:22 +#: src/components/Admin/Stations.vue:25 +#: src/components/Admin/Stations.vue:34 +#: src/components/Admin/Stations.vue:38 msgid "Clone" msgstr "" -#: vue/components/Admin/Stations/CloneModal.vue:5 +#: src/components/Admin/Stations/CloneModal.vue:5 msgid "Clone Station" msgstr "" -#: vue/components/Account/ApiKeyModal.vue:42 -#: vue/components/Account/ApiKeyModal.vue:45 -#: vue/components/Admin/Backups/RunBackupModal.vue:81 -#: vue/components/Admin/Backups/RunBackupModal.vue:84 -#: vue/components/Admin/Index/CpuStatsHelpModal.vue:70 -#: vue/components/Admin/Index/MemoryStatsHelpModal.vue:42 -#: vue/components/Admin/Settings/TestMessageModal.vue:18 -#: vue/components/Admin/Stations/EditModal.vue:29 -#: vue/components/Common/Modal.vue:31 -#: vue/components/Common/ModalForm.vue:34 -#: vue/components/Common/ModalForm.vue:37 -#: vue/components/Common/StreamingLogModal.vue:17 -#: vue/components/Common/Toast.vue:21 -#: vue/components/Common/Toast.vue:41 -#: vue/components/Stations/BulkMedia.vue:146 -#: vue/components/Stations/Media/MoveFilesModal.vue:59 -#: vue/components/Stations/Media/NewDirectoryModal.vue:18 -#: vue/components/Stations/Media/RenameModal.vue:18 -#: vue/components/Stations/Playlists/ApplyToModal.vue:45 -#: vue/components/Stations/Playlists/ImportModal.vue:83 -#: vue/components/Stations/Playlists/QueueModal.vue:42 -#: vue/components/Stations/Streamers/BroadcastsModal.vue:51 +#: src/components/Account/ApiKeyModal.vue:42 +#: src/components/Account/ApiKeyModal.vue:45 +#: src/components/Admin/Backups/RunBackupModal.vue:81 +#: src/components/Admin/Backups/RunBackupModal.vue:84 +#: src/components/Admin/Index/CpuStatsHelpModal.vue:70 +#: src/components/Admin/Index/MemoryStatsHelpModal.vue:42 +#: src/components/Admin/Settings/TestMessageModal.vue:19 +#: src/components/Admin/Stations/EditModal.vue:29 +#: src/components/Common/Modal.vue:31 +#: src/components/Common/ModalForm.vue:34 +#: src/components/Common/ModalForm.vue:37 +#: src/components/Common/StreamingLogModal.vue:25 +#: src/components/Common/Toast.vue:21 +#: src/components/Common/Toast.vue:41 +#: src/components/Stations/BulkMedia.vue:146 +#: src/components/Stations/Media/MoveFilesModal.vue:60 +#: src/components/Stations/Media/NewDirectoryModal.vue:22 +#: src/components/Stations/Media/RenameModal.vue:22 +#: src/components/Stations/Playlists/ApplyToModal.vue:46 +#: src/components/Stations/Playlists/ImportModal.vue:83 +#: src/components/Stations/Playlists/QueueModal.vue:43 +#: src/components/Stations/Streamers/BroadcastsModal.vue:52 msgid "Close" msgstr "" -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:148 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:149 msgid "CloudFlare (CF-Connecting-IP)" msgstr "" -#: vue/components/Account/TwoFactorModal.vue:39 +#: src/components/Account/TwoFactorModal.vue:39 msgid "Code from Authenticator App" msgstr "" -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:125 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:126 msgid "Collect aggregate listener statistics and IP-based listener statistics" msgstr "" -#: vue/components/Stations/Streamers/Form/BasicInfo.vue:39 +#: src/components/Stations/Streamers/Form/BasicInfo.vue:38 msgid "Comments" msgstr "" -#: vue/components/Setup/Settings.vue:15 +#: src/components/Setup/Settings.vue:15 msgid "Complete the setup process by providing some information about your broadcast environment. These settings can be changed later from the administration panel." msgstr "" -#: vue/components/Admin/Backups.vue:48 +#: src/components/Admin/Backups.vue:48 msgid "Configure" msgstr "" -#: vue/components/Admin/Backups/ConfigureModal.vue:5 +#: src/components/Admin/Backups/ConfigureModal.vue:5 msgid "Configure Backups" msgstr "" -#: vue/vendor/sweetalert.ts:9 +#: src/vendor/sweetalert.ts:9 msgid "Confirm" msgstr "" -#: vue/components/Account/ChangePasswordModal.vue:30 +#: src/components/Account/ChangePasswordModal.vue:30 msgid "Confirm New Password" msgstr "" -#: vue/components/Admin/menu.ts:134 -#: vue/components/Admin/Relays.vue:2 +#: src/components/Admin/menu.ts:136 +#: src/components/Admin/Relays.vue:2 msgid "Connected AzuraRelays" msgstr "" -#: vue/components/Stations/SftpUsers.vue:52 -#: vue/components/Stations/Streamers/ConnectionInfo.vue:9 +#: src/components/Stations/SftpUsers.vue:46 +#: src/components/Stations/Streamers/ConnectionInfo.vue:9 msgid "Connection Information" msgstr "" -#: vue/components/Stations/Webhooks/Form/Twitter.vue:46 -msgid "Consumer Key (API Key)" -msgstr "" - -#: vue/components/Stations/Webhooks/Form/Twitter.vue:53 -msgid "Consumer Secret (API Secret)" -msgstr "" - -#: vue/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:54 -#: /var/azuracast/www/templates/frontend/public/podcast-episodes.phtml:82 +#: src/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:53 +#: /var/azuracast/www/templates/frontend/public/podcast-episodes.phtml:80 msgid "Contains explicit content" msgstr "" -#: vue/components/Setup/Station.vue:20 +#: src/components/Setup/Station.vue:20 msgid "Continue the setup process by creating your first radio station below. You can edit any of these details later." msgstr "" -#: vue/components/Public/WebDJ/PlaylistPanel.vue:123 -#: vue/components/Public/WebDJ/PlaylistPanel.vue:128 +#: src/components/Public/WebDJ/PlaylistPanel.vue:123 +#: src/components/Public/WebDJ/PlaylistPanel.vue:128 msgid "Continuous Play" msgstr "" -#: vue/components/Stations/Playlists/Form/Advanced.vue:14 +#: src/components/Stations/Playlists/Form/Advanced.vue:14 msgid "Control how this playlist is handled by the AutoDJ software." msgstr "" -#: vue/components/Common/CopyToClipboardButton.vue:44 +#: src/components/Common/CopyToClipboardButton.vue:45 msgid "Copied!" msgstr "" -#: vue/components/Admin/Backups/ConfigureModal.vue:57 +#: src/components/Admin/Backups/ConfigureModal.vue:57 msgid "Copies older than the specified number of days will automatically be deleted. Set to zero to disable automatic deletion." msgstr "" -#: vue/components/Stations/Playlists/CloneModal.vue:66 +#: src/components/Stations/Playlists/CloneModal.vue:67 msgid "Copy associated media and folders." msgstr "" -#: vue/components/Stations/Playlists/CloneModal.vue:70 +#: src/components/Stations/Playlists/CloneModal.vue:71 msgid "Copy scheduled playback times." msgstr "" -#: vue/components/Common/CopyToClipboardButton.vue:36 -#: vue/components/Common/CopyToClipboardButton.vue:6 -#: vue/components/Common/StreamingLogModal.vue:17 -#: vue/components/Common/StreamingLogModal.vue:20 -#: vue/components/Common/StreamingLogModal.vue:24 -#: vue/components/Stations/Queue/LogsModal.vue:22 +#: src/components/Common/CopyToClipboardButton.vue:37 +#: src/components/Common/CopyToClipboardButton.vue:6 +#: src/components/Common/StreamingLogModal.vue:12 +#: src/components/Common/StreamingLogModal.vue:13 +#: src/components/Common/StreamingLogModal.vue:28 +#: src/components/Common/StreamingLogModal.vue:32 +#: src/components/Stations/Queue/LogsModal.vue:22 msgid "Copy to Clipboard" msgstr "" -#: vue/components/Admin/Stations/CloneModalForm.vue:24 +#: src/components/Admin/Stations/CloneModalForm.vue:24 msgid "Copy to New Station" msgstr "" -#: vue/components/Common/FlowUpload.vue:191 +#: src/components/Common/FlowUpload.vue:217 msgid "Could not upload file." msgstr "" -#: vue/components/Stations/Reports/Overview.vue:77 +#: src/components/Stations/Reports/Overview.vue:73 msgid "Countries" msgstr "" -#: vue/components/Stations/Reports/Overview/CountriesTab.vue:6 +#: src/components/Stations/Reports/Overview/CountriesTab.vue:6 msgid "Country" msgstr "" -#: vue/components/Admin/Index.vue:156 +#: src/components/Admin/Index/CpuStatsPanel.vue:6 msgid "CPU Load" msgstr "" -#: vue/components/Admin/Index/CpuStatsHelpModal.vue:7 +#: src/components/Admin/Index/CpuStatsHelpModal.vue:7 msgid "CPU Stats Help" msgstr "" -#: vue/components/Stations/Webhooks/Form/Twitter.vue:17 -msgid "Create a new app on the Twitter Applications site. Use this installation's base URL as the application URL." -msgstr "" - -#: vue/components/Admin/StorageLocations/Form/Dropbox.vue:22 +#: src/components/Admin/StorageLocations/Form/Dropbox.vue:22 msgid "Create a new application. Choose \"Scoped Access\", select your preferred level of access, then name your app. Do not name it \"AzuraCast\", but rather use a name specific to your installation." msgstr "" -#: vue/components/Setup/Station.vue:11 +#: src/components/Setup/Station.vue:11 #: /var/azuracast/www/src/Controller/Frontend/SetupController.php:141 msgid "Create a New Radio Station" msgstr "" -#: vue/components/Setup/Register.vue:91 +#: src/components/Setup/Register.vue:91 msgid "Create Account" msgstr "" -#: vue/components/Admin/GeoLite.vue:29 +#: src/components/Admin/GeoLite.vue:29 msgid "Create an account on the MaxMind developer site." msgstr "" -#: vue/components/Setup/Station.vue:33 +#: src/components/Setup/Station.vue:33 msgid "Create and Continue" msgstr "" -#: vue/components/Admin/CustomFields.vue:6 +#: src/components/Admin/CustomFields.vue:6 msgid "Create custom fields to store extra metadata about each media file uploaded to your station libraries." msgstr "" -#: vue/components/Stations/Media/NewDirectoryModal.vue:16 -#: vue/components/Stations/Media/NewDirectoryModal.vue:21 -#: vue/components/Stations/Media/NewDirectoryModal.vue:25 +#: src/components/Stations/Media/NewDirectoryModal.vue:25 +#: src/components/Stations/Media/NewDirectoryModal.vue:29 msgid "Create Directory" msgstr "" -#: vue/components/Account/ApiKeyModal.vue:45 -#: vue/components/Account/ApiKeyModal.vue:52 +#: src/components/Account/ApiKeyModal.vue:45 +#: src/components/Account/ApiKeyModal.vue:52 msgid "Create New Key" msgstr "" -#: vue/components/Stations/Playlists/ApplyToModal.vue:27 +#: src/components/Stations/Playlists/ApplyToModal.vue:27 msgid "Create New Playlist for Each Folder" msgstr "" -#: vue/components/Admin/Debug/TaskOutput.vue:98 +#: src/components/Admin/Debug/TaskOutput.vue:95 msgid "Critical" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:38 +#: src/components/Admin/Stations/Form/BackendForm.vue:38 msgid "Crossfade Duration (Seconds)" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:28 +#: src/components/Admin/Stations/Form/BackendForm.vue:28 msgid "Crossfade Method" msgstr "" -#: vue/components/Public/WebDJ/MicrophonePanel.vue:25 -#: vue/components/Public/WebDJ/MicrophonePanel.vue:30 -#: vue/components/Public/WebDJ/PlaylistPanel.vue:33 -#: vue/components/Public/WebDJ/PlaylistPanel.vue:34 -#: vue/components/Public/WebDJ/PlaylistPanel.vue:56 -#: vue/components/Public/WebDJ/SettingsPanel.vue:185 -#: vue/components/Public/WebDJ/SettingsPanel.vue:186 -#: vue/components/Public/WebDJ/SettingsPanel.vue:236 -#: vue/components/Public/WebDJ/SettingsPanel.vue:246 +#: src/components/Public/WebDJ/MicrophonePanel.vue:25 +#: src/components/Public/WebDJ/MicrophonePanel.vue:30 +#: src/components/Public/WebDJ/PlaylistPanel.vue:33 +#: src/components/Public/WebDJ/PlaylistPanel.vue:34 +#: src/components/Public/WebDJ/PlaylistPanel.vue:56 +#: src/components/Public/WebDJ/SettingsPanel.vue:185 +#: src/components/Public/WebDJ/SettingsPanel.vue:186 +#: src/components/Public/WebDJ/SettingsPanel.vue:236 +#: src/components/Public/WebDJ/SettingsPanel.vue:246 msgid "Cue" msgstr "" -#: vue/components/Stations/StereoToolConfig.vue:55 +#: src/components/Stations/StereoToolConfig.vue:55 msgid "Current Configuration File" msgstr "" -#: vue/components/Stations/Fallback.vue:44 +#: src/components/Stations/Fallback.vue:44 msgid "Current Custom Fallback File" msgstr "" -#: vue/components/Admin/GeoLite.vue:53 -#: vue/components/Admin/Shoutcast.vue:52 -#: vue/components/Admin/StereoTool.vue:73 +#: src/components/Admin/GeoLite.vue:53 +#: src/components/Admin/Shoutcast.vue:52 +#: src/components/Admin/StereoTool.vue:94 msgid "Current Installed Version" msgstr "" -#: vue/components/Stations/Mounts/Form/Intro.vue:29 +#: src/components/Stations/Mounts/Form/Intro.vue:29 msgid "Current Intro File" msgstr "" -#: vue/components/Common/DataTable.vue:25 -msgid "Current page" -msgstr "" - -#: vue/components/Account/ChangePasswordModal.vue:16 +#: src/components/Account/ChangePasswordModal.vue:16 msgid "Current Password" msgstr "" -#: vue/components/Stations/Podcasts/EpisodeForm/Media.vue:29 +#: src/components/Stations/Podcasts/EpisodeForm/Media.vue:29 msgid "Current Podcast Media" msgstr "" -#: vue/components/Stations/Playlists.vue:156 +#: src/components/Stations/Playlists.vue:152 msgid "Custom" msgstr "" -#: vue/components/Stations/Webhooks/Form/Telegram.vue:35 +#: src/components/Stations/Webhooks/Form/Telegram.vue:35 msgid "Custom API Base URL" msgstr "" -#: vue/components/Admin/Branding.vue:3 -#: vue/components/Admin/menu.ts:24 +#: src/components/Admin/Branding.vue:3 +#: src/components/Admin/menu.ts:26 msgid "Custom Branding" msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:140 -#: vue/components/Admin/Stations/Form/FrontendForm.vue:160 +#: src/components/Admin/Stations/Form/FrontendForm.vue:140 +#: src/components/Admin/Stations/Form/FrontendForm.vue:160 msgid "Custom Configuration" msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:106 +#: src/components/Admin/Branding/BrandingForm.vue:106 msgid "Custom CSS for Internal Pages" msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:74 -#: vue/components/Stations/Branding/BrandingForm.vue:46 +#: src/components/Admin/Branding/BrandingForm.vue:74 +#: src/components/Stations/Branding/BrandingForm.vue:46 msgid "Custom CSS for Public Pages" msgstr "" -#: vue/components/Stations/Media/Form/AdvancedSettings.vue:56 +#: src/components/Stations/Media/Form/AdvancedSettings.vue:56 msgid "Custom Cues: Cue-In Point (seconds)" msgstr "" -#: vue/components/Stations/Media/Form/AdvancedSettings.vue:66 +#: src/components/Stations/Media/Form/AdvancedSettings.vue:66 msgid "Custom Cues: Cue-Out Point (seconds)" msgstr "" -#: vue/components/Stations/Media/Form/AdvancedSettings.vue:36 +#: src/components/Stations/Media/Form/AdvancedSettings.vue:36 msgid "Custom Fading: Fade-In Time (seconds)" msgstr "" -#: vue/components/Stations/Media/Form/AdvancedSettings.vue:46 +#: src/components/Stations/Media/Form/AdvancedSettings.vue:46 msgid "Custom Fading: Fade-Out Time (seconds)" msgstr "" -#: vue/components/Stations/Media/Form/AdvancedSettings.vue:26 +#: src/components/Stations/Media/Form/AdvancedSettings.vue:26 msgid "Custom Fading: Overlap Time (seconds)" msgstr "" -#: vue/components/Stations/Fallback.vue:9 -#: vue/components/Stations/menu.ts:251 +#: src/components/Stations/Fallback.vue:9 +#: src/components/Stations/menu.ts:264 msgid "Custom Fallback File" msgstr "" -#: vue/components/Admin/CustomFields.vue:2 -#: vue/components/Admin/menu.ts:126 -#: vue/components/Stations/Media/EditModal.vue:33 +#: src/components/Admin/CustomFields.vue:2 +#: src/components/Admin/menu.ts:128 +#: src/components/Stations/Media/EditModal.vue:26 msgid "Custom Fields" msgstr "" -#: vue/components/Stations/Mounts/Form/Advanced.vue:27 +#: src/components/Stations/Mounts/Form/Advanced.vue:27 msgid "Custom Frontend Configuration" msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:90 -#: vue/components/Stations/Branding/BrandingForm.vue:62 +#: src/components/Admin/Branding/BrandingForm.vue:90 +#: src/components/Stations/Branding/BrandingForm.vue:62 msgid "Custom JS for Public Pages" msgstr "" -#: vue/components/Stations/Profile/EmbedModal.vue:18 +#: src/components/Stations/Profile/EmbedModal.vue:18 msgid "Customize" msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:52 +#: src/components/Admin/Stations/Form/FrontendForm.vue:52 msgid "Customize Administrator Password" msgstr "" -#: vue/components/Setup/Settings.vue:10 +#: src/components/Setup/Settings.vue:10 msgid "Customize AzuraCast Settings" msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:72 +#: src/components/Admin/Stations/Form/FrontendForm.vue:72 msgid "Customize Broadcasting Port" msgstr "" -#: vue/components/Stations/Playlists/CloneModal.vue:24 +#: src/components/Stations/Playlists/CloneModal.vue:24 msgid "Customize Copy" msgstr "" -#: vue/components/Admin/Stations/Form/StreamersForm.vue:112 +#: src/components/Admin/Stations/Form/StreamersForm.vue:112 msgid "Customize DJ/Streamer Mount Point" msgstr "" -#: vue/components/Admin/Stations/Form/StreamersForm.vue:83 +#: src/components/Admin/Stations/Form/StreamersForm.vue:83 msgid "Customize DJ/Streamer Port" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:203 +#: src/components/Admin/Stations/Form/BackendForm.vue:203 msgid "Customize Internal Request Processing Port" msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:44 +#: src/components/Admin/Stations/Form/FrontendForm.vue:44 msgid "Customize Source Password" msgstr "" -#: vue/components/Admin/Stations/Form/ProfileForm.vue:74 +#: src/components/Admin/Stations/Form/ProfileForm.vue:73 msgid "Customize the number of songs that will appear in the \"Song History\" section for this station and in all public APIs." msgstr "" -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:52 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:52 msgid "Customize this setting to ensure you get the correct IP address for remote users. Only change this setting if you use a reverse proxy, either within Docker or a third-party service like CloudFlare." msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:190 -#: vue/components/Stations/Profile/EmbedModal.vue:157 +#: src/components/Admin/Branding/BrandingForm.vue:190 +#: src/components/Stations/Profile/EmbedModal.vue:158 msgid "Dark" msgstr "" -#: vue/components/PanelLayout.vue:62 +#: src/components/PanelLayout.vue:59 +#: src/components/PanelLayout.vue:62 #: /var/azuracast/www/src/Controller/Frontend/DashboardAction.php:35 -#: /var/azuracast/www/templates/system/error_http.phtml:19 -#: /var/azuracast/www/templates/system/error_general.phtml:27 +#: /var/azuracast/www/templates/system/error_http.phtml:20 +#: /var/azuracast/www/templates/system/error_general.phtml:28 msgid "Dashboard" msgstr "" -#: vue/components/Stations/Reports/Requests.vue:120 +#: src/components/Stations/Reports/Requests.vue:122 msgid "Date Played" msgstr "" -#: vue/components/Stations/Reports/Requests.vue:119 +#: src/components/Stations/Reports/Requests.vue:121 msgid "Date Requested" msgstr "" -#: vue/components/Admin/AuditLog.vue:114 +#: src/components/Admin/AuditLog.vue:114 msgid "Date/Time" msgstr "" -#: vue/components/Stations/Reports/Timeline.vue:118 +#: src/components/Stations/Reports/Timeline.vue:119 msgid "Date/Time (Browser)" msgstr "" -#: vue/components/Stations/Reports/Timeline.vue:132 +#: src/components/Stations/Reports/Timeline.vue:133 msgid "Date/Time (Station)" msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:53 +#: src/components/Admin/Settings/GeneralTab.vue:53 msgid "Days of Playback History to Keep" msgstr "" -#: vue/components/Admin/Stations/Form/StreamersForm.vue:66 +#: src/components/Admin/Stations/Form/StreamersForm.vue:66 msgid "Deactivate Streamer on Disconnect (Seconds)" msgstr "" -#: vue/components/Admin/Debug/TaskOutput.vue:93 +#: src/components/Admin/Debug/TaskOutput.vue:90 msgid "Debug" msgstr "" -#: vue/components/Admin/Branding.vue:23 -#: vue/components/Stations/Branding.vue:28 +#: src/components/Admin/Branding.vue:23 +#: src/components/Stations/Branding.vue:28 msgid "Default Album Art" msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:66 -#: vue/components/Stations/Branding/BrandingForm.vue:38 +#: src/components/Admin/Branding/BrandingForm.vue:66 +#: src/components/Stations/Branding/BrandingForm.vue:38 msgid "Default Album Art URL" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:201 +#: src/components/Admin/Settings/ServicesTab.vue:201 msgid "Default Avatar URL" msgstr "" -#: vue/components/Admin/Stations/Form/StreamersForm.vue:120 +#: src/components/Admin/Stations/Form/StreamersForm.vue:120 msgid "Default Live Broadcast Message" msgstr "" -#: vue/components/Stations/Mounts.vue:36 +#: src/components/Stations/Mounts.vue:30 msgid "Default Mount" msgstr "" -#: vue/components/Account.vue:167 -#: vue/components/Admin/ApiKeys.vue:20 -#: vue/components/Admin/AuditLog.vue:38 -#: vue/components/Admin/Backups.vue:112 -#: vue/components/Admin/Backups.vue:117 -#: vue/components/Admin/Backups.vue:121 -#: vue/components/Admin/CustomFields.vue:28 -#: vue/components/Admin/CustomFields.vue:29 -#: vue/components/Admin/CustomFields.vue:33 -#: vue/components/Admin/CustomFields.vue:39 -#: vue/components/Admin/CustomFields.vue:43 -#: vue/components/Admin/Permissions.vue:36 -#: vue/components/Admin/Permissions.vue:37 -#: vue/components/Admin/Permissions.vue:41 -#: vue/components/Admin/Permissions.vue:50 -#: vue/components/Admin/Permissions.vue:57 -#: vue/components/Admin/Stations.vue:32 -#: vue/components/Admin/Stations.vue:33 -#: vue/components/Admin/Stations.vue:37 -#: vue/components/Admin/Stations.vue:46 -#: vue/components/Admin/Stations.vue:58 -#: vue/components/Admin/StorageLocations.vue:50 -#: vue/components/Admin/StorageLocations.vue:56 -#: vue/components/Admin/StorageLocations.vue:60 -#: vue/components/Admin/Users.vue:35 -#: vue/components/Admin/Users.vue:36 -#: vue/components/Admin/Users.vue:40 -#: vue/components/Admin/Users.vue:55 -#: vue/components/Admin/Users.vue:66 -#: vue/components/Stations/HlsStreams.vue:36 -#: vue/components/Stations/HlsStreams.vue:37 -#: vue/components/Stations/HlsStreams.vue:41 -#: vue/components/Stations/HlsStreams.vue:47 -#: vue/components/Stations/HlsStreams.vue:51 -#: vue/components/Stations/Media/MediaToolbar.vue:170 -#: vue/components/Stations/Mounts.vue:44 -#: vue/components/Stations/Mounts.vue:45 -#: vue/components/Stations/Mounts.vue:49 -#: vue/components/Stations/Mounts.vue:55 -#: vue/components/Stations/Mounts.vue:59 -#: vue/components/Stations/Playlists.vue:51 -#: vue/components/Stations/Playlists.vue:58 -#: vue/components/Stations/Playlists.vue:62 -#: vue/components/Stations/Podcasts/EpisodesView.vue:67 -#: vue/components/Stations/Podcasts/EpisodesView.vue:68 -#: vue/components/Stations/Podcasts/EpisodesView.vue:82 -#: vue/components/Stations/Podcasts/EpisodesView.vue:94 -#: vue/components/Stations/Podcasts/EpisodesView.vue:98 -#: vue/components/Stations/Podcasts/ListView.vue:41 -#: vue/components/Stations/Podcasts/ListView.vue:42 -#: vue/components/Stations/Podcasts/ListView.vue:52 -#: vue/components/Stations/Podcasts/ListView.vue:64 -#: vue/components/Stations/Podcasts/ListView.vue:68 -#: vue/components/Stations/Queue.vue:23 -#: vue/components/Stations/Queue.vue:28 -#: vue/components/Stations/Queue.vue:33 -#: vue/components/Stations/Remotes.vue:39 -#: vue/components/Stations/Remotes.vue:40 -#: vue/components/Stations/Remotes.vue:44 -#: vue/components/Stations/Remotes.vue:53 -#: vue/components/Stations/Remotes.vue:60 -#: vue/components/Stations/Reports/Requests.vue:53 -#: vue/components/Stations/Reports/Requests.vue:54 -#: vue/components/Stations/Reports/Requests.vue:78 -#: vue/components/Stations/Reports/Requests.vue:83 -#: vue/components/Stations/SftpUsers.vue:28 -#: vue/components/Stations/SftpUsers.vue:34 -#: vue/components/Stations/SftpUsers.vue:38 -#: vue/components/Stations/Streamers.vue:56 -#: vue/components/Stations/Streamers.vue:57 -#: vue/components/Stations/Streamers.vue:60 -#: vue/components/Stations/Streamers.vue:64 -#: vue/components/Stations/Streamers.vue:68 -#: vue/components/Stations/Streamers.vue:76 -#: vue/components/Stations/Streamers.vue:84 -#: vue/components/Stations/Streamers/BroadcastsModal.vue:19 -#: vue/components/Stations/Streamers/BroadcastsModal.vue:20 -#: vue/components/Stations/Streamers/BroadcastsModal.vue:26 -#: vue/components/Stations/Streamers/BroadcastsModal.vue:29 -#: vue/components/Stations/Streamers/BroadcastsModal.vue:40 -#: vue/components/Stations/Webhooks.vue:51 -#: vue/components/Stations/Webhooks.vue:52 -#: vue/components/Stations/Webhooks.vue:56 -#: vue/components/Stations/Webhooks.vue:68 -#: vue/components/Stations/Webhooks.vue:81 -#: vue/vendor/sweetalert.ts:16 +#: src/components/Account.vue:167 +#: src/components/Admin/ApiKeys.vue:20 +#: src/components/Admin/AuditLog.vue:37 +#: src/components/Admin/Backups.vue:112 +#: src/components/Admin/Backups.vue:117 +#: src/components/Admin/Backups.vue:121 +#: src/components/Admin/CustomFields.vue:23 +#: src/components/Admin/CustomFields.vue:24 +#: src/components/Admin/CustomFields.vue:27 +#: src/components/Admin/CustomFields.vue:33 +#: src/components/Admin/CustomFields.vue:37 +#: src/components/Admin/Permissions.vue:31 +#: src/components/Admin/Permissions.vue:32 +#: src/components/Admin/Permissions.vue:35 +#: src/components/Admin/Permissions.vue:44 +#: src/components/Admin/Permissions.vue:51 +#: src/components/Admin/Stations.vue:27 +#: src/components/Admin/Stations.vue:28 +#: src/components/Admin/Stations.vue:31 +#: src/components/Admin/Stations.vue:40 +#: src/components/Admin/Stations.vue:52 +#: src/components/Admin/StorageLocations.vue:44 +#: src/components/Admin/StorageLocations.vue:50 +#: src/components/Admin/StorageLocations.vue:54 +#: src/components/Admin/Users.vue:30 +#: src/components/Admin/Users.vue:31 +#: src/components/Admin/Users.vue:34 +#: src/components/Admin/Users.vue:49 +#: src/components/Admin/Users.vue:60 +#: src/components/Stations/HlsStreams.vue:31 +#: src/components/Stations/HlsStreams.vue:32 +#: src/components/Stations/HlsStreams.vue:35 +#: src/components/Stations/HlsStreams.vue:41 +#: src/components/Stations/HlsStreams.vue:45 +#: src/components/Stations/Media/MediaToolbar.vue:170 +#: src/components/Stations/Mounts.vue:39 +#: src/components/Stations/Mounts.vue:40 +#: src/components/Stations/Mounts.vue:43 +#: src/components/Stations/Mounts.vue:49 +#: src/components/Stations/Mounts.vue:53 +#: src/components/Stations/Playlists.vue:47 +#: src/components/Stations/Playlists.vue:54 +#: src/components/Stations/Playlists.vue:58 +#: src/components/Stations/Podcasts/EpisodesView.vue:62 +#: src/components/Stations/Podcasts/EpisodesView.vue:63 +#: src/components/Stations/Podcasts/EpisodesView.vue:76 +#: src/components/Stations/Podcasts/EpisodesView.vue:88 +#: src/components/Stations/Podcasts/EpisodesView.vue:92 +#: src/components/Stations/Podcasts/ListView.vue:36 +#: src/components/Stations/Podcasts/ListView.vue:37 +#: src/components/Stations/Podcasts/ListView.vue:46 +#: src/components/Stations/Podcasts/ListView.vue:58 +#: src/components/Stations/Podcasts/ListView.vue:62 +#: src/components/Stations/Queue.vue:23 +#: src/components/Stations/Queue.vue:28 +#: src/components/Stations/Queue.vue:33 +#: src/components/Stations/Remotes.vue:34 +#: src/components/Stations/Remotes.vue:35 +#: src/components/Stations/Remotes.vue:38 +#: src/components/Stations/Remotes.vue:47 +#: src/components/Stations/Remotes.vue:54 +#: src/components/Stations/Reports/Requests.vue:53 +#: src/components/Stations/Reports/Requests.vue:54 +#: src/components/Stations/Reports/Requests.vue:78 +#: src/components/Stations/Reports/Requests.vue:83 +#: src/components/Stations/SftpUsers.vue:22 +#: src/components/Stations/SftpUsers.vue:28 +#: src/components/Stations/SftpUsers.vue:32 +#: src/components/Stations/Streamers.vue:51 +#: src/components/Stations/Streamers.vue:52 +#: src/components/Stations/Streamers.vue:55 +#: src/components/Stations/Streamers.vue:59 +#: src/components/Stations/Streamers.vue:62 +#: src/components/Stations/Streamers.vue:70 +#: src/components/Stations/Streamers.vue:78 +#: src/components/Stations/Streamers/BroadcastsModal.vue:19 +#: src/components/Stations/Streamers/BroadcastsModal.vue:20 +#: src/components/Stations/Streamers/BroadcastsModal.vue:27 +#: src/components/Stations/Streamers/BroadcastsModal.vue:30 +#: src/components/Stations/Streamers/BroadcastsModal.vue:41 +#: src/components/Stations/Webhooks.vue:55 +#: src/components/Stations/Webhooks.vue:56 +#: src/components/Stations/Webhooks.vue:59 +#: src/components/Stations/Webhooks.vue:71 +#: src/components/Stations/Webhooks.vue:84 +#: src/vendor/sweetalert.ts:16 msgid "Delete" msgstr "" -#: vue/components/Stations/Media/MediaToolbar.vue:310 +#: src/components/Stations/Media/MediaToolbar.vue:309 msgid "Delete %{ num } media files?" msgstr "" -#: vue/components/Stations/Media/Form/AlbumArt.vue:12 +#: src/components/Stations/Media/Form/AlbumArt.vue:12 msgid "Delete Album Art" msgstr "" -#: vue/components/Account.vue:336 -#: vue/components/Admin/ApiKeys.vue:69 +#: src/components/Account.vue:338 +#: src/components/Admin/ApiKeys.vue:69 msgid "Delete API Key?" msgstr "" -#: vue/components/Admin/Backups.vue:272 +#: src/components/Admin/Backups.vue:271 msgid "Delete Backup?" msgstr "" -#: vue/components/Stations/Streamers/BroadcastsModal.vue:143 +#: src/components/Stations/Streamers/BroadcastsModal.vue:147 msgid "Delete Broadcast?" msgstr "" -#: vue/components/Admin/CustomFields.vue:116 +#: src/components/Admin/CustomFields.vue:110 msgid "Delete Custom Field?" msgstr "" -#: vue/components/Stations/Podcasts/EpisodesView.vue:182 +#: src/components/Stations/Podcasts/EpisodesView.vue:179 msgid "Delete Episode?" msgstr "" -#: vue/components/Stations/HlsStreams.vue:111 +#: src/components/Stations/HlsStreams.vue:105 msgid "Delete HLS Stream?" msgstr "" -#: vue/components/Stations/Mounts.vue:121 +#: src/components/Stations/Mounts.vue:115 msgid "Delete Mount Point?" msgstr "" -#: vue/components/Stations/Playlists.vue:454 +#: src/components/Stations/Playlists.vue:448 msgid "Delete Playlist?" msgstr "" -#: vue/components/Stations/Podcasts/ListView.vue:167 +#: src/components/Stations/Podcasts/ListView.vue:162 msgid "Delete Podcast?" msgstr "" -#: vue/components/Stations/Queue.vue:124 +#: src/components/Stations/Queue.vue:125 msgid "Delete Queue Item?" msgstr "" -#: vue/vendor/sweetalert.ts:15 +#: src/vendor/sweetalert.ts:15 msgid "Delete Record?" msgstr "" -#: vue/components/Stations/Remotes.vue:113 +#: src/components/Stations/Remotes.vue:107 msgid "Delete Remote Relay?" msgstr "" -#: vue/components/Stations/Reports/Requests.vue:165 +#: src/components/Stations/Reports/Requests.vue:167 msgid "Delete Request?" msgstr "" -#: vue/components/Admin/Permissions.vue:141 +#: src/components/Admin/Permissions.vue:134 msgid "Delete Role?" msgstr "" -#: vue/components/Stations/SftpUsers.vue:118 +#: src/components/Stations/SftpUsers.vue:112 msgid "Delete SFTP User?" msgstr "" -#: vue/components/Admin/Stations.vue:159 +#: src/components/Admin/Stations.vue:153 msgid "Delete Station?" msgstr "" -#: vue/components/Admin/StorageLocations.vue:203 +#: src/components/Admin/StorageLocations.vue:197 msgid "Delete Storage Location?" msgstr "" -#: vue/components/Stations/Streamers.vue:181 +#: src/components/Stations/Streamers.vue:177 msgid "Delete Streamer?" msgstr "" -#: vue/components/Admin/Users.vue:122 +#: src/components/Admin/Users.vue:115 msgid "Delete User?" msgstr "" -#: vue/components/Stations/Webhooks.vue:188 +#: src/components/Stations/Webhooks.vue:191 msgid "Delete Web Hook?" msgstr "" -#: vue/components/Admin/Stations/Form/ProfileForm.vue:20 -#: vue/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:28 -#: vue/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:28 -#: vue/components/Stations/Webhooks/Form/Discord.vue:40 +#: src/components/Admin/Stations/Form/ProfileForm.vue:19 +#: src/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:27 +#: src/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:27 +#: src/components/Stations/Webhooks/Form/Discord.vue:40 msgid "Description" msgstr "" -#: vue/components/Stations/Reports/Listeners.vue:130 +#: src/components/Stations/Reports/Listeners.vue:131 msgid "Desktop Device" msgstr "" -#: vue/components/Admin/Debug/TaskOutput.vue:25 +#: src/components/Admin/Debug/TaskOutput.vue:25 msgid "Details" msgstr "" -#: vue/components/Stations/Media/MoveFilesModal.vue:113 -#: vue/components/Stations/Playlists/ApplyToModal.vue:85 -#: /var/azuracast/www/src/Controller/Api/Stations/Files/ListAction.php:246 +#: src/components/Stations/Media/MoveFilesModal.vue:117 +#: src/components/Stations/Playlists/ApplyToModal.vue:88 +#: /var/azuracast/www/src/Controller/Api/Stations/Files/ListAction.php:244 msgid "Directory" msgstr "" -#: vue/components/Stations/Media/NewDirectoryModal.vue:13 +#: src/components/Stations/Media/NewDirectoryModal.vue:15 msgid "Directory Name" msgstr "" -#: vue/components/Admin/CustomFields/Form.vue:58 -#: vue/components/Stations/Playlists.vue:354 -#: vue/components/Stations/Profile/PublicPagesPanel.vue:98 -#: vue/components/Stations/Profile/RequestsPanel.vue:36 -#: vue/components/Stations/Profile/StreamersPanel.vue:35 -#: vue/components/Stations/Webhooks.vue:139 +#: src/components/Admin/CustomFields/Form.vue:58 +#: src/components/Stations/Playlists.vue:355 +#: src/components/Stations/Profile/PublicPagesPanel.vue:98 +#: src/components/Stations/Profile/RequestsPanel.vue:36 +#: src/components/Stations/Profile/StreamersPanel.vue:35 +#: src/components/Stations/Webhooks.vue:142 msgid "Disable" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:409 +#: src/components/Admin/Stations/Form/BackendForm.vue:403 msgid "Disable Crossfading" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:490 +#: src/components/Admin/Stations/Form/BackendForm.vue:484 msgid "Disable Optimizations" msgstr "" -#: vue/components/Account.vue:110 +#: src/components/Account.vue:110 msgid "Disable Two-Factor" msgstr "" -#: vue/components/Account.vue:324 +#: src/components/Account.vue:326 msgid "Disable two-factor authentication?" msgstr "" -#: vue/components/Stations/Profile/useToggleFeature.js:21 +#: src/components/Stations/Profile/useToggleFeature.ts:21 msgid "Disable?" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:356 -#: vue/components/Admin/Stations.vue:27 -#: vue/components/Admin/Stations/Form/ProfileForm.vue:214 -#: vue/components/Common/Badges/EnabledBadge.vue:30 -#: vue/components/Stations/Mounts.vue:46 -#: vue/components/Stations/Playlists.vue:116 -#: vue/components/Stations/Playlists.vue:125 -#: vue/components/Stations/Remotes.vue:44 -#: vue/components/Stations/Streamers.vue:60 -#: vue/components/Stations/Webhooks.vue:36 +#: src/components/Admin/Settings/ServicesTab.vue:357 +#: src/components/Admin/Stations.vue:21 +#: src/components/Admin/Stations/Form/ProfileForm.vue:218 +#: src/components/Common/Badges/EnabledBadge.vue:30 +#: src/components/Stations/Mounts.vue:40 +#: src/components/Stations/Playlists.vue:112 +#: src/components/Stations/Playlists.vue:121 +#: src/components/Stations/Remotes.vue:38 +#: src/components/Stations/Streamers.vue:54 +#: src/components/Stations/Webhooks.vue:31 msgid "Disabled" msgstr "" -#: vue/components/Stations/Profile/NowPlayingPanel.vue:223 +#: src/components/Stations/Profile/NowPlayingPanel.vue:223 msgid "Disconnect Streamer" msgstr "" -#: vue/components/Stations/Webhooks/Form/Discord.vue:12 +#: src/components/Stations/Webhooks/Form/Discord.vue:12 msgid "Discord Web Hook URL" msgstr "" -#: vue/components/Entity/Webhooks.js:103 +#: src/entities/Webhooks.ts:111 msgid "Discord Webhook" msgstr "" -#: vue/components/Admin/Index/MemoryStatsHelpModal.vue:24 +#: src/components/Admin/Index/MemoryStatsHelpModal.vue:24 msgid "Disk caching makes a system much faster and more responsive in general. It does not take memory away from applications in any way since it will automatically be released by the operating system when needed." msgstr "" -#: vue/components/Admin/Index.vue:112 +#: src/components/Admin/Index/DiskUsagePanel.vue:5 msgid "Disk Space" msgstr "" -#: vue/components/Common/DataTable.vue:112 +#: src/components/Common/DataTable.vue:104 msgid "Display fields" msgstr "" -#: vue/components/Admin/Users/Form.vue:30 -#: vue/components/Stations/Mounts/Form/BasicInfo.vue:20 -#: vue/components/Stations/Remotes/Form/BasicInfo.vue:22 -#: vue/components/Stations/Streamers.vue:158 +#: src/components/Admin/Users/Form.vue:30 +#: src/components/Stations/Mounts/Form/BasicInfo.vue:19 +#: src/components/Stations/Remotes/Form/BasicInfo.vue:21 +#: src/components/Stations/Streamers.vue:154 msgid "Display Name" msgstr "" -#: vue/components/Admin/Stations/Form/StreamersForm.vue:102 +#: src/components/Admin/Stations/Form/StreamersForm.vue:102 msgid "DJ/Streamer Buffer Time (Seconds)" msgstr "" -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:135 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:136 msgid "Do not collect any listener analytics" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:392 +#: src/components/Admin/Stations/Form/FrontendForm.vue:287 +msgid "Do not use a local broadcasting service." +msgstr "" + +#: src/components/Admin/Stations/Form/BackendForm.vue:386 msgid "Do not use an AutoDJ service." msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:56 +#: src/components/PanelLayout.vue:102 +#: src/components/PanelLayout.vue:106 +msgid "Documentation" +msgstr "" + +#: src/components/Admin/Settings/ServicesTab.vue:56 msgid "Domain Name(s)" msgstr "" -#: vue/components/PanelLayout.vue:161 +#: src/components/PanelLayout.vue:171 msgid "Donate to support AzuraCast!" msgstr "" -#: vue/components/Stations/Playlists/ReorderModal.vue:61 +#: src/components/Stations/Playlists/ReorderModal.vue:61 msgid "Down" msgstr "" -#: vue/components/Admin/Backups.vue:114 -#: vue/components/Public/OnDemand.vue:52 -#: vue/components/Stations/Fallback.vue:50 -#: vue/components/Stations/Mounts/Form/Intro.vue:35 -#: vue/components/Stations/Podcasts/EpisodeForm/Media.vue:35 -#: vue/components/Stations/StereoToolConfig.vue:60 -#: vue/components/Stations/Streamers/BroadcastsModal.vue:29 +#: src/components/Admin/Backups.vue:114 +#: src/components/Public/OnDemand.vue:52 +#: src/components/Stations/Fallback.vue:50 +#: src/components/Stations/Mounts/Form/Intro.vue:35 +#: src/components/Stations/Podcasts/EpisodeForm/Media.vue:35 +#: src/components/Stations/StereoToolConfig.vue:60 +#: src/components/Stations/Streamers/BroadcastsModal.vue:30 msgid "Download" msgstr "" -#: vue/components/Stations/Reports/Listeners.vue:21 -#: vue/components/Stations/Reports/Timeline.vue:17 +#: src/components/Stations/Reports/Listeners.vue:21 +#: src/components/Stations/Reports/Timeline.vue:17 msgid "Download CSV" msgstr "" -#: vue/components/Stations/Profile/StreamsPanel.vue:166 +#: src/components/Stations/Profile/StreamsPanel.vue:166 msgid "Download M3U" msgstr "" -#: vue/components/Stations/Profile/StreamsPanel.vue:157 +#: src/components/Stations/Profile/StreamsPanel.vue:157 msgid "Download PLS" msgstr "" -#: vue/components/Admin/StereoTool.vue:42 +#: src/components/Admin/StereoTool.vue:43 msgid "Download the appropriate binary from the Stereo Tool downloads page:" msgstr "" -#: vue/components/Admin/Shoutcast.vue:27 +#: src/components/Admin/Shoutcast.vue:27 msgid "Download the Linux x64 binary from the Shoutcast Radio Manager:" msgstr "" -#: vue/components/Common/FlowUpload.vue:44 +#: src/components/Common/FlowUpload.vue:44 msgid "Drag file(s) here to upload or" msgstr "" -#: vue/components/Admin/StorageLocations/Form/Dropbox.vue:14 +#: src/components/Admin/StorageLocations/Form/Dropbox.vue:14 msgid "Dropbox App Console" msgstr "" -#: vue/components/Admin/StorageLocations/Form/Dropbox.vue:8 +#: src/components/Admin/StorageLocations/Form/Dropbox.vue:8 msgid "Dropbox Setup Instructions" msgstr "" -#: vue/components/Stations/Playlists.vue:150 -#: vue/components/Stations/Playlists.vue:151 -#: vue/components/Stations/Playlists.vue:158 -#: vue/components/Stations/Playlists.vue:162 -#: vue/components/Stations/Playlists.vue:166 -#: vue/components/Stations/Playlists.vue:202 -#: vue/components/Stations/Playlists.vue:240 +#: src/components/Stations/Playlists.vue:145 +#: src/components/Stations/Playlists.vue:146 +#: src/components/Stations/Playlists.vue:153 +#: src/components/Stations/Playlists.vue:156 +#: src/components/Stations/Playlists.vue:159 +#: src/components/Stations/Playlists.vue:162 +#: src/components/Stations/Playlists.vue:198 +#: src/components/Stations/Playlists.vue:236 msgid "Duplicate" msgstr "" -#: vue/components/Stations/Playlists/CloneModal.vue:5 +#: src/components/Stations/Playlists/CloneModal.vue:5 msgid "Duplicate Playlist" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:245 +#: src/components/Admin/Stations/Form/BackendForm.vue:245 msgid "Duplicate Prevention Time Range (Minutes)" msgstr "" -#: vue/components/Stations/menu.ts:70 +#: src/components/Stations/menu.ts:83 msgid "Duplicate Songs" msgstr "" -#: vue/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:54 +#: src/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:53 msgid "E-Mail" msgstr "" -#: vue/components/Account/EditForm.vue:13 -#: vue/components/Admin/Settings/TestMessageModal.vue:13 -#: vue/components/Admin/Users/Form.vue:8 -#: vue/components/Setup/Register.vue:66 +#: src/components/Account/EditForm.vue:13 +#: src/components/Admin/Settings/TestMessageModal.vue:14 +#: src/components/Admin/Users/Form.vue:8 +#: src/components/Setup/Register.vue:66 #: /var/azuracast/www/templates/frontend/account/login.phtml:46 #: /var/azuracast/www/templates/frontend/account/login.phtml:50 #: /var/azuracast/www/templates/frontend/account/forgot.phtml:21 @@ -1821,1067 +1821,1084 @@ msgstr "" msgid "E-mail Address" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:65 +#: src/components/Admin/Settings/ServicesTab.vue:65 msgid "E-mail Address (Optional)" msgstr "" -#: vue/components/Stations/Webhooks/Form/Email.vue:12 +#: src/components/Stations/Webhooks/Form/Email.vue:12 msgid "E-mail addresses can be separated by commas." msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:90 +#: src/components/Admin/Settings/ServicesTab.vue:90 msgid "E-mail Delivery Service" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:461 +#: src/components/Admin/Stations/Form/BackendForm.vue:455 msgid "EBU R128" msgstr "" -#: vue/components/Admin/CustomFields.vue:36 -#: vue/components/Admin/Permissions.vue:47 -#: vue/components/Admin/Permissions.vue:50 -#: vue/components/Admin/Stations.vue:29 -#: vue/components/Admin/Stations.vue:30 -#: vue/components/Admin/Stations.vue:34 -#: vue/components/Admin/Stations.vue:43 -#: vue/components/Admin/Stations.vue:51 -#: vue/components/Admin/StorageLocations.vue:53 -#: vue/components/Admin/Users.vue:32 -#: vue/components/Admin/Users.vue:33 -#: vue/components/Admin/Users.vue:37 -#: vue/components/Admin/Users.vue:52 -#: vue/components/Admin/Users.vue:59 -#: vue/components/Stations/HlsStreams.vue:44 -#: vue/components/Stations/Media.vue:193 -#: vue/components/Stations/Mounts.vue:52 -#: vue/components/Stations/Playlists.vue:55 -#: vue/components/Stations/Podcasts/EpisodesView.vue:91 -#: vue/components/Stations/Podcasts/ListView.vue:61 -#: vue/components/Stations/Remotes.vue:50 -#: vue/components/Stations/Remotes.vue:53 -#: vue/components/Stations/SftpUsers.vue:31 -#: vue/components/Stations/Streamers.vue:70 -#: vue/components/Stations/Webhooks.vue:59 +#: src/components/Admin/CustomFields.vue:30 +#: src/components/Admin/Permissions.vue:41 +#: src/components/Admin/Permissions.vue:44 +#: src/components/Admin/Stations.vue:24 +#: src/components/Admin/Stations.vue:25 +#: src/components/Admin/Stations.vue:28 +#: src/components/Admin/Stations.vue:37 +#: src/components/Admin/Stations.vue:45 +#: src/components/Admin/StorageLocations.vue:47 +#: src/components/Admin/Users.vue:27 +#: src/components/Admin/Users.vue:28 +#: src/components/Admin/Users.vue:31 +#: src/components/Admin/Users.vue:46 +#: src/components/Admin/Users.vue:53 +#: src/components/Stations/HlsStreams.vue:38 +#: src/components/Stations/Media.vue:193 +#: src/components/Stations/Mounts.vue:46 +#: src/components/Stations/Playlists.vue:51 +#: src/components/Stations/Podcasts/EpisodesView.vue:85 +#: src/components/Stations/Podcasts/ListView.vue:55 +#: src/components/Stations/Remotes.vue:44 +#: src/components/Stations/Remotes.vue:47 +#: src/components/Stations/SftpUsers.vue:25 +#: src/components/Stations/Streamers.vue:64 +#: src/components/Stations/Webhooks.vue:61 msgid "Edit" msgstr "" -#: vue/components/Stations/Profile/PublicPagesPanel.vue:87 +#: src/components/Stations/Profile/PublicPagesPanel.vue:87 msgid "Edit Branding" msgstr "" -#: vue/components/Admin/CustomFields/EditModal.vue:68 +#: src/components/Admin/CustomFields/EditModal.vue:68 msgid "Edit Custom Field" msgstr "" -#: vue/components/Stations/Podcasts/EpisodeEditModal.vue:147 +#: src/components/Stations/Podcasts/EpisodeEditModal.vue:145 msgid "Edit Episode" msgstr "" -#: vue/components/Stations/HlsStreams/EditModal.vue:69 +#: src/components/Stations/HlsStreams/EditModal.vue:67 msgid "Edit HLS Stream" msgstr "" -#: vue/components/Stations/LiquidsoapConfig.vue:13 -#: vue/components/Stations/menu.ts:259 +#: src/components/Stations/LiquidsoapConfig.vue:13 +#: src/components/Stations/menu.ts:272 msgid "Edit Liquidsoap Configuration" msgstr "" -#: vue/components/Stations/Media/EditModal.vue:5 +#: src/components/Stations/Media/EditModal.vue:5 msgid "Edit Media" msgstr "" -#: vue/components/Stations/Mounts/EditModal.vue:120 +#: src/components/Stations/Mounts/EditModal.vue:118 msgid "Edit Mount Point" msgstr "" -#: vue/components/Stations/Playlists/EditModal.vue:81 +#: src/components/Stations/Playlists/EditModal.vue:79 msgid "Edit Playlist" msgstr "" -#: vue/components/Stations/Podcasts/PodcastEditModal.vue:102 +#: src/components/Stations/Podcasts/PodcastEditModal.vue:100 msgid "Edit Podcast" msgstr "" -#: vue/components/Account.vue:66 -#: vue/components/Account/EditModal.vue:5 -#: vue/components/Stations/menu.ts:30 -#: vue/components/Stations/Profile/HeaderPanel.vue:35 -#: vue/components/Stations/Sidebar.vue:24 +#: src/components/Account.vue:66 +#: src/components/Account/EditModal.vue:5 +#: src/components/Stations/menu.ts:43 +#: src/components/Stations/Profile/HeaderPanel.vue:35 +#: src/components/Stations/Profile/StationDisabledPanel.vue:19 +#: src/components/Stations/Sidebar.vue:24 msgid "Edit Profile" msgstr "" -#: vue/components/Stations/Remotes/EditModal.vue:72 +#: src/components/Stations/Remotes/EditModal.vue:70 msgid "Edit Remote Relay" msgstr "" -#: vue/components/Admin/Permissions/EditModal.vue:126 +#: src/components/Admin/Permissions/EditModal.vue:124 msgid "Edit Role" msgstr "" -#: vue/components/Stations/SftpUsers/EditModal.vue:56 +#: src/components/Stations/SftpUsers/EditModal.vue:56 msgid "Edit SFTP User" msgstr "" -#: vue/components/Admin/Stations/EditModal.vue:77 +#: src/components/Admin/Stations/EditModal.vue:78 msgid "Edit Station" msgstr "" -#: vue/components/Stations/ProfileEdit.vue:9 +#: src/components/Stations/ProfileEdit.vue:9 msgid "Edit Station Profile" msgstr "" -#: vue/components/Admin/StorageLocations/EditModal.vue:109 +#: src/components/Admin/StorageLocations/EditModal.vue:108 msgid "Edit Storage Location" msgstr "" -#: vue/components/Stations/Streamers/EditModal.vue:97 +#: src/components/Stations/Streamers/EditModal.vue:95 msgid "Edit Streamer" msgstr "" -#: vue/components/Admin/Users/EditModal.vue:72 +#: src/components/Admin/Users/EditModal.vue:72 msgid "Edit User" msgstr "" -#: vue/components/Stations/Webhooks/EditModal.vue:171 +#: src/components/Stations/Webhooks/EditModal.vue:157 msgid "Edit Web Hook" msgstr "" -#: vue/components/Stations/Profile/EmbedModal.vue:55 +#: src/components/Stations/Profile/EmbedModal.vue:55 msgid "Embed Code" msgstr "" -#: vue/components/Stations/Profile/EmbedModal.vue:6 -#: vue/components/Stations/Profile/PublicPagesPanel.vue:77 +#: src/components/Stations/Profile/EmbedModal.vue:6 +#: src/components/Stations/Profile/PublicPagesPanel.vue:77 msgid "Embed Widgets" msgstr "" -#: vue/components/Admin/Debug/TaskOutput.vue:100 +#: src/components/Admin/Debug/TaskOutput.vue:97 msgid "Emergency" msgstr "" -#: vue/components/Stations/Playlists.vue:184 -#: vue/components/Stations/Playlists.vue:192 +#: src/components/Stations/Playlists.vue:180 +#: src/components/Stations/Playlists.vue:188 msgid "Empty" msgstr "" -#: vue/components/Stations/Playlists.vue:355 -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:19 -#: vue/components/Stations/Profile/PublicPagesPanel.vue:111 -#: vue/components/Stations/Profile/RequestsPanel.vue:49 -#: vue/components/Stations/Profile/StreamersPanel.vue:48 -#: vue/components/Stations/Webhooks.vue:140 +#: src/components/Stations/Playlists.vue:356 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:18 +#: src/components/Stations/Profile/PublicPagesPanel.vue:111 +#: src/components/Stations/Profile/RequestsPanel.vue:49 +#: src/components/Stations/Profile/StreamersPanel.vue:48 +#: src/components/Stations/Webhooks.vue:143 msgid "Enable" msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:69 +#: src/components/Admin/Settings/GeneralTab.vue:69 msgid "Enable Advanced Features" msgstr "" -#: vue/components/Stations/Mounts/Form/AutoDj.vue:11 +#: src/components/Stations/Mounts/Form/AutoDj.vue:11 msgid "Enable AutoDJ" msgstr "" -#: vue/components/Admin/Stations/Form/AdminForm.vue:11 +#: src/components/Admin/Stations/Form/AdminForm.vue:11 msgid "Enable Broadcasting" msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:70 +#: src/components/Admin/Settings/GeneralTab.vue:70 msgid "Enable certain advanced features in the web interface, including advanced playlist configuration, station port assignment, changing base media directories and other functionality that should only be used by users who are comfortable with advanced functionality." msgstr "" -#: vue/components/Admin/Stations/Form/ProfileForm.vue:115 +#: src/components/Admin/Stations/Form/ProfileForm.vue:114 msgid "Enable Downloads on On-Demand Page" msgstr "" -#: vue/components/Admin/Stations/Form/HlsForm.vue:21 +#: src/components/Admin/Stations/Form/HlsForm.vue:21 msgid "Enable HTTP Live Streaming (HLS)" msgstr "" -#: vue/components/Admin/Stations/Form/RequestsForm.vue:22 +#: src/components/Admin/Stations/Form/RequestsForm.vue:22 msgid "Enable listeners to request a song for play on your station. Only songs that are already in your playlists are requestable." msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:101 +#: src/components/Admin/Settings/ServicesTab.vue:101 msgid "Enable Mail Delivery" msgstr "" -#: vue/components/Admin/Stations/Form/ProfileForm.vue:106 +#: src/components/Admin/Stations/Form/ProfileForm.vue:105 msgid "Enable On-Demand Streaming" msgstr "" -#: vue/components/Admin/Stations/Form/ProfileForm.vue:90 +#: src/components/Admin/Stations/Form/ProfileForm.vue:89 msgid "Enable Public Pages" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:74 +#: src/components/Admin/StorageLocations/Form/S3.vue:54 +msgid "Enable this option if your S3 provider is using paths instead of sub-domains for their S3 endpoint; for example, when using MinIO or with other self-hosted S3 storage solutions that are accessible via a path on a domain/IP instead of a subdomain." +msgstr "" + +#: src/components/Stations/Playlists/Form/BasicInfo.vue:73 msgid "Enable this setting to prevent metadata from being sent to the AutoDJ for files in this playlist. This is useful if the playlist contains jingles or bumpers." msgstr "" -#: vue/components/Stations/Mounts/Form/BasicInfo.vue:58 +#: src/components/Stations/Mounts/Form/BasicInfo.vue:57 msgid "Enable to advertise this mount point on \"Yellow Pages\" public radio directories." msgstr "" -#: vue/components/Stations/Remotes/Form/AutoDj.vue:82 +#: src/components/Stations/Remotes/Form/AutoDj.vue:82 msgid "Enable to advertise this relay on \"Yellow Pages\" public radio directories." msgstr "" -#: vue/components/Stations/Mounts/Form/BasicInfo.vue:29 +#: src/components/Stations/Mounts/Form/BasicInfo.vue:28 msgid "Enable to allow listeners to select this mount point on this station's public pages." msgstr "" -#: vue/components/Stations/Remotes/Form/BasicInfo.vue:65 +#: src/components/Stations/Remotes/Form/BasicInfo.vue:64 msgid "Enable to allow listeners to select this relay on this station's public pages." msgstr "" -#: vue/components/Stations/Streamers/Form/BasicInfo.vue:49 +#: src/components/Stations/Streamers/Form/BasicInfo.vue:48 msgid "Enable to allow this account to log in and stream." msgstr "" -#: vue/components/Admin/Backups/ConfigureModal.vue:18 +#: src/components/Admin/Backups/ConfigureModal.vue:18 msgid "Enable to have AzuraCast automatically run nightly backups at the time specified." msgstr "" -#: vue/components/Account.vue:121 +#: src/components/Account.vue:121 msgid "Enable Two-Factor" msgstr "" -#: vue/components/Account/TwoFactorModal.vue:5 +#: src/components/Account/TwoFactorModal.vue:5 msgid "Enable Two-Factor Authentication" msgstr "" -#: vue/components/Stations/Profile/useToggleFeature.js:20 +#: src/components/Stations/Profile/useToggleFeature.ts:20 msgid "Enable?" msgstr "" -#: vue/components/Common/Badges/EnabledBadge.vue:29 -#: vue/components/Stations/Mounts.vue:42 -#: vue/components/Stations/Remotes.vue:40 +#: src/components/Common/Badges/EnabledBadge.vue:29 +#: src/components/Stations/Mounts.vue:36 +#: src/components/Stations/Remotes.vue:34 msgid "Enabled" msgstr "" -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:78 -#: vue/components/Stations/Reports/SoundExchange.vue:82 -#: vue/components/Stations/Streamers/Form/ScheduleRow.vue:88 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:78 +#: src/components/Stations/Reports/SoundExchange.vue:77 +#: src/components/Stations/Streamers/Form/ScheduleRow.vue:88 msgid "End Date" msgstr "" -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:44 -#: vue/components/Stations/Streamers/BroadcastsModal.vue:103 -#: vue/components/Stations/Streamers/Form/ScheduleRow.vue:47 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:44 +#: src/components/Stations/Streamers/BroadcastsModal.vue:107 +#: src/components/Stations/Streamers/Form/ScheduleRow.vue:47 msgid "End Time" msgstr "" -#: vue/components/Admin/StorageLocations/Form/S3.vue:25 +#: src/components/Admin/StorageLocations/Form/S3.vue:39 msgid "Endpoint" msgstr "" -#: vue/components/Stations/Streamers/Form/BasicInfo.vue:56 +#: src/components/Stations/Streamers/Form/BasicInfo.vue:55 msgid "Enforce Schedule Times" msgstr "" -#: vue/components/Common/AlbumArt.vue:10 -#: vue/components/Common/AlbumArt.vue:9 +#: src/components/Common/AlbumArt.vue:10 +#: src/components/Common/AlbumArt.vue:9 msgid "Enlarge Album Art" msgstr "" -#: vue/components/Stations/Webhooks/Form/Mastodon.vue:26 +#: src/components/Admin/StereoTool.vue:82 +msgid "Ensure the library matches your system architecture" +msgstr "" + +#: src/components/Stations/Webhooks/Form/Mastodon.vue:26 msgid "Enter \"AzuraCast\" as the application name. You can leave the URL fields unchanged. For \"Scopes\", only \"write:media\" and \"write:statuses\" are required." msgstr "" -#: vue/components/Admin/StorageLocations/Form/Dropbox.vue:57 +#: src/components/Admin/StorageLocations/Form/Dropbox.vue:57 msgid "Enter the access code you receive below." msgstr "" -#: vue/components/Account/TwoFactorModal.vue:40 +#: src/components/Account/TwoFactorModal.vue:40 msgid "Enter the current code provided by your authenticator app to verify that it's working correctly." msgstr "" -#: vue/components/Stations/Mounts/Form/BasicInfo.vue:45 +#: src/components/Stations/Mounts/Form/BasicInfo.vue:44 msgid "Enter the full URL of another stream to relay its broadcast through this mount point." msgstr "" -#: vue/components/Admin/StorageLocations/Form/Dropbox.vue:26 +#: src/components/Admin/StorageLocations/Form/Dropbox.vue:26 msgid "Enter your app secret and app key below." msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:66 +#: src/components/Admin/Settings/ServicesTab.vue:66 msgid "Enter your e-mail address to receive updates about your certificate." msgstr "" -#: vue/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:12 -#: vue/components/Stations/Podcasts/EpisodesView.vue:148 +#: src/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:11 +#: src/components/Stations/Podcasts/EpisodesView.vue:145 msgid "Episode" msgstr "" -#: vue/components/Stations/Podcasts/EpisodesView.vue:18 -#: vue/components/Stations/Podcasts/ListView.vue:44 -#: vue/components/Stations/Podcasts/ListView.vue:45 -#: vue/components/Stations/Podcasts/ListView.vue:55 -#: vue/components/Stations/Podcasts/ListView.vue:67 -#: vue/components/Stations/Podcasts/ListView.vue:75 +#: src/components/Stations/Podcasts/EpisodesView.vue:18 +#: src/components/Stations/Podcasts/ListView.vue:39 +#: src/components/Stations/Podcasts/ListView.vue:40 +#: src/components/Stations/Podcasts/ListView.vue:49 +#: src/components/Stations/Podcasts/ListView.vue:61 +#: src/components/Stations/Podcasts/ListView.vue:69 #: /var/azuracast/www/templates/frontend/public/podcast-episodes.phtml:35 #: /var/azuracast/www/templates/frontend/public/podcasts.phtml:37 #: /var/azuracast/www/templates/frontend/public/podcasts.phtml:72 msgid "Episodes" msgstr "" -#: vue/components/Admin/Debug/TaskOutput.vue:97 +#: src/components/Admin/Debug/TaskOutput.vue:94 msgid "Error" msgstr "" -#: vue/components/Stations/Remotes/Form/BasicInfo.vue:34 +#: src/components/Stations/Remotes/Form/BasicInfo.vue:33 msgid "Example: if the remote radio URL is http://station.example.com:8000/radio.mp3, enter \"http://station.example.com:8000\"." msgstr "" -#: vue/components/Admin/Backups/ConfigureModal.vue:46 -#: vue/components/Admin/Backups/RunBackupModal.vue:64 +#: src/components/Admin/Backups/ConfigureModal.vue:46 +#: src/components/Admin/Backups/RunBackupModal.vue:64 msgid "Exclude Media from Backup" msgstr "" -#: vue/components/Admin/Backups/ConfigureModal.vue:47 +#: src/components/Admin/Backups/ConfigureModal.vue:47 msgid "Excluding media from automated backups will save space, but you should make sure to back up your media elsewhere. Note that only locally stored media will be backed up." msgstr "" -#: vue/components/Stations/Reports/Listeners/InnerMap.vue:40 +#: src/components/Stations/Reports/Listeners/InnerMap.vue:40 msgid "Exit Fullscreen" msgstr "" -#: vue/components/Stations/Queue.vue:96 +#: src/components/Stations/Queue.vue:97 msgid "Expected to Play at" msgstr "" -#: vue/components/Stations/Podcasts/EpisodesView.vue:150 -#: vue/components/Stations/Podcasts/EpisodesView.vue:82 +#: src/components/Stations/Podcasts/EpisodesView.vue:147 +#: src/components/Stations/Podcasts/EpisodesView.vue:76 #: /var/azuracast/www/templates/frontend/public/podcast-episode.phtml:60 msgid "Explicit" msgstr "" -#: vue/components/Stations/Playlists.vue:248 +#: src/components/Stations/Playlists.vue:244 msgid "Export %{format}" msgstr "" -#: vue/components/Stations/BulkMedia.vue:11 -#: vue/components/Stations/BulkMedia.vue:32 +#: src/components/Stations/BulkMedia.vue:11 +#: src/components/Stations/BulkMedia.vue:32 msgid "Export Media to CSV" msgstr "" -#: vue/components/Common/SidebarMenu.vue:35 -#: vue/components/Common/SidebarMenu.vue:72 +#: src/components/Common/SidebarMenu.vue:35 +#: src/components/Common/SidebarMenu.vue:72 msgid "External" msgstr "" -#: vue/components/Stations/Mounts/Form/BasicInfo.vue:99 +#: src/components/Stations/Mounts/Form/BasicInfo.vue:98 msgid "Fallback Mount" msgstr "" -#: vue/components/Admin/AuditLog/DetailsModal.vue:16 -#: vue/components/Admin/CustomFields.vue:90 -#: vue/components/Admin/CustomFields/Form.vue:7 +#: src/components/Admin/AuditLog/DetailsModal.vue:16 +#: src/components/Admin/CustomFields.vue:84 +#: src/components/Admin/CustomFields/Form.vue:7 msgid "Field Name" msgstr "" -#: vue/components/Admin/Backups.vue:204 -#: vue/components/Admin/Backups/RunBackupModal.vue:37 -#: vue/components/Stations/Media/Form/BasicInfo.vue:7 -#: vue/components/Stations/Podcasts/EpisodesView.vue:149 +#: src/components/Admin/Backups.vue:205 +#: src/components/Admin/Backups/RunBackupModal.vue:37 +#: src/components/Stations/Media/Form/BasicInfo.vue:7 +#: src/components/Stations/Podcasts/EpisodesView.vue:146 msgid "File Name" msgstr "" -#: vue/components/Stations/Media/MediaToolbar.vue:303 +#: src/components/Stations/Media/MediaToolbar.vue:302 msgid "Files marked for reprocessing:" msgstr "" -#: vue/components/Stations/Media/MoveFilesModal.vue:149 +#: src/components/Stations/Media/MoveFilesModal.vue:146 msgid "Files moved:" msgstr "" -#: vue/components/Stations/Media/MediaToolbar.vue:295 +#: src/components/Stations/Media/MediaToolbar.vue:294 msgid "Files played immediately:" msgstr "" -#: vue/components/Stations/Media/MediaToolbar.vue:299 +#: src/components/Stations/Media/MediaToolbar.vue:298 msgid "Files queued for playback:" msgstr "" -#: vue/components/Stations/Media/MediaToolbar.vue:319 +#: src/components/Stations/Media/MediaToolbar.vue:318 msgid "Files removed:" msgstr "" -#: vue/components/Admin/Relays.vue:78 +#: src/components/Admin/Relays.vue:77 msgid "First Connected" msgstr "" -#: vue/components/Stations/Webhooks/Form/Discord.vue:70 +#: src/components/Stations/Webhooks/Form/Discord.vue:70 msgid "Footer Text" msgstr "" -#: vue/components/Admin/StereoTool.vue:59 +#: src/components/Admin/StereoTool.vue:63 msgid "For ARM (Raspberry Pi, etc.) installations, choose \"Raspberry Pi Thimeo-ST plugin\"." msgstr "" -#: vue/components/Admin/StorageLocations/Form.vue:23 +#: src/components/Admin/StorageLocations/Form.vue:22 msgid "For local filesystems, this is the base path of the directory. For remote filesystems, this is the folder prefix." msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:225 +#: src/components/Admin/Stations/Form/BackendForm.vue:225 msgid "For most cases, use the default UTF-8 encoding. The older ISO-8859-1 encoding can be used if accepting connections from Shoutcast 1 DJs or using other legacy software." msgstr "" -#: vue/components/Stations/Reports/Listeners.vue:88 -#: vue/components/Stations/Reports/Listeners.vue:98 +#: src/components/Stations/Reports/Listeners.vue:88 +#: src/components/Stations/Reports/Listeners.vue:98 msgid "for selected period" msgstr "" -#: vue/components/Admin/Updates.vue:80 +#: src/components/Admin/Updates.vue:80 msgid "For simple updates where you want to keep your current configuration, you can update directly via your web browser. You will be disconnected from the web interface and listeners will be disconnected from all stations." msgstr "" -#: vue/components/Stations/Streamers/ConnectionInfo.vue:63 +#: src/components/Stations/Streamers/ConnectionInfo.vue:63 msgid "For some clients, use port:" msgstr "" -#: vue/components/Admin/StereoTool.vue:54 +#: src/components/Admin/StereoTool.vue:85 +msgid "For the legacy version" +msgstr "" + +#: src/components/Admin/StereoTool.vue:58 msgid "For x86/64 installations, choose \"x86/64 Linux Thimeo-ST plugin\"." msgstr "" -#: vue/components/Stations/HlsStreams.vue:89 +#: src/components/Stations/HlsStreams.vue:83 msgid "Format" msgstr "" -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:148 -#: vue/components/Stations/Streamers/Form/ScheduleRow.vue:148 -#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:108 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:149 +#: src/components/Stations/Reports/Overview/ListenersByTimePeriodTab.vue:179 +#: src/components/Stations/Streamers/Form/ScheduleRow.vue:149 +#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:114 msgid "Friday" msgstr "" -#: vue/components/Account/TwoFactorModal.vue:20 +#: src/components/Account/TwoFactorModal.vue:20 msgid "From your smartphone, scan the code to the right using an authentication app of your choice (FreeOTP, Authy, etc)." msgstr "" -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:124 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:125 msgid "Full" msgstr "" -#: vue/components/Common/Waveform.vue:58 +#: src/components/Common/Waveform.vue:58 msgid "Full Volume" msgstr "" -#: vue/components/Stations/Webhooks/Form/GoogleAnalyticsV3.vue:11 -msgid "GA Property Tracking ID" -msgstr "" - -#: vue/components/Stations/Playlists.vue:128 -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:113 -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:309 +#: src/components/Stations/Playlists.vue:124 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:112 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:309 msgid "General Rotation" msgstr "" -#: vue/components/Admin/StorageLocations/Form/Dropbox.vue:50 +#: src/components/Admin/StorageLocations/Form/Dropbox.vue:50 msgid "Generate Access Code" msgstr "" -#: vue/components/Stations/Reports/SoundExchange.vue:103 +#: src/components/Stations/Reports/SoundExchange.vue:99 msgid "Generate Report" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:78 +#: src/components/Admin/Settings/ServicesTab.vue:78 msgid "Generate/Renew Certificate" msgstr "" -#: vue/components/Entity/Webhooks.js:91 +#: src/entities/Webhooks.ts:91 msgid "Generic Web Hook" msgstr "" -#: vue/components/Stations/Webhooks/Form/TypeSelect.vue:5 +#: src/components/Stations/Webhooks/Form/TypeSelect.vue:5 msgid "Generic Web Hooks" msgstr "" -#: vue/components/Admin/Stations/Form/ProfileForm.vue:27 -#: vue/components/Public/Requests.vue:103 -#: vue/components/Stations/Media.vue:317 +#: src/components/Admin/Stations/Form/ProfileForm.vue:26 +#: src/components/Public/Requests.vue:103 +#: src/components/Stations/Media.vue:319 #: /var/azuracast/www/src/Media/Enums/MetadataTags.php:100 msgid "Genre" msgstr "" -#: vue/components/Admin/GeoLite.vue:63 +#: src/components/Admin/GeoLite.vue:63 msgid "GeoLite is not currently installed on this installation." msgstr "" -#: vue/components/Admin/GeoLite.vue:134 +#: src/components/Admin/GeoLite.vue:133 msgid "GeoLite version \"%{ version }\" is currently installed." msgstr "" -#: vue/components/Admin/Debug.vue:144 -#: vue/components/Admin/Debug.vue:148 +#: src/components/Admin/Debug.vue:193 +#: src/components/Admin/Debug.vue:197 msgid "Get Next Song" msgstr "" -#: vue/components/Admin/Debug.vue:157 +#: src/components/Admin/Debug.vue:206 msgid "Get Now Playing" msgstr "" -#: vue/components/Admin/Permissions.vue:32 +#: src/entities/Webhooks.ts:107 +msgid "GetMeRadio" +msgstr "" + +#: src/components/Stations/Webhooks/Form/GetMeRadio.vue:19 +msgid "GetMeRadio Station ID" +msgstr "" + +#: src/components/Admin/Permissions.vue:26 msgid "Global" msgstr "" -#: vue/components/Admin/Permissions/Form/GlobalForm.vue:20 -#: vue/components/Admin/Permissions/Form/GlobalForm.vue:3 +#: src/components/Admin/Permissions/Form/GlobalForm.vue:17 +#: src/components/Admin/Permissions/Form/GlobalForm.vue:2 msgid "Global Permissions" msgstr "" -#: vue/components/Entity/Webhooks.js:119 -msgid "Google Analytics V3 Integration" +#: src/components/Common/Pagination.vue:42 +#: src/components/Common/Pagination.vue:55 +msgid "Go" msgstr "" -#: vue/components/Entity/Webhooks.js:123 +#: src/entities/Webhooks.ts:123 msgid "Google Analytics V4 Integration" msgstr "" -#: vue/components/PanelLayout.vue:99 +#: src/components/PanelLayout.vue:112 +#: src/components/PanelLayout.vue:116 msgid "Help" msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:42 +#: src/components/Admin/Branding/BrandingForm.vue:42 msgid "Hide Album Art on Public Pages" msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:49 +#: src/components/Admin/Branding/BrandingForm.vue:49 msgid "Hide AzuraCast Branding on Public Pages" msgstr "" -#: vue/components/Dashboard.vue:359 +#: src/components/Dashboard.vue:361 msgid "Hide Charts" msgstr "" -#: vue/components/Stations/Profile/FrontendPanel.vue:190 +#: src/components/Stations/Profile/FrontendPanel.vue:191 msgid "Hide Credentials" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:77 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:76 msgid "Hide Metadata from Listeners (\"Jingle Mode\")" msgstr "" -#: vue/components/Admin/Index/CpuStatsHelpModal.vue:49 +#: src/components/Admin/Index/CpuStatsHelpModal.vue:49 msgid "High I/O Wait can indicate a bottleneck with the server's hard disk, a potentially failing hard disk, or heavy load on the hard disk." msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:123 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:122 msgid "Higher weight playlists are played more frequently compared to other lower-weight playlists." msgstr "" -#: vue/components/Stations/Profile/EmbedModal.vue:120 +#: src/components/Stations/Profile/EmbedModal.vue:121 #: /var/azuracast/www/src/Controller/Frontend/PublicPages/HistoryAction.php:45 msgid "History" msgstr "" -#: vue/components/Admin/Stations/Form/HlsForm.vue:3 -#: vue/components/Public/Player.vue:187 +#: src/components/Admin/Stations/Form/HlsForm.vue:3 +#: src/components/Public/Player.vue:192 msgid "HLS" msgstr "" -#: vue/components/Stations/HlsStreams.vue:2 -#: vue/components/Stations/menu.ts:235 +#: src/components/Stations/HlsStreams.vue:2 +#: src/components/Stations/menu.ts:248 msgid "HLS Streams" msgstr "" -#: vue/components/Stations/Media/Breadcrumb.vue:5 +#: src/components/Stations/Media/Breadcrumb.vue:5 msgid "Home" msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:58 +#: src/components/Admin/Branding/BrandingForm.vue:58 msgid "Homepage Redirect URL" msgstr "" -#: vue/components/Common/Charts/HourChart.vue:48 +#: src/components/Common/Charts/HourChart.vue:42 msgid "Hour" msgstr "" -#: vue/components/Stations/Webhooks/Form/Telegram.vue:137 +#: src/components/Stations/Webhooks/Form/Telegram.vue:138 msgid "HTML" msgstr "" -#: vue/components/Admin/Stations/Form/HlsForm.vue:8 -#: vue/components/Stations/Profile/StreamsPanel.vue:112 +#: src/components/Admin/Stations/Form/HlsForm.vue:8 +#: src/components/Stations/Profile/StreamsPanel.vue:112 msgid "HTTP Live Streaming (HLS)" msgstr "" -#: vue/components/Stations/HlsStreams.vue:6 +#: src/components/Stations/HlsStreams.vue:6 msgid "HTTP Live Streaming (HLS) is a new adaptive-bitrate streaming technology. From this page, you can configure the individual bitrates and formats that are included in the combined HLS stream." msgstr "" -#: vue/components/Admin/Stations/Form/HlsForm.vue:12 +#: src/components/Admin/Stations/Form/HlsForm.vue:12 msgid "HTTP Live Streaming (HLS) is a new adaptive-bitrate technology supported by some clients. It does not use the standard broadcasting frontends." msgstr "" -#: vue/components/Stations/Streamers/ConnectionInfo.vue:17 +#: src/components/Stations/Streamers/ConnectionInfo.vue:17 msgid "Icecast Clients" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:355 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:355 msgid "Icecast/Shoutcast Stream URL" msgstr "" -#: vue/components/Admin/AuditLog.vue:126 +#: src/components/Admin/AuditLog.vue:126 msgid "Identifier" msgstr "" -#: vue/components/Admin/Stations/Form/StreamersForm.vue:121 +#: src/components/Admin/Stations/Form/StreamersForm.vue:121 msgid "If a live DJ connects but has not yet sent metadata, this is the message that will display on player pages." msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:67 -#: vue/components/Stations/Branding/BrandingForm.vue:39 +#: src/components/Admin/Branding/BrandingForm.vue:67 +#: src/components/Stations/Branding/BrandingForm.vue:39 msgid "If a song has no album art, this URL will be listed instead. Leave blank to use the standard placeholder art." msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:59 +#: src/components/Admin/Branding/BrandingForm.vue:59 msgid "If a visitor is not signed in and visits the AzuraCast homepage, you can automatically redirect them to the URL specified here. Leave blank to redirect them to the login screen by default." msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:20 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:19 msgid "If disabled, the playlist will not be included in radio playback, but can still be managed." msgstr "" -#: vue/components/Admin/Stations/Form/AdminForm.vue:12 +#: src/components/Admin/Stations/Form/AdminForm.vue:12 msgid "If disabled, the station will not broadcast or shuffle its AutoDJ." msgstr "" -#: vue/components/Admin/Stations/Form/ProfileForm.vue:119 +#: src/components/Admin/Stations/Form/ProfileForm.vue:118 msgid "If enabled, a download button will also be present on the public \"On-Demand\" page." msgstr "" -#: vue/components/Admin/Stations/Form/StreamersForm.vue:28 +#: src/components/Admin/Stations/Form/StreamersForm.vue:28 msgid "If enabled, AzuraCast will automatically record any live broadcasts made to this station to per-broadcast recordings." msgstr "" -#: vue/components/Stations/Reports/SoundExchange.vue:96 +#: src/components/Stations/Reports/SoundExchange.vue:92 msgid "If enabled, AzuraCast will connect to the MusicBrainz database to attempt to find an ISRC for any files where one is missing. Disabling this may improve performance." msgstr "" -#: vue/components/Admin/Stations/Form/ProfileForm.vue:107 +#: src/components/Admin/Stations/Form/ProfileForm.vue:106 msgid "If enabled, music from playlists with on-demand streaming enabled will be available to stream via a specialized public page." msgstr "" -#: vue/components/Admin/Stations/Form/StreamersForm.vue:17 +#: src/components/Admin/Stations/Form/StreamersForm.vue:17 msgid "If enabled, streamers (or DJs) will be able to connect directly to your stream and broadcast live music that interrupts the AutoDJ stream." msgstr "" -#: vue/components/Stations/Remotes/Form/AutoDj.vue:12 +#: src/components/Stations/Remotes/Form/AutoDj.vue:12 msgid "If enabled, the AutoDJ on this installation will automatically play music to this mount point." msgstr "" -#: vue/components/Stations/Mounts/Form/AutoDj.vue:12 +#: src/components/Stations/Mounts/Form/AutoDj.vue:12 msgid "If enabled, the AutoDJ will automatically play music to this mount point." msgstr "" -#: vue/components/Stations/Streamers/Form/BasicInfo.vue:57 +#: src/components/Stations/Streamers/Form/BasicInfo.vue:56 msgid "If enabled, this streamer will only be able to connect during their scheduled broadcast times." msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:67 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:66 msgid "If requests are enabled for your station, users will be able to request media that is on this playlist." msgstr "" -#: vue/components/Admin/Stations/Form/RequestsForm.vue:37 +#: src/components/Admin/Stations/Form/RequestsForm.vue:37 msgid "If requests are enabled, this specifies the minimum delay (in minutes) between a request being submitted and being played. If set to zero, a minor delay of 15 seconds is applied to prevent request floods." msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:43 +#: src/components/Admin/Branding/BrandingForm.vue:43 msgid "If selected, album art will not display on public-facing radio pages." msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:50 +#: src/components/Admin/Branding/BrandingForm.vue:50 msgid "If selected, this will remove the AzuraCast branding from public-facing pages." msgstr "" -#: vue/components/Admin/Backups/ConfigureModal.vue:31 -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:45 +#: src/components/Admin/Backups/ConfigureModal.vue:31 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:45 msgid "If the end time is before the start time, the playlist will play overnight." msgstr "" -#: vue/components/Stations/Streamers/Form/ScheduleRow.vue:51 +#: src/components/Stations/Streamers/Form/ScheduleRow.vue:51 msgid "If the end time is before the start time, the schedule entry will continue overnight." msgstr "" -#: vue/components/Stations/Remotes/Form/AutoDj.vue:54 +#: src/components/Stations/Remotes/Form/AutoDj.vue:54 msgid "If the mountpoint (i.e. /radio.mp3) or Shoutcast SID (i.e. 2) you broadcast to is different from the stream URL, specify the source mount point here." msgstr "" -#: vue/components/Stations/Remotes/Form/AutoDj.vue:46 +#: src/components/Stations/Remotes/Form/AutoDj.vue:46 msgid "If the port you broadcast to is different from the stream URL, specify the source port here." msgstr "" -#: vue/components/Stations/Mounts/Form/BasicInfo.vue:37 +#: src/components/Stations/Mounts/Form/BasicInfo.vue:36 msgid "If this mount is the default, it will be played on the radio preview and the public radio page in this system." msgstr "" -#: vue/components/Stations/Mounts/Form/BasicInfo.vue:100 +#: src/components/Stations/Mounts/Form/BasicInfo.vue:99 msgid "If this mount point is not playing audio, listeners will automatically be redirected to this mount point. The default is /error.mp3, a repeating error message." msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:33 +#: src/components/Admin/Settings/GeneralTab.vue:33 msgid "If this setting is set to \"Yes\", the browser URL will be used instead of the base URL when it's available. Set to \"No\" to always use the base URL." msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:59 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:58 msgid "If this station has on-demand streaming and downloading enabled, only songs that are in playlists with this setting enabled will be visible." msgstr "" -#: vue/components/Stations/Remotes/Form/AutoDj.vue:70 +#: src/components/Stations/Remotes/Form/AutoDj.vue:70 msgid "If you are broadcasting using AutoDJ, enter the source password here." msgstr "" -#: vue/components/Stations/Remotes/Form/AutoDj.vue:62 +#: src/components/Stations/Remotes/Form/AutoDj.vue:62 msgid "If you are broadcasting using AutoDJ, enter the source username here. This may be blank." msgstr "" -#: vue/components/Stations/Help.vue:54 +#: src/components/Stations/Logs.vue:54 msgid "If you're experiencing a bug or error, you can submit a GitHub issue using the link below." msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:236 +#: src/components/Admin/Stations/Form/BackendForm.vue:236 msgid "If your installation is constrained by CPU or memory, you can change this setting to tune the resources used by Liquidsoap." msgstr "" -#: vue/components/Stations/Webhooks/Form/Mastodon.vue:43 +#: src/components/Stations/Webhooks/Form/Mastodon.vue:43 msgid "If your Mastodon username is \"@test@example.com\", enter \"example.com\"." msgstr "" -#: vue/components/Stations/Mounts/Form/BasicInfo.vue:82 +#: src/components/Stations/Mounts/Form/BasicInfo.vue:81 msgid "If your stream is set to advertise to YP directories above, you must specify an authorization hash. You can manage these on the Shoutcast web site." msgstr "" -#: vue/components/Admin/Stations/Form/StreamersForm.vue:113 +#: src/components/Admin/Stations/Form/StreamersForm.vue:113 msgid "If your streaming software requires a specific mount point path, specify it here. Otherwise, use the default." msgstr "" -#: vue/components/Stations/Webhooks/Form/Generic.vue:61 +#: src/components/Stations/Webhooks/Form/Generic.vue:61 msgid "If your web hook requires HTTP basic authentication, provide the password here." msgstr "" -#: vue/components/Stations/Webhooks/Form/Generic.vue:53 +#: src/components/Stations/Webhooks/Form/Generic.vue:53 msgid "If your web hook requires HTTP basic authentication, provide the username here." msgstr "" -#: vue/components/Stations/BulkMedia.vue:48 -#: vue/components/Stations/BulkMedia.vue:78 +#: src/components/Stations/BulkMedia.vue:48 +#: src/components/Stations/BulkMedia.vue:78 msgid "Import Changes from CSV" msgstr "" -#: vue/components/Stations/Playlists.vue:138 -#: vue/components/Stations/Playlists.vue:139 -#: vue/components/Stations/Playlists.vue:146 -#: vue/components/Stations/Playlists.vue:150 -#: vue/components/Stations/Playlists.vue:154 -#: vue/components/Stations/Playlists.vue:190 -#: vue/components/Stations/Playlists.vue:208 -#: vue/components/Stations/Playlists/ImportModal.vue:5 -#: vue/components/Stations/Playlists/ImportModal.vue:86 -#: vue/components/Stations/Playlists/ImportModal.vue:90 +#: src/components/Stations/Playlists.vue:133 +#: src/components/Stations/Playlists.vue:134 +#: src/components/Stations/Playlists.vue:141 +#: src/components/Stations/Playlists.vue:144 +#: src/components/Stations/Playlists.vue:147 +#: src/components/Stations/Playlists.vue:150 +#: src/components/Stations/Playlists.vue:186 +#: src/components/Stations/Playlists.vue:204 +#: src/components/Stations/Playlists/ImportModal.vue:5 +#: src/components/Stations/Playlists/ImportModal.vue:86 +#: src/components/Stations/Playlists/ImportModal.vue:90 msgid "Import from PLS/M3U" msgstr "" -#: vue/components/Stations/BulkMedia.vue:106 -#: vue/components/Stations/BulkMedia.vue:92 +#: src/components/Stations/BulkMedia.vue:106 +#: src/components/Stations/BulkMedia.vue:92 msgid "Import Results" msgstr "" -#: vue/components/Account/ApiKeyNewKey.vue:7 +#: src/components/Account/ApiKeyNewKey.vue:7 msgid "Important: copy the key below before continuing!" msgstr "" -#: vue/components/Admin/Shoutcast.vue:22 +#: src/components/Admin/Shoutcast.vue:22 msgid "In order to install Shoutcast:" msgstr "" -#: vue/components/Admin/StereoTool.vue:36 +#: src/components/Admin/StereoTool.vue:36 msgid "In order to install Stereo Tool:" msgstr "" -#: vue/components/Stations/Webhooks/Form/Generic.vue:33 +#: src/components/Stations/Webhooks/Form/Generic.vue:33 msgid "In order to process quickly, web hooks have a short timeout, so the responding service should be optimized to handle the request in under 2 seconds." msgstr "" -#: vue/components/Stations/Webhooks/Form/Twitter.vue:28 -msgid "In the newly created application, click the \"Keys and Access Tokens\" tab." -msgstr "" - -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:58 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:57 msgid "Include in On-Demand Player" msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:146 +#: src/components/Admin/Settings/GeneralTab.vue:147 msgid "Indefinitely" msgstr "" -#: vue/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:55 +#: src/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:54 msgid "Indicates the presence of explicit content (explicit language or adult content). Apple Podcasts displays an Explicit parental advisory graphic for your episode if turned on. Episodes containing explicit material aren't available in some Apple Podcasts territories." msgstr "" -#: vue/components/Admin/Debug/TaskOutput.vue:94 +#: src/components/Admin/Debug/TaskOutput.vue:91 msgid "Info" msgstr "" -#: vue/components/Stations/Profile/NowPlayingNotStartedPanel.vue:10 +#: src/components/Stations/Profile/NowPlayingNotStartedPanel.vue:10 msgid "Information about the current playing track will appear here once your station has started." msgstr "" -#: vue/components/Admin/AuditLog.vue:28 +#: src/components/Admin/AuditLog.vue:27 msgid "Insert" msgstr "" -#: vue/components/Admin/GeoLite.vue:4 -#: vue/components/Admin/menu.ts:158 +#: src/components/Admin/GeoLite.vue:4 +#: src/components/Admin/menu.ts:160 msgid "Install GeoLite IP Database" msgstr "" -#: vue/components/Admin/menu.ts:142 +#: src/components/Admin/menu.ts:144 msgid "Install Shoutcast" msgstr "" -#: vue/components/Admin/Shoutcast.vue:4 +#: src/components/Admin/Shoutcast.vue:4 msgid "Install Shoutcast 2 DNAS" msgstr "" -#: vue/components/Admin/menu.ts:150 -#: vue/components/Admin/StereoTool.vue:4 +#: src/components/Admin/menu.ts:152 +#: src/components/Admin/StereoTool.vue:4 msgid "Install Stereo Tool" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:194 +#: src/components/Admin/Stations/Form/BackendForm.vue:194 msgid "Instruct Liquidsoap to use any replaygain metadata associated with a song to control its volume level. This may increase CPU consumption." msgstr "" -#: vue/components/Admin/GeoLite.vue:17 -#: vue/components/Admin/Shoutcast.vue:12 -#: vue/components/Admin/StereoTool.vue:20 +#: src/components/Admin/GeoLite.vue:17 +#: src/components/Admin/Shoutcast.vue:12 +#: src/components/Admin/StereoTool.vue:25 msgid "Instructions" msgstr "" -#: vue/components/Stations/Streamers/Form/BasicInfo.vue:40 +#: src/components/Stations/Streamers/Form/BasicInfo.vue:39 msgid "Internal notes or comments about the user, visible only on this control panel." msgstr "" -#: vue/components/Stations/Media/Form/BasicInfo.vue:52 +#: src/components/Stations/Media/Form/BasicInfo.vue:52 msgid "International Standard Recording Code, used for licensing reports." msgstr "" -#: vue/components/Stations/Playlists/Form/Advanced.vue:51 +#: src/components/Stations/Playlists/Form/Advanced.vue:52 msgid "Interrupt other songs to play at scheduled time." msgstr "" -#: vue/components/Stations/Mounts/Form/Intro.vue:2 +#: src/components/Stations/Mounts/Form/Intro.vue:2 msgid "Intro" msgstr "" -#: vue/components/Stations/Reports/Listeners.vue:215 -#: vue/components/Stations/Reports/Listeners/Map.vue:6 +#: src/components/Stations/Reports/Listeners.vue:217 +#: src/components/Stations/Reports/Listeners/Map.vue:6 msgid "IP" msgstr "" -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:51 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:51 msgid "IP Address Source" msgstr "" -#: vue/components/Admin/GeoLite.vue:8 +#: src/components/Admin/GeoLite.vue:8 msgid "IP Geolocation is used to guess the approximate location of your listeners based on the IP address they connect with. Use the free built-in IP Geolocation library or enter a license key on this page to use MaxMind GeoLite." msgstr "" -#: vue/components/Admin/Relays.vue:77 +#: src/components/Admin/Relays.vue:76 msgid "Is Public" msgstr "" -#: vue/components/Stations/Media.vue:318 -#: vue/components/Stations/Media/Form/BasicInfo.vue:51 +#: src/components/Stations/Media.vue:320 +#: src/components/Stations/Media/Form/BasicInfo.vue:51 #: /var/azuracast/www/src/Media/Enums/MetadataTags.php:105 msgid "ISRC" msgstr "" -#: vue/components/Common/DataTable.vue:77 +#: src/components/Common/DataTable.vue:69 msgid "Items per page" msgstr "" -#: vue/components/Stations/Playlists.vue:92 +#: src/components/Stations/Playlists.vue:88 msgid "Jingle Mode" msgstr "" -#: vue/components/Account/EditForm.vue:32 -#: vue/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:37 +#: src/components/Account/EditForm.vue:32 +#: src/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:36 #: /var/azuracast/www/src/Media/Enums/MetadataTags.php:106 #: /var/azuracast/www/templates/frontend/public/podcasts.phtml:52 msgid "Language" msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:126 -#: vue/components/Common/DateRangeDropdown.vue:139 +#: src/components/Admin/Settings/GeneralTab.vue:127 +#: src/components/Common/DateRangeDropdown.vue:140 msgid "Last 14 Days" msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:142 +#: src/components/Admin/Settings/GeneralTab.vue:143 msgid "Last 2 Years" msgstr "" -#: vue/components/Common/DateRangeDropdown.vue:111 +#: src/components/Common/DateRangeDropdown.vue:112 msgid "Last 24 Hours" msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:130 -#: vue/components/Common/DateRangeDropdown.vue:146 +#: src/components/Admin/Settings/GeneralTab.vue:131 +#: src/components/Common/DateRangeDropdown.vue:147 msgid "Last 30 Days" msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:134 +#: src/components/Admin/Settings/GeneralTab.vue:135 msgid "Last 60 Days" msgstr "" -#: vue/components/Common/DateRangeDropdown.vue:132 +#: src/components/Common/DateRangeDropdown.vue:133 msgid "Last 7 Days" msgstr "" -#: vue/components/Admin/Backups.vue:209 +#: src/components/Admin/Backups.vue:210 msgid "Last Modified" msgstr "" -#: vue/components/Common/DateRangeDropdown.vue:160 +#: src/components/Common/DateRangeDropdown.vue:161 msgid "Last Month" msgstr "" -#: vue/components/Admin/Debug.vue:219 +#: src/components/Admin/Debug.vue:285 msgid "Last Run" msgstr "" -#: vue/components/Admin/Backups.vue:25 +#: src/components/Admin/Backups.vue:25 msgid "Last run:" msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:138 +#: src/components/Admin/Settings/GeneralTab.vue:139 msgid "Last Year" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:233 +#: src/components/Admin/Settings/ServicesTab.vue:233 msgid "Last.fm API Key" msgstr "" -#: vue/components/Admin/Relays.vue:79 +#: src/components/Admin/Relays.vue:78 msgid "Latest Update" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:92 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:91 msgid "Learn about Advanced Playlists" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:19 +#: src/components/Admin/Settings/ServicesTab.vue:19 msgid "Learn more about release channels in the AzuraCast docs." msgstr "" -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:69 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:69 msgid "Learn more about this header." msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:45 -#: vue/components/Admin/Stations/Form/FrontendForm.vue:53 +#: src/components/Admin/Stations/Form/FrontendForm.vue:45 +#: src/components/Admin/Stations/Form/FrontendForm.vue:53 msgid "Leave blank to automatically generate a new password." msgstr "" -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:94 -#: vue/components/Stations/Streamers/Form/ScheduleRow.vue:98 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:94 +#: src/components/Stations/Streamers/Form/ScheduleRow.vue:98 msgid "Leave blank to play on every day of the week." msgstr "" -#: vue/components/Admin/Users/Form.vue:19 -#: vue/components/Stations/SftpUsers/Form.vue:33 +#: src/components/Admin/Users/Form.vue:19 +#: src/components/Stations/SftpUsers/Form.vue:33 msgid "Leave blank to use the current password." msgstr "" -#: vue/components/Stations/Webhooks/Form/Telegram.vue:36 +#: src/components/Stations/Webhooks/Form/Telegram.vue:36 msgid "Leave blank to use the default Telegram API URL (recommended)." msgstr "" -#: vue/components/Stations/Media.vue:319 +#: src/components/Stations/Media.vue:321 #: /var/azuracast/www/src/Media/Enums/MetadataTags.php:107 msgid "Length" msgstr "" -#: vue/components/Setup/Register.vue:28 +#: src/components/Setup/Register.vue:28 msgid "Let's get started by creating your Super Administrator account." msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:43 +#: src/components/Admin/Settings/ServicesTab.vue:43 msgid "LetsEncrypt" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:47 +#: src/components/Admin/Settings/ServicesTab.vue:47 msgid "LetsEncrypt provides simple, free SSL certificates allowing you to secure traffic through your control panel and radio streams." msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:186 -#: vue/components/Stations/Profile/EmbedModal.vue:153 +#: src/components/Admin/Branding/BrandingForm.vue:186 +#: src/components/Stations/Profile/EmbedModal.vue:154 msgid "Light" msgstr "" -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:129 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:130 msgid "Limited" msgstr "" -#: vue/components/Stations/Profile/BackendPanel.vue:119 +#: src/components/Stations/Profile/BackendPanel.vue:120 msgid "LiquidSoap is currently shuffling from %{songs} and %{playlists}." msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:235 +#: src/components/Admin/Stations/Form/BackendForm.vue:235 msgid "Liquidsoap Performance Tuning" msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:102 -#: vue/components/Admin/Stations/Form/FrontendForm.vue:93 +#: src/components/Admin/Stations/Form/FrontendForm.vue:102 +#: src/components/Admin/Stations/Form/FrontendForm.vue:93 msgid "List one IP address or group (in CIDR format) per line." msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:111 +#: src/components/Admin/Stations/Form/FrontendForm.vue:111 msgid "List one user agent per line. Wildcards (*) are allowed." msgstr "" -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:19 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:19 msgid "Listener Analytics Collection" msgstr "" -#: vue/components/Entity/Webhooks.js:45 +#: src/entities/Webhooks.ts:47 msgid "Listener Gained" msgstr "" -#: vue/components/Stations/Reports/Listeners.vue:61 -#: vue/components/Stations/Reports/Listeners.vue:64 +#: src/components/Stations/Reports/Listeners.vue:61 +#: src/components/Stations/Reports/Listeners.vue:64 msgid "Listener History" msgstr "" -#: vue/components/Entity/Webhooks.js:49 +#: src/entities/Webhooks.ts:51 msgid "Listener Lost" msgstr "" -#: vue/components/Stations/Profile/NowPlayingPanel.vue:37 +#: src/components/Stations/Profile/NowPlayingPanel.vue:37 msgid "Listener Report" msgstr "" -#: vue/components/Stations/Queue.vue:60 -#: vue/components/Stations/Reports/Timeline.vue:70 +#: src/components/Stations/Queue.vue:60 +#: src/components/Stations/Reports/Timeline.vue:69 msgid "Listener Request" msgstr "" -#: vue/components/Common/Charts/HourChart.vue:54 -#: vue/components/Common/Charts/TimeSeriesChart.vue:74 -#: vue/components/Dashboard.vue:187 -#: vue/components/Stations/menu.ts:191 -#: vue/components/Stations/Profile/StreamsPanel.vue:115 -#: vue/components/Stations/Profile/StreamsPanel.vue:19 -#: vue/components/Stations/Profile/StreamsPanel.vue:67 -#: vue/components/Stations/Reports/Listeners.vue:9 -#: vue/components/Stations/Reports/Overview/CommonMetricsView.vue:101 -#: vue/components/Stations/Reports/Overview/ListeningTimeTab.vue:63 -#: vue/components/Stations/Reports/Timeline.vue:147 +#: src/components/Common/Charts/HourChart.vue:48 +#: src/components/Common/Charts/TimeSeriesChart.vue:70 +#: src/components/Dashboard.vue:187 +#: src/components/Stations/menu.ts:204 +#: src/components/Stations/Profile/StreamsPanel.vue:115 +#: src/components/Stations/Profile/StreamsPanel.vue:19 +#: src/components/Stations/Profile/StreamsPanel.vue:67 +#: src/components/Stations/Reports/Listeners.vue:9 +#: src/components/Stations/Reports/Overview/CommonMetricsView.vue:88 +#: src/components/Stations/Reports/Overview/ListeningTimeTab.vue:55 +#: src/components/Stations/Reports/Timeline.vue:148 #: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ByStream.php:98 #: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ByCountry.php:74 -#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:77 -#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:124 -#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:179 +#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:83 +#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:133 +#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:222 #: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ByListeningTime.php:85 #: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ByClient.php:81 #: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ByBrowser.php:61 @@ -2889,3424 +2906,3470 @@ msgstr "" msgid "Listeners" msgstr "" -#: vue/components/Stations/Reports/Overview/ListenersByTimePeriodTab.vue:10 -#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:48 +#: src/components/Stations/Reports/Overview/ListenersByTimePeriodTab.vue:42 +#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:54 msgid "Listeners by Day" msgstr "" -#: vue/components/Stations/Reports/Overview/ListenersByTimePeriodTab.vue:23 -#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:96 +#: src/components/Stations/Reports/Overview/ListenersByTimePeriodTab.vue:55 +#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:102 msgid "Listeners by Day of Week" msgstr "" -#: vue/components/Stations/Reports/Overview/ListenersByTimePeriodTab.vue:37 -#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:160 +#: src/components/Stations/Reports/Overview/ListenersByTimePeriodTab.vue:69 +#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:197 msgid "Listeners by Hour" msgstr "" -#: vue/components/Stations/Reports/Overview/ListeningTimeTab.vue:5 +#: src/components/Stations/Reports/Overview/ListeningTimeTab.vue:5 msgid "Listeners by Listening Time" msgstr "" -#: vue/components/Stations/Reports/Overview.vue:34 +#: src/components/Stations/Reports/Overview.vue:30 msgid "Listeners By Time Period" msgstr "" -#: vue/components/Dashboard.vue:108 +#: src/components/Dashboard.vue:108 msgid "Listeners Per Station" msgstr "" -#: vue/components/Stations/Reports/Overview.vue:41 -#: vue/components/Stations/Reports/Overview/ListeningTimeTab.vue:62 +#: src/components/Stations/Reports/Overview.vue:37 +#: src/components/Stations/Reports/Overview/ListeningTimeTab.vue:54 msgid "Listening Time" msgstr "" -#: vue/components/Public/Player.vue:23 -#: vue/components/Stations/Profile/NowPlayingPanel.vue:183 -#: vue/components/Stations/Streamers/BroadcastsModal.vue:107 +#: src/components/Public/Player.vue:23 +#: src/components/Stations/Profile/NowPlayingPanel.vue:183 +#: src/components/Stations/Streamers/BroadcastsModal.vue:111 msgid "Live" msgstr "" -#: vue/components/Admin/Stations/Form/StreamersForm.vue:53 +#: src/components/Admin/Stations/Form/StreamersForm.vue:53 msgid "Live Broadcast Recording Bitrate (kbps)" msgstr "" -#: vue/components/Admin/Stations/Form/StreamersForm.vue:43 +#: src/components/Admin/Stations/Form/StreamersForm.vue:43 msgid "Live Broadcast Recording Format" msgstr "" -#: vue/components/Stations/Reports/Listeners.vue:47 -#: vue/components/Stations/Reports/Listeners.vue:50 +#: src/components/Stations/Reports/Listeners.vue:47 +#: src/components/Stations/Reports/Listeners.vue:50 msgid "Live Listeners" msgstr "" -#: vue/components/Admin/Stations/Form/AdminForm.vue:41 +#: src/components/Admin/Stations/Form/AdminForm.vue:41 msgid "Live Recordings Storage Location" msgstr "" -#: vue/components/Stations/Reports/Timeline.vue:77 +#: src/components/Stations/Reports/Timeline.vue:76 msgid "Live Streamer:" msgstr "" -#: vue/components/Entity/Webhooks.js:53 +#: src/entities/Webhooks.ts:55 msgid "Live Streamer/DJ Connected" msgstr "" -#: vue/components/Entity/Webhooks.js:57 -#: vue/components/Entity/Webhooks.js:61 +#: src/entities/Webhooks.ts:59 msgid "Live Streamer/DJ Disconnected" msgstr "" -#: vue/components/Stations/menu.ts:146 +#: src/components/Stations/menu.ts:159 msgid "Live Streaming" msgstr "" -#: vue/components/Admin/Index.vue:265 +#: src/components/Admin/Index/CpuStatsPanel.vue:115 msgid "Load Average" msgstr "" -#: vue/components/Admin/StorageLocations.vue:173 -#: vue/components/Stations/Reports/Listeners.vue:147 +#: src/components/Common/DataTable.vue:197 +msgid "Loading" +msgstr "" + +#: src/components/Admin/StorageLocations.vue:167 +#: src/components/Stations/Reports/Listeners.vue:148 msgid "Local" msgstr "" -#: vue/components/Admin/StorageLocations/Form.vue:83 +#: src/components/Admin/Stations/Form/FrontendForm.vue:14 +msgid "Local Broadcasting Service" +msgstr "" + +#: src/components/Admin/StorageLocations/Form.vue:83 msgid "Local Filesystem" msgstr "" -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:144 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:145 msgid "Local IP (Default)" msgstr "" -#: vue/components/Stations/Profile/StreamsPanel.vue:16 +#: src/components/Stations/Profile/StreamsPanel.vue:16 msgid "Local Streams" msgstr "" -#: vue/components/Stations/Reports/Listeners.vue:220 +#: src/components/Stations/Reports/Listeners.vue:222 msgid "Location" msgstr "" -#: vue/components/Admin/Users.vue:52 +#: src/components/Admin/Users.vue:46 #: /var/azuracast/www/templates/frontend/account/two_factor.phtml:3 #: /var/azuracast/www/templates/frontend/account/login.phtml:11 msgid "Log In" msgstr "" -#: vue/components/Admin/Debug/TaskOutputModal.vue:4 +#: src/components/Admin/Debug/TaskOutputModal.vue:4 msgid "Log Output" msgstr "" -#: vue/components/Admin/Backups/LastOutputModal.vue:6 -#: vue/components/Common/StreamingLogModal.vue:6 -#: vue/components/Stations/Queue/LogsModal.vue:6 +#: src/components/Admin/Backups/LastOutputModal.vue:6 +#: src/components/Common/StreamingLogModal.vue:6 +#: src/components/Stations/Queue/LogsModal.vue:6 msgid "Log Viewer" msgstr "" -#: vue/components/Stations/menu.ts:295 -#: vue/components/Stations/Queue.vue:25 +#: src/components/Stations/menu.ts:308 +#: src/components/Stations/Queue.vue:25 msgid "Logs" msgstr "" -#: vue/components/Admin/Logs.vue:16 +#: src/components/Admin/Logs.vue:16 msgid "Logs by Station" msgstr "" -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:85 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:85 msgid "Loop Once" msgstr "" -#: vue/components/Stations/Webhooks/Form/Discord.vue:25 -#: vue/components/Stations/Webhooks/Form/Telegram.vue:48 +#: src/components/Stations/Webhooks/Form/Discord.vue:25 +#: src/components/Stations/Webhooks/Form/Telegram.vue:48 msgid "Main Message Content" msgstr "" -#: vue/components/Admin/Stations/Form/HlsForm.vue:40 +#: src/components/Admin/Stations/Form/HlsForm.vue:40 msgid "Make HLS Stream Default in Public Player" msgstr "" -#: vue/components/Stations/Media/MediaToolbar.vue:143 +#: src/components/Stations/Media/MediaToolbar.vue:143 msgid "Make the selected media play immediately, interrupting existing media" msgstr "" -#: vue/components/Admin/Stations.vue:37 -#: vue/components/Dashboard.vue:273 -#: vue/components/Stations/Profile/StreamersPanel.vue:24 +#: src/components/Admin/Stations.vue:31 +#: src/components/Dashboard.vue:273 +#: src/components/Stations/Profile/StreamersPanel.vue:24 msgid "Manage" msgstr "" -#: vue/components/Common/Avatar.vue:8 +#: src/components/Common/Avatar.vue:8 msgid "Manage Avatar" msgstr "" -#: vue/components/Stations/Media.vue:33 +#: src/components/Stations/Media.vue:33 msgid "Manage SFTP Accounts" msgstr "" -#: vue/components/Dashboard.vue:158 +#: src/components/Dashboard.vue:158 msgid "Manage Stations" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:180 +#: src/components/Admin/Stations/Form/BackendForm.vue:180 msgid "Manual AutoDJ Mode" msgstr "" -#: vue/components/Admin/Updates.vue:129 +#: src/components/Admin/Updates.vue:129 msgid "Manual Updates" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:330 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:330 msgid "Manually define how this playlist is used in Liquidsoap configuration." msgstr "" -#: vue/components/Stations/Webhooks/Form/Telegram.vue:133 +#: src/components/Stations/Webhooks/Form/Telegram.vue:134 msgid "Markdown" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:84 +#: src/components/Admin/Stations/Form/BackendForm.vue:84 msgid "Master_me is an open-source automatic mastering plugin for streaming, podcasts and Internet radio." msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:114 +#: src/components/Admin/Stations/Form/BackendForm.vue:114 msgid "Master_me Loudness Target (LUFS)" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:426 +#: src/components/Admin/Stations/Form/BackendForm.vue:420 msgid "Master_me Post-processing" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:105 +#: src/components/Admin/Stations/Form/BackendForm.vue:105 msgid "Master_me Preset" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:89 +#: src/components/Admin/Stations/Form/BackendForm.vue:89 msgid "Master_me Project Homepage" msgstr "" -#: vue/components/Stations/Webhooks/Form/Mastodon.vue:8 +#: src/components/Stations/Webhooks/Form/Mastodon.vue:8 msgid "Mastodon Account Details" msgstr "" -#: vue/components/Stations/Webhooks/Form/Mastodon.vue:42 +#: src/components/Stations/Webhooks/Form/Mastodon.vue:42 msgid "Mastodon Instance URL" msgstr "" -#: vue/components/Entity/Webhooks.js:115 +#: src/entities/Webhooks.ts:119 msgid "Mastodon Post" msgstr "" -#: vue/components/Entity/Webhooks.js:127 +#: src/entities/Webhooks.ts:127 msgid "Matomo Analytics Integration" msgstr "" -#: vue/components/Stations/Webhooks/Form/MatomoAnalytics.vue:28 +#: src/components/Stations/Webhooks/Form/MatomoAnalytics.vue:28 msgid "Matomo API Token" msgstr "" -#: vue/components/Stations/Webhooks/Form/MatomoAnalytics.vue:12 +#: src/components/Stations/Webhooks/Form/MatomoAnalytics.vue:12 msgid "Matomo Installation Base URL" msgstr "" -#: vue/components/Stations/Webhooks/Form/MatomoAnalytics.vue:20 +#: src/components/Stations/Webhooks/Form/MatomoAnalytics.vue:20 msgid "Matomo Site ID" msgstr "" -#: vue/components/Stations/Mounts/Form/BasicInfo.vue:69 +#: src/components/Stations/Mounts/Form/BasicInfo.vue:68 msgid "Max Listener Duration" msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:80 +#: src/components/Admin/Stations/Form/FrontendForm.vue:80 msgid "Maximum Listeners" msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:81 +#: src/components/Admin/Stations/Form/FrontendForm.vue:81 msgid "Maximum number of total listeners across all streams. Leave blank to use the default." msgstr "" -#: vue/components/Admin/GeoLite.vue:32 +#: src/components/Admin/GeoLite.vue:32 msgid "MaxMind Developer Site" msgstr "" -#: vue/components/Admin/GeoLite.vue:77 +#: src/components/Admin/GeoLite.vue:77 msgid "MaxMind License Key" msgstr "" -#: vue/components/Stations/Webhooks/Form/GoogleAnalyticsV4.vue:19 +#: src/components/Stations/Webhooks/Form/GoogleAnalyticsV4.vue:19 msgid "Measurement ID" msgstr "" -#: vue/components/Stations/Webhooks/Form/GoogleAnalyticsV4.vue:11 +#: src/components/Stations/Webhooks/Form/GoogleAnalyticsV4.vue:11 msgid "Measurement Protocol API Secret" msgstr "" -#: vue/components/Stations/menu.ts:56 -#: vue/components/Stations/Podcasts/EpisodeForm/Media.vue:2 +#: src/components/Stations/menu.ts:69 +#: src/components/Stations/Podcasts/EpisodeForm/Media.vue:2 msgid "Media" msgstr "" -#: vue/components/Stations/BulkMedia.vue:103 +#: src/components/Stations/BulkMedia.vue:103 msgid "Media File" msgstr "" -#: vue/components/Admin/Stations/Form/AdminForm.vue:33 +#: src/components/Admin/Stations/Form/AdminForm.vue:33 msgid "Media Storage Location" msgstr "" -#: vue/components/Admin/Index.vue:52 +#: src/components/Admin/Index/MemoryStatsPanel.vue:6 msgid "Memory" msgstr "" -#: vue/components/Admin/Index/MemoryStatsHelpModal.vue:7 +#: src/components/Admin/Index/MemoryStatsHelpModal.vue:7 msgid "Memory Stats Help" msgstr "" -#: vue/components/Stations/Playlists/Form/Advanced.vue:59 +#: src/components/Stations/Playlists/Form/Advanced.vue:60 msgid "Merge playlist to play as a single track." msgstr "" -#: vue/components/Stations/Webhooks/Form/Email.vue:30 +#: src/components/Stations/Webhooks/Form/Email.vue:30 msgid "Message Body" msgstr "" -#: vue/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:11 +#: src/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:11 msgid "Message Body on Song Change" msgstr "" -#: vue/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:20 +#: src/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:20 msgid "Message Body on Song Change with Streamer/DJ Connected" msgstr "" -#: vue/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:47 +#: src/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:47 msgid "Message Body on Station Offline" msgstr "" -#: vue/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:56 +#: src/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:56 msgid "Message Body on Station Online" msgstr "" -#: vue/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:29 +#: src/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:29 msgid "Message Body on Streamer/DJ Connect" msgstr "" -#: vue/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:38 +#: src/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:38 msgid "Message Body on Streamer/DJ Disconnect" msgstr "" -#: vue/components/Stations/Webhooks/Form/Common/FormattingInfo.vue:4 +#: src/components/Stations/Webhooks/Form/Common/FormattingInfo.vue:4 msgid "Message Customization Tips" msgstr "" -#: vue/components/Stations/Webhooks/Form/Telegram.vue:58 +#: src/components/Stations/Webhooks/Form/Telegram.vue:58 msgid "Message parsing mode" msgstr "" -#: vue/components/Admin/Debug.vue:83 +#: src/components/Admin/Debug.vue:112 msgid "Message Queues" msgstr "" -#: vue/components/Stations/Webhooks/Form/Email.vue:11 +#: src/components/Stations/Webhooks/Form/Email.vue:11 msgid "Message Recipient(s)" msgstr "" -#: vue/components/Stations/Webhooks/Form/Email.vue:23 +#: src/components/Stations/Webhooks/Form/Email.vue:23 msgid "Message Subject" msgstr "" -#: vue/components/Stations/Webhooks/Form/Mastodon.vue:64 +#: src/components/Stations/Webhooks/Form/Mastodon.vue:64 msgid "Message Visibility" msgstr "" -#: vue/components/Public/WebDJ/MicrophonePanel.vue:7 +#: src/components/Public/WebDJ/MicrophonePanel.vue:7 msgid "Microphone" msgstr "" -#: vue/components/Public/WebDJ/MicrophonePanel.vue:43 +#: src/components/Public/WebDJ/MicrophonePanel.vue:43 msgid "Microphone Source" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:176 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:175 msgid "Minute of Hour to Play" msgstr "" -#: vue/components/Public/WebDJ/MixerPanel.vue:7 +#: src/components/Public/WebDJ/MixerPanel.vue:7 msgid "Mixer" msgstr "" -#: vue/components/Stations/Reports/Listeners.vue:124 +#: src/components/Stations/Reports/Listeners.vue:125 #: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ByClient.php:62 msgid "Mobile Device" msgstr "" -#: vue/components/Stations/Media.vue:336 +#: src/components/Stations/Media.vue:338 msgid "Modified" msgstr "" -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:144 -#: vue/components/Stations/Streamers/Form/ScheduleRow.vue:144 -#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:104 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:145 +#: src/components/Stations/Reports/Overview/ListenersByTimePeriodTab.vue:175 +#: src/components/Stations/Streamers/Form/ScheduleRow.vue:145 +#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:110 msgid "Monday" msgstr "" -#: vue/components/Stations/Media/MediaToolbar.vue:123 -#: vue/components/Stations/Playlists.vue:47 -#: vue/components/Stations/Playlists.vue:51 -#: vue/components/Stations/Playlists.vue:55 -#: vue/components/Stations/Playlists.vue:62 -#: vue/components/Stations/Playlists.vue:70 +#: src/components/Stations/Media/MediaToolbar.vue:123 +#: src/components/Stations/Playlists.vue:42 +#: src/components/Stations/Playlists.vue:45 +#: src/components/Stations/Playlists.vue:48 +#: src/components/Stations/Playlists.vue:51 +#: src/components/Stations/Playlists.vue:58 +#: src/components/Stations/Playlists.vue:66 msgid "More" msgstr "" -#: vue/components/Admin/Index/CpuStatsHelpModal.vue:19 +#: src/components/Admin/Index/CpuStatsHelpModal.vue:19 msgid "Most hosting providers will put more Virtual Machines (VPSes) on a server than the hardware can handle when each VM is running at full CPU load. This is called over-provisioning, which can lead to other VMs on the server \"stealing\" CPU time from your VM and vice-versa." msgstr "" -#: vue/components/Stations/Reports/Overview/BestAndWorstTab.vue:90 +#: src/components/Stations/Reports/Overview/BestAndWorstTab.vue:90 msgid "Most Played Songs" msgstr "" -#: vue/components/Admin/Backups.vue:59 +#: src/components/Admin/Backups.vue:59 msgid "Most Recent Backup Log" msgstr "" -#: vue/components/Stations/Streamers/ConnectionInfo.vue:37 +#: src/components/Stations/Streamers/ConnectionInfo.vue:37 msgid "Mount Name:" msgstr "" -#: vue/components/Stations/Mounts/Form/Advanced.vue:12 -#: vue/components/Stations/Mounts/Form/BasicInfo.vue:12 +#: src/components/Stations/Mounts/Form/Advanced.vue:12 +#: src/components/Stations/Mounts/Form/BasicInfo.vue:11 msgid "Mount Point URL" msgstr "" -#: vue/components/Admin/Stations/CloneModalForm.vue:63 -#: vue/components/Stations/menu.ts:227 -#: vue/components/Stations/Mounts.vue:2 +#: src/components/Admin/Stations/CloneModalForm.vue:63 +#: src/components/Stations/menu.ts:240 +#: src/components/Stations/Mounts.vue:2 msgid "Mount Points" msgstr "" -#: vue/components/Stations/Mounts.vue:6 +#: src/components/Stations/Mounts.vue:6 msgid "Mount points are how listeners connect and listen to your station. Each mount point can be a different audio format or quality. Using mount points, you can set up a high-quality stream for broadband listeners and a mobile stream for phone users." msgstr "" -#: vue/components/Stations/Media/MediaToolbar.vue:109 +#: src/components/Stations/Media/MediaToolbar.vue:109 msgid "Move" msgstr "" -#: vue/components/Stations/Media/MoveFilesModal.vue:117 +#: src/components/Stations/Media/MoveFilesModal.vue:121 msgid "Move %{ num } File(s) to" msgstr "" -#: vue/components/Stations/Media/MoveFilesModal.vue:39 -#: vue/components/Stations/Media/MoveFilesModal.vue:40 -#: vue/components/Stations/Media/MoveFilesModal.vue:62 -#: vue/components/Stations/Media/MoveFilesModal.vue:66 +#: src/components/Stations/Media/MoveFilesModal.vue:39 +#: src/components/Stations/Media/MoveFilesModal.vue:40 +#: src/components/Stations/Media/MoveFilesModal.vue:63 +#: src/components/Stations/Media/MoveFilesModal.vue:67 msgid "Move to Directory" msgstr "" -#: vue/components/Stations/Media.vue:11 -#: vue/components/Stations/menu.ts:62 -#: vue/components/Stations/Profile/BackendPanel.vue:28 +#: src/components/Stations/Media.vue:11 +#: src/components/Stations/menu.ts:75 +#: src/components/Stations/Profile/BackendPanel.vue:28 msgid "Music Files" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:453 +#: src/components/Admin/Stations/Form/BackendForm.vue:447 msgid "Music General" msgstr "" -#: vue/components/Account/ChangePasswordModal.vue:71 +#: src/components/Account/ChangePasswordModal.vue:71 msgid "Must match new password." msgstr "" -#: vue/components/Common/MuteButton.vue:47 -#: vue/components/Common/Waveform.vue:37 +#: src/components/Common/MuteButton.vue:48 +#: src/components/Common/Waveform.vue:37 msgid "Mute" msgstr "" -#: vue/components/Account.vue:4 -#: vue/components/Dashboard.vue:36 -#: vue/components/PanelLayout.vue:83 +#: src/components/Account.vue:4 +#: src/components/Dashboard.vue:36 +#: src/components/PanelLayout.vue:80 +#: src/components/PanelLayout.vue:83 #: /var/azuracast/www/src/Controller/Frontend/Profile/IndexAction.php:31 msgid "My Account" msgstr "" -#: vue/components/Admin/AuditLog.vue:66 +#: src/components/Admin/AuditLog.vue:65 msgid "N/A" msgstr "" -#: vue/components/Account/EditForm.vue:7 -#: vue/components/Admin/Stations.vue:119 -#: vue/components/Admin/Stations/Form/ProfileForm.vue:12 -#: vue/components/Public/Requests.vue:73 -#: vue/components/Stations/HlsStreams.vue:88 -#: vue/components/Stations/Media.vue:307 -#: vue/components/Stations/Mounts.vue:107 -#: vue/components/Stations/Remotes.vue:99 +#: src/components/Account/EditForm.vue:7 +#: src/components/Admin/Stations.vue:113 +#: src/components/Admin/Stations/Form/ProfileForm.vue:11 +#: src/components/Public/Requests.vue:73 +#: src/components/Stations/HlsStreams.vue:82 +#: src/components/Stations/Media.vue:309 +#: src/components/Stations/Mounts.vue:101 +#: src/components/Stations/Remotes.vue:93 msgid "Name" msgstr "" -#: vue/components/Stations/Webhooks.vue:129 +#: src/components/Stations/Webhooks.vue:132 msgid "Name/Type" msgstr "" -#: vue/components/Stations/Help.vue:34 +#: src/components/Stations/Logs.vue:34 msgid "Need Help?" msgstr "" -#: vue/components/Admin/Index.vue:337 +#: src/components/Admin/Index/NetworkStatsPanel.vue:5 msgid "Network Interfaces" msgstr "" -#: vue/components/Admin/Backups.vue:32 +#: src/components/Admin/Backups.vue:32 msgid "Never run" msgstr "" -#: vue/components/Stations/Media/NewDirectoryModal.vue:6 +#: src/components/Stations/Media/NewDirectoryModal.vue:6 msgid "New Directory" msgstr "" -#: vue/components/Stations/Media/NewDirectoryModal.vue:92 +#: src/components/Stations/Media/NewDirectoryModal.vue:99 msgid "New directory created." msgstr "" -#: vue/components/Stations/Media/RenameModal.vue:13 +#: src/components/Stations/Media/RenameModal.vue:15 msgid "New File Name" msgstr "" -#: vue/components/Stations/Media/MediaToolbar.vue:182 +#: src/components/Stations/Media/MediaToolbar.vue:182 msgid "New Folder" msgstr "" -#: vue/components/Account/ApiKeyNewKey.vue:3 +#: src/components/Account/ApiKeyNewKey.vue:3 msgid "New Key Generated" msgstr "" -#: vue/components/Account/ChangePasswordModal.vue:23 -#: vue/components/Stations/SftpUsers/Form.vue:20 +#: src/components/Account/ChangePasswordModal.vue:23 +#: src/components/Stations/SftpUsers/Form.vue:20 msgid "New Password" msgstr "" -#: vue/components/Stations/Media/MediaToolbar.vue:77 +#: src/components/Stations/Media/MediaToolbar.vue:77 msgid "New Playlist" msgstr "" -#: vue/components/Stations/Playlists/CloneModal.vue:15 +#: src/components/Stations/Playlists/CloneModal.vue:15 msgid "New Playlist Name" msgstr "" -#: vue/components/Admin/Stations/CloneModalForm.vue:15 +#: src/components/Admin/Stations/CloneModalForm.vue:15 msgid "New Station Description" msgstr "" -#: vue/components/Admin/Stations/CloneModalForm.vue:7 +#: src/components/Admin/Stations/CloneModalForm.vue:7 msgid "New Station Name" msgstr "" -#: vue/components/Common/DataTable.vue:22 -msgid "Next page" -msgstr "" - -#: vue/components/Admin/Debug.vue:227 +#: src/components/Admin/Debug.vue:293 msgid "Next Run" msgstr "" -#: vue/components/Admin/Relays.vue:42 +#: src/components/Admin/Relays.vue:41 msgid "No" msgstr "" -#: vue/components/Admin/Stations/Form/Common/BackendDisabled.vue:4 +#: src/components/Admin/Stations/Form/Common/BackendDisabled.vue:4 msgid "No AutoDJ Enabled" msgstr "" -#: vue/components/Stations/Media/MediaToolbar.vue:254 +#: src/components/Stations/Media/MediaToolbar.vue:255 msgid "No files selected." msgstr "" -#: vue/components/Stations/Webhooks/Form/Common/RateLimitFields.vue:48 +#: src/components/Stations/Webhooks/Form/Common/RateLimitFields.vue:49 msgid "No Limit" msgstr "" -#: vue/components/Stations/Playlists/ImportModal.vue:44 +#: src/components/Stations/Playlists/ImportModal.vue:44 msgid "No Match" msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:73 -#: vue/components/Admin/Stations/Form/StreamersForm.vue:87 +#: src/components/Admin/Stations/Form/FrontendForm.vue:73 +#: src/components/Admin/Stations/Form/StreamersForm.vue:87 msgid "No other program can be using this port. Leave blank to automatically assign a port." msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:418 +#: src/components/Admin/Stations/Form/BackendForm.vue:412 msgid "No Post-processing" msgstr "" -#: vue/components/Public/FullPlayer/SongHistory.vue:4 +#: src/components/Public/FullPlayer/SongHistory.vue:4 msgid "No records to display." msgstr "" -#: vue/components/Admin/CustomFields.vue:98 -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:134 -#: vue/components/Stations/Playlists.vue:362 +#: src/components/Common/DataTable.vue:206 +msgid "No records." +msgstr "" + +#: src/components/Admin/CustomFields.vue:92 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:135 +#: src/components/Stations/Playlists.vue:363 #: /var/azuracast/www/src/Entity/Repository/StorageLocationRepository.php:74 msgid "None" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:405 +#: src/components/Admin/Stations/Form/BackendForm.vue:399 msgid "Normal Mode" msgstr "" -#: vue/components/Stations/Reports/Requests.vue:63 +#: src/components/Stations/Reports/Requests.vue:63 msgid "Not Played" msgstr "" -#: vue/components/Admin/Debug.vue:221 +#: src/components/Admin/Debug.vue:287 msgid "Not Run" msgstr "" -#: vue/components/Common/Badges/RunningBadge.vue:30 +#: src/components/Common/Badges/RunningBadge.vue:30 msgid "Not Running" msgstr "" -#: vue/components/Stations/Playlists/Form/Schedule.vue:8 -#: vue/components/Stations/Streamers/Form/Schedule.vue:8 +#: src/components/Stations/Playlists/Form/Schedule.vue:8 +#: src/components/Stations/Streamers/Form/Schedule.vue:8 msgid "Not Scheduled" msgstr "" -#: vue/components/Admin/Backups.vue:80 +#: src/components/Admin/Backups.vue:80 msgid "Note that restoring a backup will clear your existing database. Never restore backup files from untrusted users." msgstr "" -#: vue/components/Stations/BulkMedia.vue:26 +#: src/components/Admin/StereoTool.vue:14 +msgid "Note that Stereo Tool can be resource-intensive for both CPU and Memory. Please ensure you have sufficient resources before proceeding." +msgstr "" + +#: src/components/Stations/BulkMedia.vue:26 msgid "Note: If your media metadata has UTF-8 characters, you should use a spreadsheet editor that supports UTF-8 encoding, like OpenOffice." msgstr "" -#: vue/components/Admin/Stations/Form/ProfileForm.vue:36 +#: src/components/Admin/Stations/Form/ProfileForm.vue:35 msgid "Note: This should be the public-facing homepage of the radio station, not the AzuraCast URL. It will be included in broadcast details." msgstr "" -#: vue/components/Stations/Streamers.vue:160 +#: src/components/Stations/Streamers.vue:156 msgid "Notes" msgstr "" -#: vue/components/Admin/Debug/TaskOutput.vue:95 +#: src/components/Admin/Debug/TaskOutput.vue:92 msgid "Notice" msgstr "" -#: vue/components/Common/DateRangeDropdown.vue:13 -#: vue/components/Stations/Profile/SchedulePanel.vue:32 +#: src/components/Common/DateRangeDropdown.vue:13 +#: src/components/Stations/Profile/SchedulePanel.vue:32 msgid "Now" msgstr "" -#: vue/components/Dashboard.vue:189 -#: vue/components/Stations/Profile/NowPlayingPanel.vue:56 +#: src/components/Dashboard.vue:189 +#: src/components/Stations/Profile/NowPlayingPanel.vue:56 msgid "Now Playing" msgstr "" -#: vue/components/Stations/Webhooks/Form/Discord.vue:118 +#: src/components/Stations/Webhooks/Form/Discord.vue:119 msgid "Now playing on %{ station }:" msgstr "" -#: vue/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:105 +#: src/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:105 msgid "Now playing on %{ station }: %{ title } by %{ artist } with your host, %{ dj }! Tune in now: %{ url }" msgstr "" -#: vue/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:96 +#: src/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:96 msgid "Now playing on %{ station }: %{ title } by %{ artist }! Tune in now: %{ url }" msgstr "" -#: vue/components/Stations/Webhooks/Form/Telegram.vue:116 +#: src/components/Stations/Webhooks/Form/Telegram.vue:117 msgid "Now playing on %{ station }: %{ title } by %{ artist }! Tune in now." msgstr "" -#: vue/components/Stations/Webhooks/Form/Common/FormattingInfo.vue:18 -#: vue/components/Stations/Webhooks/Form/Generic.vue:24 +#: src/components/Stations/Webhooks/Form/Common/FormattingInfo.vue:18 +#: src/components/Stations/Webhooks/Form/Generic.vue:24 msgid "NowPlaying API Response" msgstr "" -#: vue/components/Admin/Backups/ConfigureModal.vue:56 +#: src/components/Admin/Backups/ConfigureModal.vue:56 msgid "Number of Backup Copies to Keep" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:158 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:157 msgid "Number of Minutes Between Plays" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:39 +#: src/components/Admin/Stations/Form/BackendForm.vue:39 msgid "Number of seconds to overlap songs." msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:140 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:139 msgid "Number of Songs Between Plays" msgstr "" -#: vue/components/Admin/Stations/Form/ProfileForm.vue:70 +#: src/components/Admin/Stations/Form/ProfileForm.vue:69 msgid "Number of Visible Recent Songs" msgstr "" -#: vue/components/Stations/Profile/NowPlayingNotStartedPanel.vue:5 -#: vue/components/Stations/Profile/NowPlayingPanel.vue:10 +#: src/components/Stations/Profile/NowPlayingNotStartedPanel.vue:5 +#: src/components/Stations/Profile/NowPlayingPanel.vue:10 msgid "On the Air" msgstr "" -#: vue/components/Stations/Playlists.vue:104 +#: src/components/Stations/Playlists.vue:100 msgid "On-Demand" msgstr "" -#: vue/components/Public/OnDemand.vue:24 -#: vue/components/Stations/menu.ts:103 -#: vue/components/Stations/Profile/EmbedModal.vue:138 -#: vue/components/Stations/Profile/PublicPagesPanel.vue:39 +#: src/components/Public/OnDemand.vue:24 +#: src/components/Stations/menu.ts:116 +#: src/components/Stations/Profile/EmbedModal.vue:139 +#: src/components/Stations/Profile/PublicPagesPanel.vue:39 #: /var/azuracast/www/src/Controller/Frontend/PublicPages/OnDemandAction.php:74 msgid "On-Demand Media" msgstr "" -#: vue/components/Admin/Stations/Form/ProfileForm.vue:98 +#: src/components/Admin/Stations/Form/ProfileForm.vue:97 msgid "On-Demand Streaming" msgstr "" -#: vue/components/Stations/Playlists.vue:141 +#: src/components/Stations/Playlists.vue:137 msgid "Once per %{minutes} Minutes" msgstr "" -#: vue/components/Stations/Playlists.vue:133 +#: src/components/Stations/Playlists.vue:129 msgid "Once per %{songs} Songs" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:166 -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:324 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:165 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:324 msgid "Once per Hour" msgstr "" -#: vue/components/Stations/Playlists.vue:149 +#: src/components/Stations/Playlists.vue:145 msgid "Once per Hour (at %{minute})" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:148 -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:319 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:147 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:319 msgid "Once per x Minutes" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:130 -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:314 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:129 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:314 msgid "Once per x Songs" msgstr "" -#: vue/components/Stations/Webhooks/Form/Mastodon.vue:32 +#: src/components/Stations/Webhooks/Form/Mastodon.vue:32 msgid "Once these steps are completed, enter the \"Access Token\" from the application's page into the field below." msgstr "" -#: vue/components/Stations/Webhooks/Form/Twitter.vue:36 -msgid "Once these steps are completed, enter the information from the \"Keys and Access Tokens\" page into the fields below." -msgstr "" - -#: vue/components/Admin/Index/CpuStatsHelpModal.vue:54 +#: src/components/Admin/Index/CpuStatsHelpModal.vue:54 msgid "One important note on I/O Wait is that it can indicate a bottleneck or problem but also may be completely meaningless, depending on the workload and general available resources. A constantly high I/O Wait should prompt further investigation with more sophisticated tools." msgstr "" -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:130 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:131 msgid "Only collect aggregate listener statistics" msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:282 -msgid "Only connect to a remote server." -msgstr "" - -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:86 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:86 msgid "Only loop through playlist once." msgstr "" -#: vue/components/Stations/Playlists/Form/Advanced.vue:55 +#: src/components/Stations/Playlists/Form/Advanced.vue:56 msgid "Only play one track at scheduled time." msgstr "" -#: vue/components/Stations/Webhooks/Form/Common/RateLimitFields.vue:7 +#: src/components/Stations/Webhooks/Form/Common/RateLimitFields.vue:7 msgid "Only Post Once Every..." msgstr "" -#: vue/components/Admin/AuditLog.vue:125 +#: src/components/Admin/AuditLog.vue:125 msgid "Operation" msgstr "" -#: vue/components/Stations/Webhooks/Form/Generic.vue:60 +#: src/components/Stations/Webhooks/Form/Generic.vue:60 msgid "Optional: HTTP Basic Authentication Password" msgstr "" -#: vue/components/Stations/Webhooks/Form/Generic.vue:52 +#: src/components/Stations/Webhooks/Form/Generic.vue:52 msgid "Optional: HTTP Basic Authentication Username" msgstr "" -#: vue/components/Stations/Webhooks/Form/Generic.vue:70 +#: src/components/Stations/Webhooks/Form/Generic.vue:70 msgid "Optional: Request Timeout (Seconds)" msgstr "" -#: vue/components/Admin/CustomFields/Form.vue:30 +#: src/components/Admin/CustomFields/Form.vue:30 msgid "Optionally select an ID3v2 metadata field that, if present, will be used to set this field's value." msgstr "" -#: vue/components/Admin/Stations/Form/ProfileForm.vue:58 +#: src/components/Admin/Stations/Form/ProfileForm.vue:57 msgid "Optionally specify a short URL-friendly name, such as \"my_station_name\", that will be used in this station's URLs. Leave this field blank to automatically create one based on the station name." msgstr "" -#: vue/components/Admin/CustomFields/Form.vue:19 +#: src/components/Admin/CustomFields/Form.vue:19 msgid "Optionally specify an API-friendly name, such as \"field_name\". Leave this field blank to automatically create one based on the name." msgstr "" -#: vue/components/Stations/Webhooks/Form/MatomoAnalytics.vue:29 +#: src/components/Stations/Webhooks/Form/MatomoAnalytics.vue:29 msgid "Optionally supply an API token to allow IP address overriding." msgstr "" -#: vue/components/Stations/SftpUsers/Form.vue:51 +#: src/components/Stations/SftpUsers/Form.vue:51 msgid "Optionally supply SSH public keys this user can use to connect instead of a password. Enter one key per line." msgstr "" -#: vue/components/Stations/Streamers/ConnectionInfo.vue:72 +#: src/components/Stations/Streamers/ConnectionInfo.vue:72 msgid "or" msgstr "" -#: vue/components/Stations/Playlists/ImportModal.vue:25 +#: src/components/Stations/Playlists/ImportModal.vue:25 msgid "Original Path" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:363 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:363 msgid "Other Remote URL (File, HLS, etc.)" msgstr "" -#: vue/components/Admin/ApiKeys.vue:54 +#: src/components/Admin/ApiKeys.vue:54 msgid "Owner" msgstr "" -#: vue/components/Common/DataTable.vue:24 +#: src/components/Common/Pagination.vue:50 msgid "Page" msgstr "" -#: vue/components/Admin/Users/Form.vue:16 -#: vue/components/Public/WebDJ/SettingsPanel.vue:90 -#: vue/components/Recover.vue:51 -#: vue/components/Setup/Register.vue:82 -#: vue/components/Stations/SftpUsers/Form.vue:26 +#: src/components/Admin/Users/Form.vue:16 +#: src/components/Public/WebDJ/SettingsPanel.vue:90 +#: src/components/Recover.vue:51 +#: src/components/Setup/Register.vue:82 +#: src/components/Stations/SftpUsers/Form.vue:26 #: /var/azuracast/www/templates/frontend/account/login.phtml:55 #: /var/azuracast/www/templates/frontend/account/login.phtml:59 msgid "Password" msgstr "" -#: vue/components/Stations/Profile/FrontendPanel.vue:42 -#: vue/components/Stations/Profile/FrontendPanel.vue:74 -#: vue/components/Stations/Profile/FrontendPanel.vue:95 -#: vue/components/Stations/Streamers/ConnectionInfo.vue:68 +#: src/components/Stations/Profile/FrontendPanel.vue:42 +#: src/components/Stations/Profile/FrontendPanel.vue:74 +#: src/components/Stations/Profile/FrontendPanel.vue:95 +#: src/components/Stations/Streamers/ConnectionInfo.vue:68 msgid "Password:" msgstr "" -#: vue/components/Admin/GeoLite.vue:45 +#: src/components/Admin/GeoLite.vue:45 msgid "Paste the generated license key into the field on this page." msgstr "" -#: vue/components/Admin/StorageLocations/Form.vue:22 +#: src/components/Admin/StorageLocations/Form.vue:21 msgid "Path/Suffix" msgstr "" -#: vue/components/Stations/Reports/Requests.vue:129 +#: src/components/Stations/Reports/Requests.vue:131 msgid "Pending Requests" msgstr "" -#: vue/components/Admin/Permissions.vue:114 +#: src/components/Admin/Permissions.vue:107 msgid "Permissions" msgstr "" -#: vue/components/Common/PlayButton.vue:64 -#: vue/components/Stations/Media/Form/WaveformEditor.vue:20 +#: src/components/Common/PlayButton.vue:62 +#: src/components/Stations/Media/Form/WaveformEditor.vue:20 msgid "Play" msgstr "" -#: vue/components/Stations/Media/MediaToolbar.vue:140 +#: src/components/Stations/Media/MediaToolbar.vue:140 msgid "Play Now" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:320 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:320 msgid "Play once every $x minutes." msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:315 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:315 msgid "Play once every $x songs." msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:325 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:325 msgid "Play once per hour at the specified minute." msgstr "" -#: vue/components/Stations/Playlists.vue:144 -#: vue/components/Stations/Playlists.vue:145 -#: vue/components/Stations/Playlists.vue:152 -#: vue/components/Stations/Playlists.vue:156 -#: vue/components/Stations/Playlists.vue:160 -#: vue/components/Stations/Playlists.vue:196 -#: vue/components/Stations/Playlists.vue:224 -#: vue/components/Stations/Playlists/QueueModal.vue:6 +#: src/components/Stations/Playlists.vue:139 +#: src/components/Stations/Playlists.vue:140 +#: src/components/Stations/Playlists.vue:147 +#: src/components/Stations/Playlists.vue:150 +#: src/components/Stations/Playlists.vue:153 +#: src/components/Stations/Playlists.vue:156 +#: src/components/Stations/Playlists.vue:192 +#: src/components/Stations/Playlists.vue:220 +#: src/components/Stations/Playlists/QueueModal.vue:6 msgid "Playback Queue" msgstr "" -#: vue/components/Stations/Profile/NowPlayingPanel.vue:129 +#: src/components/Stations/Profile/NowPlayingPanel.vue:129 msgid "Playing Next" msgstr "" -#: vue/components/Public/FullPlayer.vue:42 -#: vue/components/Stations/Playlists.vue:340 -#: vue/components/Stations/Profile/NowPlayingPanel.vue:101 -#: vue/components/Stations/Profile/NowPlayingPanel.vue:170 -#: vue/components/Stations/Profile/SchedulePanel.vue:19 -#: vue/components/Stations/Queue.vue:63 +#: src/components/Public/FullPlayer.vue:42 +#: src/components/Stations/Playlists.vue:341 +#: src/components/Stations/Profile/NowPlayingPanel.vue:101 +#: src/components/Stations/Profile/NowPlayingPanel.vue:170 +#: src/components/Stations/Profile/SchedulePanel.vue:19 +#: src/components/Stations/Queue.vue:63 msgid "Playlist" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:359 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:359 msgid "Playlist (M3U/PLS) URL" msgstr "" -#: vue/components/Public/WebDJ/MixerPanel.vue:13 -#: vue/components/Public/WebDJ/PlaylistPanel.vue:270 +#: src/components/Public/WebDJ/MixerPanel.vue:13 +#: src/components/Public/WebDJ/PlaylistPanel.vue:271 msgid "Playlist 1" msgstr "" -#: vue/components/Public/WebDJ/MixerPanel.vue:28 -#: vue/components/Public/WebDJ/PlaylistPanel.vue:271 +#: src/components/Public/WebDJ/MixerPanel.vue:28 +#: src/components/Public/WebDJ/PlaylistPanel.vue:272 msgid "Playlist 2" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:12 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:11 msgid "Playlist Name" msgstr "" -#: vue/components/Stations/Playlists/ReorderModal.vue:127 +#: src/components/Stations/Playlists/ReorderModal.vue:130 msgid "Playlist order set." msgstr "" -#: vue/components/Stations/Playlists/QueueModal.vue:100 +#: src/components/Stations/Playlists/QueueModal.vue:99 #: /var/azuracast/www/src/Controller/Api/Stations/Playlists/DeleteQueueAction.php:38 msgid "Playlist queue cleared." msgstr "" -#: vue/components/Stations/Playlists/ApplyToModal.vue:155 +#: src/components/Stations/Playlists/ApplyToModal.vue:147 msgid "Playlist successfully applied to folders." msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:88 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:87 msgid "Playlist Type" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:122 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:121 msgid "Playlist Weight" msgstr "" -#: vue/components/Stations/Playlists/ApplyToModal.vue:15 -#: vue/components/Stations/Reports/Timeline.vue:73 +#: src/components/Stations/Playlists/ApplyToModal.vue:15 +#: src/components/Stations/Reports/Timeline.vue:72 msgid "Playlist:" msgstr "" -#: vue/components/Admin/Stations/CloneModalForm.vue:59 -#: vue/components/Stations/Media.vue:352 -#: vue/components/Stations/Media/EditModal.vue:22 -#: vue/components/Stations/Media/Form/Playlists.vue:9 -#: vue/components/Stations/Media/MediaToolbar.vue:17 -#: vue/components/Stations/menu.ts:128 -#: vue/components/Stations/Playlists.vue:11 -#: vue/components/Stations/Profile/BackendPanel.vue:34 +#: src/components/Admin/Stations/CloneModalForm.vue:59 +#: src/components/Stations/Media.vue:354 +#: src/components/Stations/Media/EditModal.vue:15 +#: src/components/Stations/Media/Form/Playlists.vue:9 +#: src/components/Stations/Media/MediaToolbar.vue:17 +#: src/components/Stations/menu.ts:141 +#: src/components/Stations/Playlists.vue:11 +#: src/components/Stations/Profile/BackendPanel.vue:34 msgid "Playlists" msgstr "" -#: vue/components/Stations/Media/MediaToolbar.vue:343 +#: src/components/Stations/Media/MediaToolbar.vue:340 msgid "Playlists cleared for selected files:" msgstr "" -#: vue/components/Stations/Media/MediaToolbar.vue:342 +#: src/components/Stations/Media/MediaToolbar.vue:339 msgid "Playlists updated for selected files:" msgstr "" -#: vue/components/Stations/Reports/Overview/BestAndWorstTab.vue:101 +#: src/components/Stations/Reports/Overview/BestAndWorstTab.vue:101 msgid "Plays" msgstr "" -#: vue/components/Stations/Podcasts/ListView.vue:127 +#: src/components/Stations/Podcasts/ListView.vue:122 msgid "Podcast" msgstr "" -#: vue/components/Stations/Podcasts/EpisodeForm/Media.vue:13 +#: src/components/Stations/Podcasts/EpisodeForm/Media.vue:13 msgid "Podcast media should be in the MP3 or M4A (AAC) format for the greatest compatibility." msgstr "" -#: vue/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:12 +#: src/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:11 msgid "Podcast Title" msgstr "" -#: vue/components/Stations/menu.ts:137 -#: vue/components/Stations/Podcasts/ListView.vue:10 -#: vue/components/Stations/Profile/PublicPagesPanel.vue:48 +#: src/components/Stations/menu.ts:150 +#: src/components/Stations/Podcasts/ListView.vue:10 +#: src/components/Stations/Profile/PublicPagesPanel.vue:48 msgid "Podcasts" msgstr "" -#: vue/components/Admin/Stations/Form/AdminForm.vue:49 +#: src/components/Admin/Stations/Form/AdminForm.vue:49 msgid "Podcasts Storage Location" msgstr "" -#: vue/components/Stations/Profile/FrontendPanel.vue:55 +#: src/components/Stations/Profile/FrontendPanel.vue:55 msgid "Port" msgstr "" -#: vue/components/Stations/SftpUsers.vue:67 -#: vue/components/Stations/Streamers/ConnectionInfo.vue:32 -#: vue/components/Stations/Streamers/ConnectionInfo.vue:59 +#: src/components/Stations/SftpUsers.vue:61 +#: src/components/Stations/Streamers/ConnectionInfo.vue:32 +#: src/components/Stations/Streamers/ConnectionInfo.vue:59 msgid "Port:" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:49 +#: src/components/Admin/Stations/Form/BackendForm.vue:49 msgid "Post-processing allows you to apply audio processors (like compressors, limiters, or equalizers) to your stream to create a more uniform sound or enhance the listening experience. Post-processing requires extra CPU resources, so it may slow down your server." msgstr "" -#: vue/components/PanelLayout.vue:147 +#: src/components/PanelLayout.vue:157 msgid "Powered by" msgstr "" -#: vue/components/Stations/Webhooks/Form/Discord.vue:127 +#: src/components/Stations/Webhooks/Form/Discord.vue:128 msgid "Powered by AzuraCast" msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:29 +#: src/components/Admin/Settings/GeneralTab.vue:29 msgid "Prefer Browser URL (If Available)" msgstr "" -#: vue/components/Account/EditForm.vue:70 -#: vue/components/Admin/Branding/BrandingForm.vue:182 +#: src/components/Account/EditForm.vue:70 +#: src/components/Admin/Branding/BrandingForm.vue:182 msgid "Prefer System Default" msgstr "" -#: vue/components/Admin/AuditLog/DetailsModal.vue:17 +#: src/components/Admin/AuditLog/DetailsModal.vue:17 msgid "Previous" msgstr "" -#: vue/components/Common/DataTable.vue:23 -msgid "Previous page" -msgstr "" - -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:8 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:8 msgid "Privacy" msgstr "" -#: vue/components/Stations/Webhooks/Form/Mastodon.vue:132 +#: src/components/Stations/Webhooks/Form/Mastodon.vue:132 msgid "Private" msgstr "" -#: vue/components/Account.vue:11 -#: vue/components/Admin/Stations/Form/ProfileForm.vue:3 -#: vue/components/Stations/menu.ts:18 +#: src/components/Account.vue:11 +#: src/components/Admin/Stations/Form/ProfileForm.vue:3 +#: src/components/Stations/menu.ts:31 msgid "Profile" msgstr "" -#: vue/components/Admin/CustomFields/Form.vue:15 -#: vue/components/Stations/HlsStreams/Form/BasicInfo.vue:12 +#: src/components/Admin/CustomFields/Form.vue:15 +#: src/components/Stations/HlsStreams/Form/BasicInfo.vue:11 msgid "Programmatic Name" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:146 +#: src/components/Admin/Stations/Form/BackendForm.vue:146 msgid "Provide a valid license key from Thimeo. Functionality is limited without a license key." msgstr "" -#: vue/components/Stations/Webhooks/Form/Mastodon.vue:124 +#: src/components/Stations/Webhooks/Form/Mastodon.vue:124 msgid "Public" msgstr "" -#: vue/components/Dashboard.vue:212 -#: vue/components/Stations/menu.ts:48 -#: vue/components/Stations/Podcasts/EpisodesView.vue:48 -#: vue/components/Stations/Podcasts/EpisodesView.vue:49 -#: vue/components/Stations/Podcasts/EpisodesView.vue:63 -#: vue/components/Stations/Podcasts/EpisodesView.vue:69 -#: vue/components/Stations/Podcasts/ListView.vue:32 -#: vue/components/Stations/Podcasts/ListView.vue:33 -#: vue/components/Stations/Podcasts/ListView.vue:43 -#: vue/components/Stations/Podcasts/ListView.vue:49 -#: vue/components/Stations/Profile/PublicPagesPanel.vue:21 +#: src/components/Dashboard.vue:212 +#: src/components/Stations/menu.ts:61 +#: src/components/Stations/Podcasts/EpisodesView.vue:43 +#: src/components/Stations/Podcasts/EpisodesView.vue:44 +#: src/components/Stations/Podcasts/EpisodesView.vue:57 +#: src/components/Stations/Podcasts/EpisodesView.vue:63 +#: src/components/Stations/Podcasts/ListView.vue:27 +#: src/components/Stations/Podcasts/ListView.vue:28 +#: src/components/Stations/Podcasts/ListView.vue:37 +#: src/components/Stations/Podcasts/ListView.vue:43 +#: src/components/Stations/Profile/PublicPagesPanel.vue:21 msgid "Public Page" msgstr "" -#: vue/components/Admin/Branding.vue:17 -#: vue/components/Stations/Branding.vue:22 +#: src/components/Admin/Branding.vue:17 +#: src/components/Stations/Branding.vue:22 msgid "Public Page Background" msgstr "" -#: vue/components/Admin/Stations/Form/ProfileForm.vue:82 -#: vue/components/Stations/Profile/PublicPagesPanel.vue:5 +#: src/components/Admin/Stations/Form/ProfileForm.vue:81 +#: src/components/Stations/Profile/PublicPagesPanel.vue:5 msgid "Public Pages" msgstr "" -#: vue/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:37 +#: src/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:36 msgid "Publish Date" msgstr "" -#: vue/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:46 +#: src/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:45 msgid "Publish Time" msgstr "" -#: vue/components/Stations/Mounts/Form/BasicInfo.vue:54 -#: vue/components/Stations/Remotes/Form/AutoDj.vue:79 +#: src/components/Stations/Mounts/Form/BasicInfo.vue:53 +#: src/components/Stations/Remotes/Form/AutoDj.vue:79 msgid "Publish to \"Yellow Pages\" Directories" msgstr "" -#: vue/components/Account/TwoFactorModal.vue:47 -msgid "QR Code" -msgstr "" - -#: vue/components/Stations/Media/MediaToolbar.vue:130 +#: src/components/Stations/Media/MediaToolbar.vue:130 msgid "Queue" msgstr "" -#: vue/components/Stations/Media/MediaToolbar.vue:131 +#: src/components/Stations/Media/MediaToolbar.vue:131 msgid "Queue the selected media to play next" msgstr "" -#: vue/components/Stations/Profile/EmbedModal.vue:116 +#: src/components/Stations/Profile/EmbedModal.vue:117 msgid "Radio Player" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:342 +#: src/entities/Webhooks.ts:103 +msgid "Radio.de" +msgstr "" + +#: src/components/Stations/Webhooks/Form/RadioDe.vue:18 +msgid "Radio.de API Key" +msgstr "" + +#: src/components/Stations/Webhooks/Form/RadioDe.vue:11 +msgid "Radio.de Broadcast Subdomain" +msgstr "" + +#: src/components/Stations/Playlists/Form/BasicInfo.vue:342 msgid "Random" msgstr "" -#: vue/components/Stations/Sidebar.vue:39 +#: src/components/Stations/Sidebar.vue:39 msgid "Ready to start broadcasting? Click to start your station." msgstr "" -#: vue/components/Admin/Index.vue:354 +#: src/components/Admin/Index/NetworkStatsPanel.vue:19 msgid "Received" msgstr "" -#: vue/components/Admin/Stations/Form/StreamersForm.vue:27 +#: src/components/Admin/Stations/Form/StreamersForm.vue:27 msgid "Record Live Broadcasts" msgstr "" -#: vue/components/Recover.vue:11 -#: vue/components/Recover.vue:60 +#: src/components/Recover.vue:11 +#: src/components/Recover.vue:60 #: /var/azuracast/www/src/Controller/Frontend/Account/RecoverAction.php:90 msgid "Recover Account" msgstr "" -#: vue/components/Common/DataTable.vue:59 +#: src/components/Admin/Debug.vue:125 +#: src/components/Admin/Debug.vue:74 +msgid "Refresh" +msgstr "" + +#: src/components/Common/DataTable.vue:51 msgid "Refresh rows" msgstr "" -#: vue/components/Admin/StorageLocations/Form/S3.vue:39 +#: src/components/Admin/StorageLocations/Form/S3.vue:32 msgid "Region" msgstr "" -#: vue/components/Admin/Relays.vue:76 -#: vue/components/Stations/Profile/FrontendPanel.vue:87 +#: src/components/Admin/Relays.vue:75 +#: src/components/Stations/Profile/FrontendPanel.vue:87 msgid "Relay" msgstr "" -#: vue/components/Stations/Mounts/Form/BasicInfo.vue:44 +#: src/components/Stations/Mounts/Form/BasicInfo.vue:43 msgid "Relay Stream URL" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:15 -#: vue/components/Admin/Updates.vue:46 +#: src/components/Admin/Settings/ServicesTab.vue:15 +#: src/components/Admin/Updates.vue:46 #: /var/azuracast/www/src/Installer/EnvFiles/EnvFile.php:36 msgid "Release Channel" msgstr "" -#: vue/components/Stations/ProfileEdit.vue:36 +#: src/components/Stations/ProfileEdit.vue:36 msgid "Reload" msgstr "" -#: vue/components/Stations/Restart.vue:15 -#: vue/components/Stations/Restart.vue:43 +#: src/components/Stations/Restart.vue:15 +#: src/components/Stations/Restart.vue:43 msgid "Reload Configuration" msgstr "" -#: vue/components/Stations/Sidebar.vue:50 +#: src/components/Stations/Sidebar.vue:50 msgid "Reload to Apply Changes" msgstr "" -#: vue/components/Stations/Restart.vue:30 +#: src/components/Stations/Restart.vue:30 msgid "Reloading broadcasting will not disconnect your listeners." msgstr "" -#: vue/components/Stations/Reports/Listeners.vue:150 +#: src/components/Stations/Reports/Listeners.vue:151 msgid "Remote" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:220 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:219 msgid "Remote Playback Buffer (Seconds)" msgstr "" -#: vue/components/Admin/Stations/CloneModalForm.vue:67 -#: vue/components/Stations/menu.ts:243 -#: vue/components/Stations/Profile/StreamsPanel.vue:64 -#: vue/components/Stations/Remotes.vue:2 +#: src/components/Admin/Stations/CloneModalForm.vue:67 +#: src/components/Stations/menu.ts:256 +#: src/components/Stations/Profile/StreamsPanel.vue:64 +#: src/components/Stations/Remotes.vue:2 msgid "Remote Relays" msgstr "" -#: vue/components/Stations/Remotes.vue:6 +#: src/components/Stations/Remotes.vue:6 msgid "Remote relays let you work with broadcasting software outside this server. Any relay you include here will be included in your station's statistics. You can also broadcast from this server to remote relays." msgstr "" -#: vue/components/Stations/Remotes/Form/BasicInfo.vue:56 +#: src/components/Stations/Remotes/Form/BasicInfo.vue:55 msgid "Remote Station Administrator Password" msgstr "" -#: vue/components/Stations/Remotes/Form/BasicInfo.vue:43 +#: src/components/Stations/Remotes/Form/BasicInfo.vue:42 msgid "Remote Station Listening Mountpoint/SID" msgstr "" -#: vue/components/Stations/Remotes/Form/BasicInfo.vue:30 +#: src/components/Stations/Remotes/Form/BasicInfo.vue:29 msgid "Remote Station Listening URL" msgstr "" -#: vue/components/Stations/Remotes/Form/AutoDj.vue:53 +#: src/components/Stations/Remotes/Form/AutoDj.vue:53 msgid "Remote Station Source Mountpoint/SID" msgstr "" -#: vue/components/Stations/Remotes/Form/AutoDj.vue:69 +#: src/components/Stations/Remotes/Form/AutoDj.vue:69 msgid "Remote Station Source Password" msgstr "" -#: vue/components/Stations/Remotes/Form/AutoDj.vue:45 +#: src/components/Stations/Remotes/Form/AutoDj.vue:45 msgid "Remote Station Source Port" msgstr "" -#: vue/components/Stations/Remotes/Form/AutoDj.vue:61 +#: src/components/Stations/Remotes/Form/AutoDj.vue:61 msgid "Remote Station Source Username" msgstr "" -#: vue/components/Stations/Remotes/Form/BasicInfo.vue:15 +#: src/components/Stations/Remotes/Form/BasicInfo.vue:14 msgid "Remote Station Type" msgstr "" -#: vue/components/Stations/Playlists.vue:88 -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:201 -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:301 +#: src/components/Stations/Playlists.vue:84 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:200 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:301 msgid "Remote URL" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:191 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:190 msgid "Remote URL Playlist" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:211 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:210 msgid "Remote URL Type" msgstr "" -#: vue/components/Admin/StorageLocations.vue:179 -#: vue/components/Admin/StorageLocations/Form.vue:91 -#: vue/components/Admin/StorageLocations/Form/Dropbox.vue:3 +#: src/components/Admin/StorageLocations.vue:173 +#: src/components/Admin/StorageLocations/Form.vue:91 +#: src/components/Admin/StorageLocations/Form/Dropbox.vue:3 msgid "Remote: Dropbox" msgstr "" -#: vue/components/Admin/StorageLocations.vue:176 -#: vue/components/Admin/StorageLocations/Form.vue:87 -#: vue/components/Admin/StorageLocations/Form/S3.vue:3 +#: src/components/Admin/StorageLocations.vue:170 +#: src/components/Admin/StorageLocations/Form.vue:87 +#: src/components/Admin/StorageLocations/Form/S3.vue:3 msgid "Remote: S3 Compatible" msgstr "" -#: vue/components/Admin/StorageLocations.vue:182 -#: vue/components/Admin/StorageLocations/Form.vue:95 -#: vue/components/Admin/StorageLocations/Form/Sftp.vue:3 +#: src/components/Admin/StorageLocations.vue:176 +#: src/components/Admin/StorageLocations/Form.vue:95 +#: src/components/Admin/StorageLocations/Form/Sftp.vue:3 msgid "Remote: SFTP" msgstr "" -#: vue/components/Admin/Permissions/Form/StationRow.vue:20 -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:17 -#: vue/components/Stations/Streamers/Form/ScheduleRow.vue:17 +#: src/components/Admin/Permissions/Form/StationRow.vue:20 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:17 +#: src/components/Stations/Streamers/Form/ScheduleRow.vue:17 msgid "Remove" msgstr "" -#: vue/components/Admin/GeoLite.vue:87 -#: vue/components/Admin/GeoLite.vue:90 +#: src/components/Admin/GeoLite.vue:87 +#: src/components/Admin/GeoLite.vue:90 msgid "Remove Key" msgstr "" -#: vue/components/Stations/Media.vue:202 -#: vue/components/Stations/Media/RenameModal.vue:16 -#: vue/components/Stations/Media/RenameModal.vue:21 -#: vue/components/Stations/Media/RenameModal.vue:25 +#: src/components/Stations/Media.vue:202 +#: src/components/Stations/Media/RenameModal.vue:25 +#: src/components/Stations/Media/RenameModal.vue:29 msgid "Rename" msgstr "" -#: vue/components/Stations/Media/RenameModal.vue:6 +#: src/components/Stations/Media/RenameModal.vue:6 msgid "Rename File/Directory" msgstr "" -#: vue/components/Stations/Playlists.vue:141 -#: vue/components/Stations/Playlists.vue:142 -#: vue/components/Stations/Playlists.vue:149 -#: vue/components/Stations/Playlists.vue:153 -#: vue/components/Stations/Playlists.vue:157 -#: vue/components/Stations/Playlists.vue:193 -#: vue/components/Stations/Playlists.vue:216 +#: src/components/Stations/Playlists.vue:136 +#: src/components/Stations/Playlists.vue:137 +#: src/components/Stations/Playlists.vue:144 +#: src/components/Stations/Playlists.vue:147 +#: src/components/Stations/Playlists.vue:150 +#: src/components/Stations/Playlists.vue:153 +#: src/components/Stations/Playlists.vue:189 +#: src/components/Stations/Playlists.vue:212 msgid "Reorder" msgstr "" -#: vue/components/Stations/Playlists/ReorderModal.vue:6 +#: src/components/Stations/Playlists/ReorderModal.vue:6 msgid "Reorder Playlist" msgstr "" -#: vue/components/Public/WebDJ/PlaylistPanel.vue:137 -#: vue/components/Public/WebDJ/PlaylistPanel.vue:142 +#: src/components/Public/WebDJ/PlaylistPanel.vue:137 +#: src/components/Public/WebDJ/PlaylistPanel.vue:142 msgid "Repeat" msgstr "" -#: vue/components/Stations/Media/Form/AlbumArt.vue:23 +#: src/components/Stations/Media/Form/AlbumArt.vue:23 msgid "Replace Album Cover Art" msgstr "" -#: vue/components/Stations/menu.ts:178 +#: src/components/Stations/menu.ts:191 msgid "Reports" msgstr "" -#: vue/components/Stations/Media/MediaToolbar.vue:151 +#: src/components/Stations/Media/MediaToolbar.vue:151 msgid "Reprocess" msgstr "" -#: vue/components/Public/Requests.vue:14 -#: vue/components/Public/Requests.vue:15 -#: vue/components/Public/Requests.vue:28 +#: src/components/Public/Requests.vue:14 +#: src/components/Public/Requests.vue:15 +#: src/components/Public/Requests.vue:28 msgid "Request" msgstr "" -#: vue/components/Public/FullPlayer/RequestModal.vue:6 +#: src/components/Public/FullPlayer/RequestModal.vue:6 msgid "Request a Song" msgstr "" -#: vue/components/Stations/Reports/Requests.vue:133 +#: src/components/Stations/Reports/Requests.vue:135 msgid "Request History" msgstr "" -#: vue/components/Admin/Stations/Form/RequestsForm.vue:46 +#: src/components/Admin/Stations/Form/RequestsForm.vue:46 msgid "Request Last Played Threshold (Minutes)" msgstr "" -#: vue/components/Admin/Stations/Form/RequestsForm.vue:36 +#: src/components/Admin/Stations/Form/RequestsForm.vue:36 msgid "Request Minimum Delay (Minutes)" msgstr "" -#: vue/components/Public/FullPlayer.vue:33 +#: src/components/Public/FullPlayer.vue:33 msgid "Request Song" msgstr "" -#: vue/components/Stations/Reports/Requests.vue:122 +#: src/components/Stations/Reports/Requests.vue:124 msgid "Requester IP" msgstr "" -#: vue/components/Stations/Profile/EmbedModal.vue:131 +#: src/components/Stations/Profile/EmbedModal.vue:132 #: /var/azuracast/www/src/Controller/Frontend/PublicPages/RequestsAction.php:41 msgid "Requests" msgstr "" -#: vue/components/Form/FormLabel.vue:9 +#: src/components/Form/FormLabel.vue:9 msgid "Required" msgstr "" -#: vue/components/Stations/Playlists.vue:135 -#: vue/components/Stations/Playlists.vue:136 -#: vue/components/Stations/Playlists.vue:143 -#: vue/components/Stations/Playlists.vue:147 -#: vue/components/Stations/Playlists.vue:151 -#: vue/components/Stations/Playlists.vue:187 -#: vue/components/Stations/Playlists.vue:200 +#: src/components/Stations/Playlists.vue:130 +#: src/components/Stations/Playlists.vue:131 +#: src/components/Stations/Playlists.vue:138 +#: src/components/Stations/Playlists.vue:141 +#: src/components/Stations/Playlists.vue:144 +#: src/components/Stations/Playlists.vue:147 +#: src/components/Stations/Playlists.vue:183 +#: src/components/Stations/Playlists.vue:196 msgid "Reshuffle" msgstr "" -#: vue/components/Admin/Index.vue:316 -#: vue/components/Stations/Profile/BackendPanel.vue:53 -#: vue/components/Stations/Profile/FrontendPanel.vue:132 +#: src/components/Admin/Index/ServicesPanel.vue:33 +#: src/components/Stations/Profile/BackendPanel.vue:53 +#: src/components/Stations/Profile/FrontendPanel.vue:132 msgid "Restart" msgstr "" -#: vue/components/Stations/menu.ts:285 -#: vue/components/Stations/Restart.vue:70 -#: vue/components/Stations/Restart.vue:91 +#: src/components/Stations/menu.ts:298 +#: src/components/Stations/Restart.vue:70 +#: src/components/Stations/Restart.vue:91 msgid "Restart Broadcasting" msgstr "" -#: vue/components/Stations/Restart.vue:85 +#: src/components/Stations/Restart.vue:85 msgid "Restarting broadcasting will briefly disconnect your listeners." msgstr "" -#: vue/components/Stations/Restart.vue:79 +#: src/components/Stations/Restart.vue:79 msgid "Restarting broadcasting will rewrite all configuration files and restart all services." msgstr "" -#: vue/components/Admin/Backups.vue:68 +#: src/components/Admin/Backups.vue:68 msgid "Restoring Backups" msgstr "" -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:152 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:153 msgid "Reverse Proxy (X-Forwarded-For)" msgstr "" -#: vue/components/Admin/Permissions.vue:113 -#: vue/components/Admin/Permissions/Form/GlobalForm.vue:11 +#: src/components/Admin/Permissions.vue:106 +#: src/components/Admin/Permissions/Form/GlobalForm.vue:8 msgid "Role Name" msgstr "" -#: vue/components/Admin/Users.vue:111 -#: vue/components/Admin/Users/Form.vue:38 +#: src/components/Admin/Users.vue:104 +#: src/components/Admin/Users/Form.vue:38 msgid "Roles" msgstr "" -#: vue/components/Admin/menu.ts:87 -#: vue/components/Admin/Permissions.vue:2 +#: src/components/Admin/menu.ts:89 +#: src/components/Admin/Permissions.vue:2 msgid "Roles & Permissions" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:341 -#: vue/components/Admin/Updates.vue:191 +#: src/components/Admin/Settings/ServicesTab.vue:342 +#: src/components/Admin/Updates.vue:191 msgid "Rolling Release" msgstr "" -#: vue/components/Stations/Podcasts/ListView.vue:33 -#: vue/components/Stations/Podcasts/ListView.vue:34 -#: vue/components/Stations/Podcasts/ListView.vue:44 -#: vue/components/Stations/Podcasts/ListView.vue:50 -#: vue/components/Stations/Podcasts/ListView.vue:53 -#: /var/azuracast/www/templates/frontend/public/podcast-episodes.phtml:45 -#: /var/azuracast/www/templates/frontend/public/podcast-episode.phtml:91 -#: /var/azuracast/www/templates/frontend/public/podcasts.phtml:78 +#: src/components/Stations/Podcasts/ListView.vue:28 +#: src/components/Stations/Podcasts/ListView.vue:29 +#: src/components/Stations/Podcasts/ListView.vue:38 +#: src/components/Stations/Podcasts/ListView.vue:44 +#: src/components/Stations/Podcasts/ListView.vue:47 +#: /var/azuracast/www/templates/frontend/public/podcast-episodes.phtml:44 +#: /var/azuracast/www/templates/frontend/public/podcast-episode.phtml:90 +#: /var/azuracast/www/templates/frontend/public/podcasts.phtml:77 msgid "RSS Feed" msgstr "" -#: vue/components/Admin/Backups/ConfigureModal.vue:17 +#: src/components/Admin/Backups/ConfigureModal.vue:17 msgid "Run Automatic Nightly Backups" msgstr "" -#: vue/components/Admin/Backups.vue:100 -#: vue/components/Admin/Backups/RunBackupModal.vue:7 -#: vue/components/Admin/Backups/RunBackupModal.vue:84 -#: vue/components/Admin/Backups/RunBackupModal.vue:91 +#: src/components/Admin/Backups.vue:100 +#: src/components/Admin/Backups/RunBackupModal.vue:7 +#: src/components/Admin/Backups/RunBackupModal.vue:84 +#: src/components/Admin/Backups/RunBackupModal.vue:91 msgid "Run Manual Backup" msgstr "" -#: vue/components/Admin/Debug.vue:161 -#: vue/components/Admin/Debug.vue:46 -#: vue/components/Admin/Debug.vue:61 -#: vue/components/Admin/Debug.vue:65 -#: vue/components/Admin/Debug.vue:70 +#: src/components/Admin/Debug.vue:210 +#: src/components/Admin/Debug.vue:62 +#: src/components/Admin/Debug.vue:77 +#: src/components/Admin/Debug.vue:87 +#: src/components/Admin/Debug.vue:94 msgid "Run Task" msgstr "" -#: vue/components/Common/Badges/RunningBadge.vue:29 +#: src/components/Common/Badges/RunningBadge.vue:29 msgid "Running" msgstr "" -#: vue/components/Public/WebDJ/SettingsPanel.vue:110 +#: src/components/Public/WebDJ/SettingsPanel.vue:110 msgid "Sample Rate" msgstr "" -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:149 -#: vue/components/Stations/Streamers/Form/ScheduleRow.vue:149 -#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:109 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:150 +#: src/components/Stations/Reports/Overview/ListenersByTimePeriodTab.vue:180 +#: src/components/Stations/Streamers/Form/ScheduleRow.vue:150 +#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:115 msgid "Saturday" msgstr "" -#: vue/components/Stations/Media/MediaToolbar.vue:84 +#: src/components/Stations/Media/MediaToolbar.vue:84 msgid "Save" msgstr "" -#: vue/components/Setup/Settings.vue:20 +#: src/components/Setup/Settings.vue:20 msgid "Save and Continue" msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:120 -#: vue/components/Admin/GeoLite.vue:84 -#: vue/components/Admin/Settings.vue:58 -#: vue/components/Admin/Stations/EditModal.vue:13 -#: vue/components/Admin/Stations/EditModal.vue:14 -#: vue/components/Admin/Stations/EditModal.vue:32 -#: vue/components/Admin/Stations/EditModal.vue:36 -#: vue/components/Admin/Stations/StationForm.vue:66 -#: vue/components/Common/ModalForm.vue:50 -#: vue/components/Stations/Branding/BrandingForm.vue:76 -#: vue/components/Stations/LiquidsoapConfig.vue:61 +#: src/components/Admin/Branding/BrandingForm.vue:120 +#: src/components/Admin/GeoLite.vue:84 +#: src/components/Admin/Settings.vue:55 +#: src/components/Admin/Stations/EditModal.vue:13 +#: src/components/Admin/Stations/EditModal.vue:14 +#: src/components/Admin/Stations/EditModal.vue:32 +#: src/components/Admin/Stations/EditModal.vue:36 +#: src/components/Admin/Stations/StationForm.vue:62 +#: src/components/Common/ModalForm.vue:50 +#: src/components/Stations/Branding/BrandingForm.vue:76 +#: src/components/Stations/LiquidsoapConfig.vue:61 msgid "Save Changes" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:173 -#: vue/components/Admin/Settings/ServicesTab.vue:80 +#: src/components/Admin/Settings/ServicesTab.vue:173 +#: src/components/Admin/Settings/ServicesTab.vue:80 msgid "Save Changes first" msgstr "" -#: vue/components/Public/Schedule.vue:24 -#: vue/components/Stations/Playlists/Form/Schedule.vue:2 -#: vue/components/Stations/Profile/EmbedModal.vue:124 -#: vue/components/Stations/Profile/PublicPagesPanel.vue:57 -#: vue/components/Stations/Streamers/Form/Schedule.vue:2 +#: src/components/Public/Schedule.vue:24 +#: src/components/Stations/Playlists/Form/Schedule.vue:2 +#: src/components/Stations/Profile/EmbedModal.vue:125 +#: src/components/Stations/Profile/PublicPagesPanel.vue:57 +#: src/components/Stations/Streamers/Form/Schedule.vue:2 #: /var/azuracast/www/src/Controller/Frontend/PublicPages/ScheduleAction.php:50 msgid "Schedule" msgstr "" -#: vue/components/Stations/Playlists.vue:265 -#: vue/components/Stations/Streamers.vue:95 +#: src/components/Stations/Playlists.vue:263 +#: src/components/Stations/Streamers.vue:89 msgid "Schedule View" msgstr "" -#: vue/components/Stations/Profile/SchedulePanel.vue:6 +#: src/components/Stations/Profile/SchedulePanel.vue:6 msgid "Scheduled" msgstr "" -#: vue/components/Admin/Backups/ConfigureModal.vue:30 +#: src/components/Admin/Backups/ConfigureModal.vue:30 msgid "Scheduled Backup Time" msgstr "" -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:93 -#: vue/components/Stations/Streamers/Form/ScheduleRow.vue:97 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:93 +#: src/components/Stations/Streamers/Form/ScheduleRow.vue:97 msgid "Scheduled Play Days of Week" msgstr "" -#: vue/components/Admin/Stations/Form/ProfileForm.vue:45 +#: src/components/Admin/Stations/Form/ProfileForm.vue:44 msgid "Scheduled playlists and other timed items will be controlled by this time zone." msgstr "" -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:6 -#: vue/components/Stations/Streamers/Form/ScheduleRow.vue:6 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:6 +#: src/components/Stations/Streamers/Form/ScheduleRow.vue:6 msgid "Scheduled Time #%{num}" msgstr "" -#: vue/components/Stations/Playlists.vue:341 +#: src/components/Stations/Playlists.vue:342 msgid "Scheduling" msgstr "" -#: vue/components/Common/DataTable.vue:48 +#: src/components/Common/DataTable.vue:40 msgid "Search" msgstr "" -#: vue/components/Stations/Media/Form/AdvancedSettings.vue:57 +#: src/components/Stations/Media/Form/AdvancedSettings.vue:57 msgid "Seconds from the start of the song that the AutoDJ should start playing." msgstr "" -#: vue/components/Stations/Media/Form/AdvancedSettings.vue:67 +#: src/components/Stations/Media/Form/AdvancedSettings.vue:67 msgid "Seconds from the start of the song that the AutoDJ should stop playing." msgstr "" -#: vue/components/Admin/StorageLocations/Form/S3.vue:18 +#: src/components/Admin/StorageLocations/Form/S3.vue:18 msgid "Secret Key" msgstr "" -#: vue/components/Account.vue:74 -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:27 +#: src/components/Account.vue:74 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:27 msgid "Security" msgstr "" -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:3 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:3 msgid "Security & Privacy" msgstr "" -#: vue/components/Stations/Webhooks/Form/Telegram.vue:62 +#: src/components/Stations/Webhooks/Form/Telegram.vue:62 msgid "See the Telegram documentation for more details." msgstr "" -#: vue/components/Stations/Webhooks/Form/Telegram.vue:15 +#: src/components/Stations/Webhooks/Form/Telegram.vue:15 msgid "See the Telegram Documentation for more details." msgstr "" -#: vue/components/InlinePlayer.vue:24 +#: src/components/InlinePlayer.vue:24 msgid "Seek" msgstr "" -#: vue/components/Admin/Stations/Form/HlsForm.vue:55 +#: src/components/Admin/Stations/Form/HlsForm.vue:55 msgid "Segment Length (Seconds)" msgstr "" -#: vue/components/Admin/Stations/Form/HlsForm.vue:65 +#: src/components/Admin/Stations/Form/HlsForm.vue:65 msgid "Segments in Playlist" msgstr "" -#: vue/components/Admin/Stations/Form/HlsForm.vue:75 +#: src/components/Admin/Stations/Form/HlsForm.vue:75 msgid "Segments Overhead" msgstr "" -#: vue/components/Common/DateRangeDropdown.vue:11 +#: src/components/Common/DateRangeDropdown.vue:11 msgid "Select" msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:34 +#: src/components/Admin/Branding/BrandingForm.vue:34 msgid "Select a theme to use as a base for station public pages and the login page." msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:62 +#: src/components/Common/DataTable.vue:157 +msgid "Select All Rows" +msgstr "" + +#: src/components/Admin/Stations/Form/BackendForm.vue:62 msgid "Select an option here to apply post-processing using an easy preset or tool. You can also manually apply post-processing by editing your Liquidsoap configuration manually." msgstr "" -#: vue/components/Stations/StereoToolConfig.vue:35 +#: src/components/Stations/StereoToolConfig.vue:35 msgid "Select Configuration File" msgstr "" -#: vue/components/Stations/BulkMedia.vue:65 +#: src/components/Stations/BulkMedia.vue:65 msgid "Select CSV File" msgstr "" -#: vue/components/Stations/Fallback.vue:29 +#: src/components/Stations/Fallback.vue:29 msgid "Select Custom Fallback File" msgstr "" -#: vue/components/Common/FlowUpload.vue:55 +#: src/components/Common/FlowUpload.vue:55 msgid "Select File" msgstr "" -#: vue/components/Stations/Mounts/Form/Intro.vue:9 +#: src/components/Stations/Mounts/Form/Intro.vue:9 msgid "Select Intro File" msgstr "" -#: vue/components/Stations/Podcasts/EpisodeForm/Media.vue:9 +#: src/components/Stations/Podcasts/EpisodeForm/Media.vue:9 msgid "Select Media File" msgstr "" -#: vue/components/Stations/Playlists/ImportModal.vue:63 +#: src/components/Stations/Playlists/ImportModal.vue:63 msgid "Select PLS/M3U File to Import" msgstr "" -#: vue/components/Stations/Podcasts/Common/Artwork.vue:7 -#: vue/components/Stations/Streamers/Form/Artwork.vue:7 +#: src/components/Stations/Podcasts/Common/Artwork.vue:7 +#: src/components/Stations/Streamers/Form/Artwork.vue:7 msgid "Select PNG/JPG artwork file" msgstr "" -#: vue/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:65 +#: src/components/Common/DataTable.vue:236 +msgid "Select Row" +msgstr "" + +#: src/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:64 msgid "Select the category/categories that best reflects the content of your podcast." msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:122 +#: src/components/Admin/Stations/Form/FrontendForm.vue:122 msgid "Select the countries that are not allowed to connect to the streams." msgstr "" -#: vue/components/Stations/Webhooks/EditModal.vue:176 +#: src/components/Stations/Webhooks/EditModal.vue:162 msgid "Select Web Hook Type" msgstr "" -#: vue/components/Entity/Webhooks.js:96 +#: src/entities/Webhooks.ts:96 msgid "Send an e-mail to specified address(es)." msgstr "" -#: vue/components/Entity/Webhooks.js:95 +#: src/entities/Webhooks.ts:95 msgid "Send E-mail" msgstr "" -#: vue/components/Entity/Webhooks.js:100 -msgid "Send song metadata changes to TuneIn." +#: src/entities/Webhooks.ts:108 +msgid "Send song metadata changes to %{service}" msgstr "" -#: vue/components/Entity/Webhooks.js:120 -#: vue/components/Entity/Webhooks.js:124 +#: src/entities/Webhooks.ts:100 +#: src/entities/Webhooks.ts:104 +msgid "Send song metadata changes to %{service}." +msgstr "" + +#: src/entities/Webhooks.ts:124 msgid "Send stream listener details to Google Analytics." msgstr "" -#: vue/components/Entity/Webhooks.js:128 +#: src/entities/Webhooks.ts:128 msgid "Send stream listener details to Matomo Analytics." msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:171 -#: vue/components/Admin/Settings/TestMessageModal.vue:16 -#: vue/components/Admin/Settings/TestMessageModal.vue:21 -#: vue/components/Admin/Settings/TestMessageModal.vue:25 -#: vue/components/Admin/Settings/TestMessageModal.vue:6 +#: src/components/Admin/Settings/ServicesTab.vue:171 +#: src/components/Admin/Settings/TestMessageModal.vue:17 +#: src/components/Admin/Settings/TestMessageModal.vue:22 +#: src/components/Admin/Settings/TestMessageModal.vue:26 +#: src/components/Admin/Settings/TestMessageModal.vue:6 msgid "Send Test Message" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:121 +#: src/components/Admin/Settings/ServicesTab.vue:121 msgid "Sender E-mail Address" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:113 +#: src/components/Admin/Settings/ServicesTab.vue:113 msgid "Sender Name" msgstr "" -#: vue/components/Stations/Playlists.vue:98 -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:347 +#: src/components/Stations/Playlists.vue:94 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:347 msgid "Sequential" msgstr "" -#: vue/components/Admin/Index.vue:43 +#: src/components/Admin/Index.vue:43 msgid "Server Status" msgstr "" -#: vue/components/Stations/SftpUsers.vue:57 -#: vue/components/Stations/Streamers/ConnectionInfo.vue:21 -#: vue/components/Stations/Streamers/ConnectionInfo.vue:48 +#: src/components/Stations/SftpUsers.vue:51 +#: src/components/Stations/Streamers/ConnectionInfo.vue:21 +#: src/components/Stations/Streamers/ConnectionInfo.vue:48 msgid "Server:" msgstr "" -#: vue/components/Admin/Index.vue:289 -#: vue/components/Admin/Settings/ServicesTab.vue:3 +#: src/components/Admin/Index/ServicesPanel.vue:5 +#: src/components/Admin/Settings/ServicesTab.vue:3 msgid "Services" msgstr "" -#: vue/components/Admin/StorageLocations/Form.vue:36 +#: src/components/Admin/StorageLocations/Form.vue:35 msgid "Set a maximum disk space that this storage location can use. Specify the size with unit, i.e. \"8 GB\". Units are measured in 1024 bytes. Leave blank to default to the available space on the disk." msgstr "" -#: vue/components/Stations/Mounts/Form/BasicInfo.vue:36 +#: src/components/Stations/Mounts/Form/BasicInfo.vue:35 msgid "Set as Default Mount Point" msgstr "" -#: vue/components/Stations/Media/Form/WaveformEditor.vue:4 +#: src/components/Stations/Media/Form/WaveformEditor.vue:4 msgid "Set cue and fade points using the visual editor. The timestamps will be saved to the corresponding fields in the advanced playback settings." msgstr "" -#: vue/components/Stations/Media/Form/WaveformEditor.vue:36 +#: src/components/Stations/Media/Form/WaveformEditor.vue:36 msgid "Set Cue In" msgstr "" -#: vue/components/Stations/Media/Form/WaveformEditor.vue:23 -#: vue/components/Stations/Media/Form/WaveformEditor.vue:24 -#: vue/components/Stations/Media/Form/WaveformEditor.vue:29 -#: vue/components/Stations/Media/Form/WaveformEditor.vue:39 -#: vue/components/Stations/Media/Form/WaveformEditor.vue:43 +#: src/components/Stations/Media/Form/WaveformEditor.vue:23 +#: src/components/Stations/Media/Form/WaveformEditor.vue:24 +#: src/components/Stations/Media/Form/WaveformEditor.vue:29 +#: src/components/Stations/Media/Form/WaveformEditor.vue:39 +#: src/components/Stations/Media/Form/WaveformEditor.vue:43 msgid "Set Cue Out" msgstr "" -#: vue/components/Stations/Media/Form/WaveformEditor.vue:61 +#: src/components/Stations/Media/Form/WaveformEditor.vue:61 msgid "Set Fade In" msgstr "" -#: vue/components/Stations/Media/Form/WaveformEditor.vue:36 -#: vue/components/Stations/Media/Form/WaveformEditor.vue:37 -#: vue/components/Stations/Media/Form/WaveformEditor.vue:42 -#: vue/components/Stations/Media/Form/WaveformEditor.vue:64 -#: vue/components/Stations/Media/Form/WaveformEditor.vue:68 +#: src/components/Stations/Media/Form/WaveformEditor.vue:36 +#: src/components/Stations/Media/Form/WaveformEditor.vue:37 +#: src/components/Stations/Media/Form/WaveformEditor.vue:42 +#: src/components/Stations/Media/Form/WaveformEditor.vue:64 +#: src/components/Stations/Media/Form/WaveformEditor.vue:68 msgid "Set Fade Out" msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:54 +#: src/components/Admin/Settings/GeneralTab.vue:54 msgid "Set longer to preserve more playback history and listener metadata for stations. Set shorter to save disk space." msgstr "" -#: vue/components/Stations/Media/Form/WaveformEditor.vue:52 +#: src/components/Stations/Media/Form/WaveformEditor.vue:52 msgid "Set Overlap" msgstr "" -#: vue/components/Stations/Mounts/Form/BasicInfo.vue:70 +#: src/components/Stations/Mounts/Form/BasicInfo.vue:69 msgid "Set the length of time (seconds) a listener will stay connected to the stream. If set to 0, listeners can stay connected infinitely." msgstr "" -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:39 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:39 msgid "Set to \"Yes\" to always use \"https://\" secure URLs, and to automatically redirect to the secure URL when an insecure URL is visited." msgstr "" -#: vue/components/Admin/Settings/SecurityPrivacyTab.vue:65 +#: src/components/Admin/Settings/SecurityPrivacyTab.vue:65 msgid "Set to * to allow all sources, or specify a list of origins separated by a comma (,)." msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:3 +#: src/components/Admin/Settings/GeneralTab.vue:3 msgid "Settings" msgstr "" -#: vue/components/Stations/Streamers/ConnectionInfo.vue:79 +#: src/components/Stations/Streamers/ConnectionInfo.vue:79 msgid "Setup instructions for broadcasting software are available on the AzuraCast wiki." msgstr "" -#: vue/components/Admin/StorageLocations/Form/Sftp.vue:11 +#: src/components/Admin/StorageLocations/Form/Sftp.vue:11 msgid "SFTP Host" msgstr "" -#: vue/components/Admin/StorageLocations/Form/Sftp.vue:35 +#: src/components/Admin/StorageLocations/Form/Sftp.vue:35 msgid "SFTP Password" msgstr "" -#: vue/components/Admin/StorageLocations/Form/Sftp.vue:21 +#: src/components/Admin/StorageLocations/Form/Sftp.vue:21 #: /var/azuracast/www/src/Installer/EnvFiles/EnvFile.php:56 msgid "SFTP Port" msgstr "" -#: vue/components/Admin/StorageLocations/Form/Sftp.vue:50 +#: src/components/Admin/StorageLocations/Form/Sftp.vue:50 msgid "SFTP Private Key" msgstr "" -#: vue/components/Admin/StorageLocations/Form/Sftp.vue:42 +#: src/components/Admin/StorageLocations/Form/Sftp.vue:42 msgid "SFTP Private Key Pass Phrase" msgstr "" -#: vue/components/Admin/StorageLocations/Form/Sftp.vue:28 +#: src/components/Admin/StorageLocations/Form/Sftp.vue:28 msgid "SFTP Username" msgstr "" -#: vue/components/Stations/menu.ts:110 -#: vue/components/Stations/SftpUsers.vue:6 +#: src/components/Stations/menu.ts:123 +#: src/components/Stations/SftpUsers.vue:6 msgid "SFTP Users" msgstr "" -#: vue/components/Admin/Stations/CloneModalForm.vue:47 +#: src/components/Admin/Stations/CloneModalForm.vue:47 msgid "Share Media Storage Location" msgstr "" -#: vue/components/Admin/Stations/CloneModalForm.vue:55 +#: src/components/Admin/Stations/CloneModalForm.vue:55 msgid "Share Podcasts Storage Location" msgstr "" -#: vue/components/Admin/Stations/CloneModalForm.vue:51 +#: src/components/Admin/Stations/CloneModalForm.vue:51 msgid "Share Recordings Storage Location" msgstr "" -#: vue/components/Admin/Shoutcast.vue:62 +#: src/components/Admin/Shoutcast.vue:62 msgid "Shoutcast 2 DNAS is not currently installed on this installation." msgstr "" -#: vue/components/Admin/Shoutcast.vue:17 +#: src/components/Admin/Shoutcast.vue:17 msgid "Shoutcast 2 DNAS is not free software, and its restrictive license does not allow AzuraCast to distribute the Shoutcast binary." msgstr "" -#: vue/components/Stations/Streamers/ConnectionInfo.vue:44 +#: src/components/Stations/Streamers/ConnectionInfo.vue:44 msgid "Shoutcast Clients" msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:28 +#: src/components/Admin/Stations/Form/FrontendForm.vue:28 msgid "Shoutcast License ID" msgstr "" -#: vue/components/Admin/Shoutcast.vue:30 -#: vue/components/Stations/Mounts/Form/BasicInfo.vue:86 +#: src/components/Admin/Shoutcast.vue:30 +#: src/components/Stations/Mounts/Form/BasicInfo.vue:85 msgid "Shoutcast Radio Manager" msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:35 +#: src/components/Admin/Stations/Form/FrontendForm.vue:35 msgid "Shoutcast User ID" msgstr "" -#: vue/components/Admin/Shoutcast.vue:97 +#: src/components/Admin/Shoutcast.vue:97 msgid "Shoutcast version \"%{ version }\" is currently installed." msgstr "" -#: vue/components/Dashboard.vue:360 +#: src/components/Dashboard.vue:362 msgid "Show Charts" msgstr "" -#: vue/components/Stations/Profile/FrontendPanel.vue:191 +#: src/components/Stations/Profile/FrontendPanel.vue:192 msgid "Show Credentials" msgstr "" -#: vue/components/Admin/Stations/Form/HlsForm.vue:33 +#: src/components/Admin/Stations/Form/HlsForm.vue:33 msgid "Show HLS Stream on Public Player" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:36 +#: src/components/Admin/Settings/ServicesTab.vue:36 msgid "Show new releases within your update channel on the AzuraCast homepage." msgstr "" -#: vue/components/Stations/Mounts/Form/BasicInfo.vue:28 -#: vue/components/Stations/Remotes/Form/BasicInfo.vue:64 +#: src/components/Stations/Mounts/Form/BasicInfo.vue:27 +#: src/components/Stations/Remotes/Form/BasicInfo.vue:63 msgid "Show on Public Pages" msgstr "" -#: vue/components/Admin/Stations/Form/ProfileForm.vue:91 +#: src/components/Admin/Stations/Form/ProfileForm.vue:90 msgid "Show the station in public pages and general API results." msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:35 +#: src/components/Admin/Settings/ServicesTab.vue:35 msgid "Show Update Announcements" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:337 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:337 msgid "Shuffled" msgstr "" -#: vue/components/PanelLayout.vue:130 +#: src/components/PanelLayout.vue:140 msgid "Sidebar" msgstr "" -#: vue/components/PanelLayout.vue:118 +#: src/components/PanelLayout.vue:125 +#: src/components/PanelLayout.vue:128 msgid "Sign Out" msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:13 +#: src/components/Admin/Settings/GeneralTab.vue:13 msgid "Site Base URL" msgstr "" -#: vue/components/Admin/Backups.vue:219 -#: vue/components/Stations/Media.vue:333 -#: vue/components/Stations/Streamers/BroadcastsModal.vue:117 +#: src/components/Admin/Backups.vue:220 +#: src/components/Stations/Media.vue:335 +#: src/components/Stations/Streamers/BroadcastsModal.vue:121 msgid "Size" msgstr "" -#: vue/components/Stations/Profile/NowPlayingPanel.vue:211 +#: src/components/Stations/Profile/NowPlayingPanel.vue:211 msgid "Skip Song" msgstr "" -#: vue/components/PanelLayout.vue:3 +#: src/components/PanelLayout.vue:3 msgid "Skip to main content" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:401 +#: src/components/Admin/Stations/Form/BackendForm.vue:395 msgid "Smart Mode" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:128 +#: src/components/Admin/Settings/ServicesTab.vue:128 msgid "SMTP Host" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:159 +#: src/components/Admin/Settings/ServicesTab.vue:159 msgid "SMTP Password" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:136 +#: src/components/Admin/Settings/ServicesTab.vue:136 msgid "SMTP Port" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:151 +#: src/components/Admin/Settings/ServicesTab.vue:151 msgid "SMTP Username" msgstr "" -#: vue/components/Stations/Webhooks/Form/TypeSelect.vue:14 +#: src/components/Stations/Webhooks/Form/TypeSelect.vue:14 msgid "Social Media" msgstr "" -#: vue/components/Admin/Stations/Form/RequestsForm.vue:12 +#: src/components/Admin/Stations/Form/RequestsForm.vue:12 msgid "Some stream licensing providers may have specific rules regarding song requests. Check your local regulations for more information." msgstr "" -#: vue/components/Stations/Reports/Overview/BestAndWorstTab.vue:104 -#: vue/components/Stations/Reports/Overview/BestAndWorstTab.vue:24 -#: vue/components/Stations/Reports/Overview/BestAndWorstTab.vue:64 +#: src/components/Stations/Reports/Overview/BestAndWorstTab.vue:104 +#: src/components/Stations/Reports/Overview/BestAndWorstTab.vue:24 +#: src/components/Stations/Reports/Overview/BestAndWorstTab.vue:64 msgid "Song" msgstr "" -#: vue/components/Stations/Media/Form/BasicInfo.vue:36 +#: src/components/Stations/Media/Form/BasicInfo.vue:36 msgid "Song Album" msgstr "" -#: vue/components/Stations/Media/Form/BasicInfo.vue:22 +#: src/components/Stations/Media/Form/BasicInfo.vue:22 msgid "Song Artist" msgstr "" -#: vue/components/Entity/Webhooks.js:37 +#: src/entities/Webhooks.ts:39 msgid "Song Change" msgstr "" -#: vue/components/Entity/Webhooks.js:41 +#: src/entities/Webhooks.ts:43 msgid "Song Change (Live Only)" msgstr "" -#: vue/components/Stations/Media/Form/BasicInfo.vue:29 +#: src/components/Stations/Media/Form/BasicInfo.vue:29 msgid "Song Genre" msgstr "" -#: vue/components/Public/FullPlayer.vue:23 -#: vue/components/Public/FullPlayer/SongHistoryModal.vue:6 +#: src/components/Public/FullPlayer.vue:23 +#: src/components/Public/FullPlayer/SongHistoryModal.vue:6 msgid "Song History" msgstr "" -#: vue/components/Stations/Media/Form/AdvancedSettings.vue:5 +#: src/components/Stations/Media/Form/AdvancedSettings.vue:5 msgid "Song Length" msgstr "" -#: vue/components/Stations/Media/Form/BasicInfo.vue:44 +#: src/components/Stations/Media/Form/BasicInfo.vue:44 msgid "Song Lyrics" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:107 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:106 msgid "Song Playback Order" msgstr "" -#: vue/components/Stations/menu.ts:206 -#: vue/components/Stations/Reports/Timeline.vue:6 +#: src/components/Stations/menu.ts:219 +#: src/components/Stations/Reports/Timeline.vue:6 msgid "Song Playback Timeline" msgstr "" -#: vue/components/Admin/Stations/Form/RequestsForm.vue:3 -#: vue/components/Admin/Stations/Form/RequestsForm.vue:8 -#: vue/components/Stations/menu.ts:198 -#: vue/components/Stations/Profile/RequestsPanel.vue:5 -#: vue/components/Stations/Reports/Requests.vue:8 +#: src/components/Admin/Stations/Form/RequestsForm.vue:3 +#: src/components/Admin/Stations/Form/RequestsForm.vue:8 +#: src/components/Stations/menu.ts:211 +#: src/components/Stations/Profile/RequestsPanel.vue:5 +#: src/components/Stations/Reports/Requests.vue:8 msgid "Song Requests" msgstr "" -#: vue/components/Stations/Media/Form/BasicInfo.vue:15 -#: vue/components/Stations/Queue.vue:95 -#: vue/components/Stations/Reports/Requests.vue:121 -#: vue/components/Stations/Reports/Timeline.vue:160 +#: src/components/Stations/Media/Form/BasicInfo.vue:15 +#: src/components/Stations/Queue.vue:96 +#: src/components/Stations/Reports/Requests.vue:123 +#: src/components/Stations/Reports/Timeline.vue:161 msgid "Song Title" msgstr "" -#: vue/components/Stations/Playlists.vue:85 +#: src/components/Stations/Playlists.vue:81 msgid "Song-based" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:296 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:296 msgid "Song-Based" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:41 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:40 msgid "Song-Based Playlist" msgstr "" -#: vue/components/Stations/Reports/SoundExchange.vue:8 +#: src/components/Stations/Reports/SoundExchange.vue:3 msgid "SoundExchange Report" msgstr "" -#: vue/components/Stations/menu.ts:213 +#: src/components/Stations/menu.ts:226 msgid "SoundExchange Royalties" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:30 -#: vue/components/Stations/Profile/FrontendPanel.vue:66 -#: vue/components/Stations/Queue.vue:97 -#: vue/components/Stations/Reports/Timeline.vue:166 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:29 +#: src/components/Stations/Profile/FrontendPanel.vue:66 +#: src/components/Stations/Queue.vue:98 +#: src/components/Stations/Reports/Timeline.vue:167 msgid "Source" msgstr "" -#: vue/components/Admin/StorageLocations.vue:135 +#: src/components/Admin/StorageLocations.vue:129 msgid "Space Used" msgstr "" -#: vue/components/Stations/Remotes/Form/BasicInfo.vue:47 +#: src/components/Stations/Remotes/Form/BasicInfo.vue:46 msgid "Specify a mountpoint (i.e. \"/radio.mp3\") or a Shoutcast SID (i.e. \"2\") to specify a specific stream to use for statistics or broadcasting." msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:177 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:176 msgid "Specify the minute of every hour that this playlist should play." msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:457 +#: src/components/Admin/Stations/Form/BackendForm.vue:451 msgid "Speech General" msgstr "" -#: vue/components/Stations/SftpUsers/Form.vue:47 +#: src/components/Stations/SftpUsers/Form.vue:47 msgid "SSH Public Keys" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:340 -#: vue/components/Admin/Updates.vue:190 +#: src/components/Admin/Settings/ServicesTab.vue:341 +#: src/components/Admin/Updates.vue:190 msgid "Stable" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:310 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:310 msgid "Standard playlist, shuffles with other standard playlists based on weight." msgstr "" -#: vue/components/Stations/Profile/BackendPanel.vue:64 -#: vue/components/Stations/Profile/FrontendPanel.vue:143 +#: src/components/Stations/Profile/BackendPanel.vue:64 +#: src/components/Stations/Profile/FrontendPanel.vue:143 msgid "Start" msgstr "" -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:69 -#: vue/components/Stations/Reports/SoundExchange.vue:71 -#: vue/components/Stations/Streamers/Form/ScheduleRow.vue:79 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:69 +#: src/components/Stations/Reports/SoundExchange.vue:65 +#: src/components/Stations/Streamers/Form/ScheduleRow.vue:79 msgid "Start Date" msgstr "" -#: vue/components/Stations/Sidebar.vue:37 +#: src/components/Stations/Sidebar.vue:37 msgid "Start Station" msgstr "" -#: vue/components/Public/WebDJ/SettingsPanel.vue:295 +#: src/components/Public/WebDJ/SettingsPanel.vue:295 msgid "Start Streaming" msgstr "" -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:28 -#: vue/components/Stations/Streamers/BroadcastsModal.vue:92 -#: vue/components/Stations/Streamers/Form/ScheduleRow.vue:30 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:28 +#: src/components/Stations/Streamers/BroadcastsModal.vue:96 +#: src/components/Stations/Streamers/Form/ScheduleRow.vue:30 msgid "Start Time" msgstr "" -#: vue/components/Stations/Webhooks/Form/TypeSelect.vue:26 +#: src/components/Stations/Webhooks/Form/TypeSelect.vue:25 msgid "Station Directories" msgstr "" -#: vue/components/Entity/Webhooks.js:65 +#: src/components/Stations/Profile/StationDisabledPanel.vue:27 +msgid "Station Disabled" +msgstr "" + +#: src/entities/Webhooks.ts:63 msgid "Station Goes Offline" msgstr "" -#: vue/components/Entity/Webhooks.js:69 +#: src/entities/Webhooks.ts:67 msgid "Station Goes Online" msgstr "" -#: vue/components/Admin/StorageLocations.vue:143 +#: src/components/Admin/StorageLocations.vue:137 msgid "Station Media" msgstr "" -#: vue/components/Dashboard.vue:184 +#: src/components/Dashboard.vue:184 msgid "Station Name" msgstr "" -#: vue/components/Dashboard.vue:247 -#: vue/components/Public/Player.vue:18 -#: vue/components/Public/Player.vue:19 -#: vue/components/Public/Player.vue:24 -#: vue/components/Public/Player.vue:27 -#: vue/components/Public/Player.vue:30 -#: vue/components/Stations/Branding/BrandingForm.vue:31 -#: vue/components/Stations/Profile/NowPlayingPanel.vue:50 -#: vue/components/Stations/Profile/NowPlayingPanel.vue:51 -#: vue/components/Stations/Profile/NowPlayingPanel.vue:69 -#: vue/components/Stations/Profile/NowPlayingPanel.vue:79 +#: src/components/Dashboard.vue:247 +#: src/components/Public/Player.vue:18 +#: src/components/Public/Player.vue:19 +#: src/components/Public/Player.vue:24 +#: src/components/Public/Player.vue:27 +#: src/components/Public/Player.vue:30 +#: src/components/Stations/Branding/BrandingForm.vue:31 +#: src/components/Stations/Profile/NowPlayingPanel.vue:50 +#: src/components/Stations/Profile/NowPlayingPanel.vue:51 +#: src/components/Stations/Profile/NowPlayingPanel.vue:69 +#: src/components/Stations/Profile/NowPlayingPanel.vue:79 msgid "Station Offline" msgstr "" -#: vue/components/Stations/Branding/BrandingForm.vue:30 +#: src/components/Stations/Branding/BrandingForm.vue:30 msgid "Station Offline Display Text" msgstr "" -#: vue/components/Dashboard.vue:142 +#: src/components/Dashboard.vue:142 msgid "Station Overview" msgstr "" -#: vue/components/Admin/Permissions/Form/StationForm.vue:2 -#: vue/components/Admin/Permissions/Form/StationRow.vue:33 +#: src/components/Admin/Permissions/Form/StationForm.vue:2 +#: src/components/Admin/Permissions/Form/StationRow.vue:33 msgid "Station Permissions" msgstr "" -#: vue/components/Admin/StorageLocations.vue:151 +#: src/components/Admin/StorageLocations.vue:145 msgid "Station Podcasts" msgstr "" -#: vue/components/Admin/StorageLocations.vue:147 +#: src/components/Admin/StorageLocations.vue:141 msgid "Station Recordings" msgstr "" -#: vue/components/Stations/menu.ts:184 -#: vue/components/Stations/Reports/Overview.vue:9 +#: src/components/Stations/menu.ts:197 +#: src/components/Stations/Reports/Overview.vue:9 msgid "Station Statistics" msgstr "" -#: vue/components/Stations/Sidebar.vue:12 +#: src/components/Stations/Sidebar.vue:12 msgid "Station Time" msgstr "" -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:59 -#: vue/components/Stations/Streamers/Form/ScheduleRow.vue:68 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:59 +#: src/components/Stations/Streamers/Form/ScheduleRow.vue:68 msgid "Station Time Zone" msgstr "" -#: vue/components/Admin/Debug.vue:121 +#: src/components/Admin/Debug.vue:169 msgid "Station-Specific Debugging" msgstr "" -#: vue/components/Admin/StorageLocations.vue:136 +#: src/components/Admin/StorageLocations.vue:130 msgid "Station(s)" msgstr "" -#: vue/components/Admin/menu.ts:113 -#: vue/components/Admin/menu.ts:118 -#: vue/components/Admin/Stations.vue:2 +#: src/components/Admin/menu.ts:115 +#: src/components/Admin/menu.ts:120 +#: src/components/Admin/Stations.vue:2 msgid "Stations" msgstr "" -#: vue/components/Stations/Restart.vue:24 +#: src/components/Stations/Restart.vue:24 msgid "Stations using Icecast can soft-reload the station configuration, applying changes while keeping the stream broadcast running." msgstr "" -#: vue/components/Admin/Index.vue:200 +#: src/components/Admin/Index/CpuStatsPanel.vue:50 msgid "Steal" msgstr "" -#: vue/components/Admin/Index/CpuStatsHelpModal.vue:13 +#: src/components/Admin/Index/CpuStatsHelpModal.vue:13 msgid "Steal (St)" msgstr "" -#: vue/components/Setup/SetupStep.vue:20 -#: vue/components/Setup/SetupStep.vue:33 -#: vue/components/Setup/SetupStep.vue:7 +#: src/components/Setup/SetupStep.vue:20 +#: src/components/Setup/SetupStep.vue:33 +#: src/components/Setup/SetupStep.vue:7 msgid "Step %{step}" msgstr "" -#: vue/components/Account/TwoFactorModal.vue:15 +#: src/components/Account/TwoFactorModal.vue:15 msgid "Step 1: Scan QR Code" msgstr "" -#: vue/components/Account/TwoFactorModal.vue:25 +#: src/components/Account/TwoFactorModal.vue:25 msgid "Step 2: Verify Generated Code" msgstr "" -#: vue/components/Stations/Webhooks/Form/Mastodon.vue:12 +#: src/components/Stations/Webhooks/Form/Mastodon.vue:12 msgid "Steps for configuring a Mastodon application:" msgstr "" -#: vue/components/Stations/Webhooks/Form/Twitter.vue:12 -msgid "Steps for configuring a Twitter application:" -msgstr "" - -#: vue/components/Admin/Stations/Form/BackendForm.vue:123 -#: vue/components/Admin/Stations/Form/BackendForm.vue:434 +#: src/components/Admin/Stations/Form/BackendForm.vue:123 +#: src/components/Admin/Stations/Form/BackendForm.vue:428 msgid "Stereo Tool" msgstr "" -#: vue/components/Admin/StereoTool.vue:25 -msgid "Stereo Tool can be resource-intensive for both CPU and Memory. Please ensure you have sufficient resources before proceeding." -msgstr "" - -#: vue/components/Admin/Stations/Form/BackendForm.vue:131 -#: vue/components/Stations/StereoToolConfig.vue:20 +#: src/components/Admin/Stations/Form/BackendForm.vue:131 +#: src/components/Stations/StereoToolConfig.vue:20 msgid "Stereo Tool documentation." msgstr "" -#: vue/components/Admin/StereoTool.vue:46 +#: src/components/Admin/StereoTool.vue:48 msgid "Stereo Tool Downloads" msgstr "" -#: vue/components/Admin/StereoTool.vue:9 +#: src/components/Admin/StereoTool.vue:9 msgid "Stereo Tool is a popular, proprietary tool for software audio processing. Using Stereo Tool, you can customize the sound of your stations using preset configuration files." msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:128 -#: vue/components/Stations/StereoToolConfig.vue:18 +#: src/components/Admin/Stations/Form/BackendForm.vue:128 +#: src/components/Stations/StereoToolConfig.vue:18 msgid "Stereo Tool is an industry standard for software audio processing. For more information on how to configure it, please refer to the" msgstr "" -#: vue/components/Admin/StereoTool.vue:83 +#: src/components/Admin/StereoTool.vue:104 msgid "Stereo Tool is not currently installed on this installation." msgstr "" -#: vue/components/Admin/StereoTool.vue:31 +#: src/components/Admin/StereoTool.vue:31 msgid "Stereo Tool is not free software, and its restrictive license does not allow AzuraCast to distribute the Stereo Tool binary." msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:145 +#: src/components/Admin/Stations/Form/BackendForm.vue:145 msgid "Stereo Tool License Key" msgstr "" -#: vue/components/Admin/StereoTool.vue:134 +#: src/components/Admin/StereoTool.vue:155 msgid "Stereo Tool version %{ version } is currently installed." msgstr "" -#: vue/components/Common/PlayButton.vue:63 -#: vue/components/InlinePlayer.vue:39 -#: vue/components/Stations/Media/Form/WaveformEditor.vue:28 -#: vue/components/Stations/Profile/BackendPanel.vue:75 -#: vue/components/Stations/Profile/FrontendPanel.vue:154 +#: src/components/Common/PlayButton.vue:61 +#: src/components/InlinePlayer.vue:39 +#: src/components/Stations/Media/Form/WaveformEditor.vue:28 +#: src/components/Stations/Profile/BackendPanel.vue:75 +#: src/components/Stations/Profile/FrontendPanel.vue:154 msgid "Stop" msgstr "" -#: vue/components/Public/WebDJ/SettingsPanel.vue:294 +#: src/components/Public/WebDJ/SettingsPanel.vue:294 msgid "Stop Streaming" msgstr "" -#: vue/components/Admin/StorageLocations/Form.vue:15 +#: src/components/Admin/StorageLocations/Form.vue:14 msgid "Storage Adapter" msgstr "" -#: vue/components/Admin/Backups/ConfigureModal.vue:64 -#: vue/components/Admin/Backups/RunBackupModal.vue:30 +#: src/components/Admin/Backups/ConfigureModal.vue:64 +#: src/components/Admin/Backups/RunBackupModal.vue:30 msgid "Storage Location" msgstr "" -#: vue/components/Admin/menu.ts:40 -#: vue/components/Admin/StorageLocations.vue:4 +#: src/components/Admin/menu.ts:42 +#: src/components/Admin/StorageLocations.vue:4 msgid "Storage Locations" msgstr "" -#: vue/components/Admin/StorageLocations/Form.vue:32 +#: src/components/Admin/StorageLocations/Form.vue:31 msgid "Storage Quota" msgstr "" -#: vue/components/Stations/Reports/Listeners.vue:219 -#: vue/components/Stations/Reports/Overview/StreamsTab.vue:6 +#: src/components/Stations/Reports/Listeners.vue:221 +#: src/components/Stations/Reports/Overview/StreamsTab.vue:6 msgid "Stream" msgstr "" -#: vue/components/Stations/Streamers/BroadcastsModal.vue:7 +#: src/components/Stations/Streamers/BroadcastsModal.vue:7 msgid "Streamer Broadcasts" msgstr "" -#: vue/components/Stations/Streamers/Form/BasicInfo.vue:30 +#: src/components/Stations/Streamers/Form/BasicInfo.vue:29 msgid "Streamer Display Name" msgstr "" -#: vue/components/Stations/Streamers/Form/BasicInfo.vue:21 +#: src/components/Stations/Streamers/Form/BasicInfo.vue:20 msgid "Streamer password" msgstr "" -#: vue/components/Stations/Streamers/Form/BasicInfo.vue:12 +#: src/components/Stations/Streamers/Form/BasicInfo.vue:11 msgid "Streamer Username" msgstr "" -#: vue/components/Stations/Profile/SchedulePanel.vue:22 +#: src/components/Stations/Profile/SchedulePanel.vue:22 msgid "Streamer/DJ" msgstr "" -#: vue/components/Stations/menu.ts:152 -#: vue/components/Stations/Streamers.vue:9 +#: src/components/Stations/menu.ts:165 +#: src/components/Stations/Streamers.vue:9 msgid "Streamer/DJ Accounts" msgstr "" -#: vue/components/Admin/Stations/CloneModalForm.vue:71 -#: vue/components/Admin/Stations/Form/StreamersForm.vue:3 -#: vue/components/Admin/Stations/Form/StreamersForm.vue:8 -#: vue/components/Stations/Profile/StreamersPanel.vue:5 +#: src/components/Admin/Stations/CloneModalForm.vue:71 +#: src/components/Admin/Stations/Form/StreamersForm.vue:3 +#: src/components/Admin/Stations/Form/StreamersForm.vue:8 +#: src/components/Stations/Profile/StreamersPanel.vue:5 msgid "Streamers/DJs" msgstr "" -#: vue/components/Stations/Profile/StreamsPanel.vue:4 -#: vue/components/Stations/Reports/Overview.vue:48 +#: src/components/Stations/Profile/StreamsPanel.vue:4 +#: src/components/Stations/Reports/Overview.vue:44 msgid "Streams" msgstr "" -#: vue/components/Account/TwoFactorModal.vue:67 +#: src/components/Account/TwoFactorModal.vue:63 msgid "Submit Code" msgstr "" -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:150 -#: vue/components/Stations/Streamers/Form/ScheduleRow.vue:150 -#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:110 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:151 +#: src/components/Stations/Reports/Overview/ListenersByTimePeriodTab.vue:181 +#: src/components/Stations/Streamers/Form/ScheduleRow.vue:151 +#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:116 msgid "Sunday" msgstr "" -#: vue/components/Stations/Help.vue:46 +#: src/components/Stations/Logs.vue:46 msgid "Support Documents" msgstr "" -#: vue/components/Admin/Backups/RunBackupModal.vue:45 +#: src/components/Admin/Backups/RunBackupModal.vue:45 msgid "Supported file formats:" msgstr "" -#: vue/components/PanelLayout.vue:93 +#: src/components/PanelLayout.vue:89 +#: src/components/PanelLayout.vue:93 msgid "Switch Theme" msgstr "" -#: vue/components/Admin/Debug.vue:56 +#: src/components/Admin/Debug.vue:61 msgid "Synchronization Tasks" msgstr "" -#: vue/components/PanelLayout.vue:74 +#: src/components/PanelLayout.vue:71 +#: src/components/PanelLayout.vue:74 msgid "System Administration" msgstr "" -#: vue/components/Admin/Debug.vue:3 -#: vue/components/Admin/menu.ts:56 +#: src/components/Admin/Debug.vue:3 +#: src/components/Admin/menu.ts:58 #: /var/azuracast/www/src/Notification/Check/SyncTaskCheck.php:59 msgid "System Debugger" msgstr "" -#: vue/components/Admin/Logs.vue:5 -#: vue/components/Admin/menu.ts:32 +#: src/components/Admin/Logs.vue:5 +#: src/components/Admin/menu.ts:34 msgid "System Logs" msgstr "" -#: vue/components/Admin/menu.ts:11 +#: src/components/Admin/menu.ts:13 msgid "System Maintenance" msgstr "" -#: vue/components/Admin/menu.ts:16 -#: vue/components/Admin/Settings.vue:19 -#: /var/azuracast/www/src/Controller/Frontend/SetupController.php:172 +#: src/components/Admin/menu.ts:18 +#: src/components/Admin/Settings.vue:19 +#: /var/azuracast/www/src/Controller/Frontend/SetupController.php:174 #: /var/azuracast/www/src/Notification/Check/BaseUrlCheck.php:58 msgid "System Settings" msgstr "" -#: vue/components/Admin/AuditLog.vue:127 +#: src/components/Admin/AuditLog.vue:127 msgid "Target" msgstr "" -#: vue/components/Admin/Debug.vue:216 +#: src/components/Admin/Debug.vue:282 msgid "Task Name" msgstr "" -#: vue/components/Entity/Webhooks.js:107 +#: src/entities/Webhooks.ts:115 msgid "Telegram Chat Message" msgstr "" -#: vue/components/Stations/Webhooks.vue:48 -#: vue/components/Stations/Webhooks.vue:49 -#: vue/components/Stations/Webhooks.vue:53 -#: vue/components/Stations/Webhooks.vue:65 -#: vue/components/Stations/Webhooks.vue:74 +#: src/components/Stations/Webhooks.vue:51 +#: src/components/Stations/Webhooks.vue:52 +#: src/components/Stations/Webhooks.vue:55 +#: src/components/Stations/Webhooks.vue:67 +#: src/components/Stations/Webhooks.vue:76 msgid "Test" msgstr "" -#: vue/components/Admin/Settings/TestMessageModal.vue:83 +#: src/components/Admin/Settings/TestMessageModal.vue:79 msgid "Test message sent." msgstr "" -#: vue/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:123 +#: src/components/Stations/Webhooks/Form/Common/SocialPostFields.vue:123 msgid "Thanks for listening to %{ station }!" msgstr "" -#: vue/components/Admin/Index/MemoryStatsHelpModal.vue:14 +#: src/components/Admin/Index/MemoryStatsHelpModal.vue:14 msgid "The amount of memory Linux is using for disk caching." msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:115 +#: src/components/Admin/Stations/Form/BackendForm.vue:115 msgid "The average target loudness (measured in LUFS) for the broadcasted stream. Values between -14 and -18 LUFS are common for Internet radio stations." msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:14 +#: src/components/Admin/Settings/GeneralTab.vue:14 msgid "The base URL where this service is located. Use either the external IP address or fully-qualified domain name (if one exists) pointing to this server." msgstr "" -#: vue/components/Stations/Webhooks/Form/Generic.vue:18 +#: src/components/Stations/Webhooks/Form/Generic.vue:18 msgid "The body of the POST message is the exact same as the NowPlaying API response for your station." msgstr "" -#: vue/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:46 +#: src/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:45 msgid "The contact person of the podcast. May be required in order to list the podcast on services like Apple Podcasts, Spotify, Google Podcasts, etc." msgstr "" -#: vue/components/Admin/Index/CpuStatsHelpModal.vue:63 +#: src/components/Admin/Index/CpuStatsHelpModal.vue:63 msgid "The current CPU usage including I/O Wait and Steal." msgstr "" -#: vue/components/Admin/Index/MemoryStatsHelpModal.vue:35 +#: src/components/Admin/Index/MemoryStatsHelpModal.vue:35 msgid "The current Memory usage excluding cached memory." msgstr "" -#: vue/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:38 +#: src/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:37 msgid "The date when the episode should be published." msgstr "" -#: vue/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:29 +#: src/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:28 msgid "The description of the episode. The typical maximum amount of text allowed for this is 4000 characters." msgstr "" -#: vue/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:29 +#: src/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:28 msgid "The description of your podcast. The typical maximum amount of text allowed for this is 4000 characters." msgstr "" -#: vue/components/Stations/Mounts/Form/BasicInfo.vue:21 +#: src/components/Stations/Mounts/Form/BasicInfo.vue:20 msgid "The display name assigned to this mount point when viewing it on administrative or public pages. Leave blank to automatically generate one." msgstr "" -#: vue/components/Stations/Remotes/Form/BasicInfo.vue:23 +#: src/components/Stations/Remotes/Form/BasicInfo.vue:22 msgid "The display name assigned to this relay when viewing it on administrative or public pages. Leave blank to automatically generate one." msgstr "" -#: vue/components/Stations/LiquidsoapConfig.vue:28 +#: src/components/Stations/LiquidsoapConfig.vue:28 msgid "The editable text boxes are areas where you can insert custom configuration code. The non-editable sections are automatically generated by AzuraCast." msgstr "" -#: vue/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:55 +#: src/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:54 msgid "The email of the podcast contact. May be required in order to list the podcast on services like Apple Podcasts, Spotify, Google Podcasts, etc." msgstr "" -#: vue/components/Admin/Shoutcast.vue:37 +#: src/components/Admin/Shoutcast.vue:37 msgid "The file name should look like:" msgstr "" -#: vue/components/Stations/BulkMedia.vue:55 +#: src/components/Stations/BulkMedia.vue:55 msgid "The format and headers of this CSV should match the format generated by the export function on this page." msgstr "" -#: vue/components/Stations/Webhooks/Form/MatomoAnalytics.vue:13 +#: src/components/Stations/Webhooks/Form/MatomoAnalytics.vue:13 msgid "The full base URL of your Matomo installation." msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:338 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:338 msgid "The full playlist is shuffled and then played through in the shuffled order." msgstr "" -#: vue/components/Admin/Index/CpuStatsHelpModal.vue:44 +#: src/components/Admin/Index/CpuStatsHelpModal.vue:44 msgid "The I/O Wait is the percentage of time that the CPU is waiting for disk access before it can continue the work that depends on the result of this." msgstr "" -#: vue/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:38 +#: src/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:37 msgid "The language spoken on the podcast." msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:221 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:220 msgid "The length of playback time that Liquidsoap should buffer when playing this remote playlist. Shorter times may lead to intermittent playback on unstable connections." msgstr "" -#: vue/components/Admin/Stations/Form/StreamersForm.vue:103 +#: src/components/Admin/Stations/Form/StreamersForm.vue:103 msgid "The number of seconds of signal to store in case of interruption. Set to the lowest value that your DJs can use without stream interruptions." msgstr "" -#: vue/components/Stations/Webhooks/Form/Generic.vue:71 +#: src/components/Stations/Webhooks/Form/Generic.vue:71 msgid "The number of seconds to wait for a response from the remote server before cancelling the request." msgstr "" -#: vue/components/Stations/Webhooks/Form/MatomoAnalytics.vue:21 +#: src/components/Stations/Webhooks/Form/MatomoAnalytics.vue:21 msgid "The numeric site ID for this site." msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:348 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:348 msgid "The order of the playlist is manually specified and followed by the AutoDJ." msgstr "" -#: vue/components/Admin/Stations/Form/AdminForm.vue:22 +#: src/components/Admin/Stations/Form/AdminForm.vue:22 msgid "The parent directory where station playlist and configuration files are stored. Leave blank to use default directory." msgstr "" -#: vue/components/Stations/Webhooks/Form/GoogleAnalyticsV3.vue:12 -msgid "The property ID used to track live listeners." -msgstr "" - -#: vue/components/Stations/Media/Form/BasicInfo.vue:8 +#: src/components/Stations/Media/Form/BasicInfo.vue:8 msgid "The relative path of the file in the station's media directory." msgstr "" -#: vue/components/Stations/Media/MediaToolbar.vue:230 +#: src/components/Stations/Media/MediaToolbar.vue:231 msgid "The request could not be processed." msgstr "" -#: vue/components/Stations/Webhooks/Form/Tunein.vue:12 +#: src/components/Stations/Webhooks/Form/Tunein.vue:12 msgid "The station ID will be a numeric string that starts with the letter S." msgstr "" -#: vue/components/Stations/Streamers/Form/BasicInfo.vue:22 +#: src/components/Stations/Streamers/Form/BasicInfo.vue:21 msgid "The streamer will use this password to connect to the radio server." msgstr "" -#: vue/components/Stations/Streamers/Form/BasicInfo.vue:13 +#: src/components/Stations/Streamers/Form/BasicInfo.vue:12 msgid "The streamer will use this username to connect to the radio server." msgstr "" -#: vue/components/Stations/Media/Form/AdvancedSettings.vue:37 +#: src/components/Stations/Media/Form/AdvancedSettings.vue:37 msgid "The time period that the song should fade in. Leave blank to use the system default." msgstr "" -#: vue/components/Stations/Media/Form/AdvancedSettings.vue:47 +#: src/components/Stations/Media/Form/AdvancedSettings.vue:47 msgid "The time period that the song should fade out. Leave blank to use the system default." msgstr "" -#: vue/components/Stations/Media/Form/AdvancedSettings.vue:27 +#: src/components/Stations/Media/Form/AdvancedSettings.vue:27 msgid "The time that this song should overlap its surrounding songs when fading. Leave blank to use the system default." msgstr "" -#: vue/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:47 +#: src/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:46 msgid "The time when the episode should be published (according to the stations timezone)." msgstr "" -#: vue/components/Stations/Webhooks/Form/Generic.vue:45 +#: src/components/Stations/Webhooks/Form/Generic.vue:45 msgid "The URL that will receive the POST messages any time an event is triggered." msgstr "" -#: vue/components/Stations/Media/Form/AdvancedSettings.vue:17 +#: src/components/Stations/Media/Form/AdvancedSettings.vue:17 msgid "The volume in decibels to amplify the track with. Leave blank to use the system default." msgstr "" -#: vue/components/Public/WebDJ/SettingsPanel.vue:58 +#: src/components/Public/WebDJ/SettingsPanel.vue:58 msgid "The WebDJ lets you broadcast live to your station using just your web browser." msgstr "" -#: vue/components/Stations/Profile/EmbedModal.vue:37 +#: src/components/Stations/Profile/EmbedModal.vue:37 msgid "Theme" msgstr "" -#: vue/components/Stations/Fallback.vue:66 +#: src/components/Stations/Fallback.vue:66 msgid "There is no existing custom fallback file associated with this station." msgstr "" -#: vue/components/Stations/Mounts/Form/Intro.vue:52 +#: src/components/Stations/Mounts/Form/Intro.vue:52 msgid "There is no existing intro file associated with this mount point." msgstr "" -#: vue/components/Stations/Podcasts/EpisodeForm/Media.vue:52 +#: src/components/Stations/Podcasts/EpisodeForm/Media.vue:52 msgid "There is no existing media associated with this episode." msgstr "" -#: vue/components/Stations/StereoToolConfig.vue:76 +#: src/components/Stations/StereoToolConfig.vue:76 msgid "There is no Stereo Tool configuration file present." msgstr "" -#: vue/components/Setup/Register.vue:32 +#: src/components/Setup/Register.vue:32 msgid "This account will have full access to the system, and you'll automatically be logged in to it for the rest of setup." msgstr "" -#: vue/components/Stations/Webhooks/Form/GoogleAnalyticsV4.vue:12 +#: src/components/Stations/Webhooks/Form/GoogleAnalyticsV4.vue:12 msgid "This can be generated in the \"Events\" section for a measurement." msgstr "" -#: vue/components/Admin/Index/MemoryStatsHelpModal.vue:19 +#: src/components/Stations/Webhooks/Form/GetMeRadio.vue:12 +msgid "This can be retrieved from the GetMeRadio dashboard." +msgstr "" + +#: src/components/Admin/Index/MemoryStatsHelpModal.vue:19 msgid "This can make it look like your memory is low while it actually is not. Some monitoring solutions/panels include cached memory in their used memory statistics without indicating this." msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:146 +#: src/components/Admin/Stations/Form/FrontendForm.vue:146 msgid "This code will be included in the frontend configuration. Allowed formats are:" msgstr "" -#: vue/components/Stations/StereoToolConfig.vue:39 +#: src/components/Stations/StereoToolConfig.vue:39 msgid "This configuration file should be a valid .sts file exported from Stereo Tool." msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:107 +#: src/components/Admin/Branding/BrandingForm.vue:107 msgid "This CSS will be applied to the main management pages, like this one." msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:75 +#: src/components/Admin/Branding/BrandingForm.vue:75 msgid "This CSS will be applied to the station public pages and login page." msgstr "" -#: vue/components/Stations/Branding/BrandingForm.vue:47 +#: src/components/Stations/Branding/BrandingForm.vue:47 msgid "This CSS will be applied to the station public pages." msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:214 +#: src/components/Admin/Stations/Form/BackendForm.vue:214 msgid "This determines how many songs in advance the AutoDJ will automatically fill the queue." msgstr "" -#: vue/components/Admin/Stations/Form/Common/BackendDisabled.vue:8 +#: src/components/Admin/Stations/Form/Common/BackendDisabled.vue:8 msgid "This feature requires the AutoDJ feature to be enabled." msgstr "" -#: vue/components/Form/VuelidateError.vue:27 +#: src/components/Form/VuelidateError.vue:27 msgid "This field is required." msgstr "" -#: vue/components/Form/VuelidateError.vue:60 +#: src/components/Form/VuelidateError.vue:60 msgid "This field must be a valid decimal number." msgstr "" -#: vue/components/Form/VuelidateError.vue:63 +#: src/components/Form/VuelidateError.vue:63 msgid "This field must be a valid e-mail address." msgstr "" -#: vue/components/Form/VuelidateError.vue:57 +#: src/components/Form/VuelidateError.vue:57 msgid "This field must be a valid integer." msgstr "" -#: vue/components/Form/VuelidateError.vue:66 +#: src/components/Form/VuelidateError.vue:66 msgid "This field must be a valid IP address." msgstr "" -#: vue/components/Form/VuelidateError.vue:69 +#: src/components/Form/VuelidateError.vue:69 msgid "This field must be a valid URL." msgstr "" -#: vue/components/Form/VuelidateError.vue:42 +#: src/components/Form/VuelidateError.vue:42 msgid "This field must be between %{ min } and %{ max }." msgstr "" -#: vue/components/Form/VuelidateError.vue:30 +#: src/components/Form/VuelidateError.vue:30 msgid "This field must have at least %{ min } letters." msgstr "" -#: vue/components/Form/VuelidateError.vue:36 +#: src/components/Form/VuelidateError.vue:36 msgid "This field must have at most %{ max } letters." msgstr "" -#: vue/components/Form/VuelidateError.vue:48 +#: src/components/Form/VuelidateError.vue:48 msgid "This field must only contain alphabetic characters." msgstr "" -#: vue/components/Form/VuelidateError.vue:51 +#: src/components/Form/VuelidateError.vue:51 msgid "This field must only contain alphanumeric characters." msgstr "" -#: vue/components/Form/VuelidateError.vue:54 +#: src/components/Form/VuelidateError.vue:54 msgid "This field must only contain numeric characters." msgstr "" -#: vue/components/Stations/Fallback.vue:18 +#: src/components/Stations/Fallback.vue:18 msgid "This file will be played on your radio station any time no media is scheduled to play or a critical error occurs that interrupts regular broadcasting." msgstr "" -#: vue/components/Stations/Streamers/Form/Artwork.vue:11 +#: src/components/Stations/Streamers/Form/Artwork.vue:11 msgid "This image will be used as the default album art when this streamer is live." msgstr "" -#: vue/components/Stations/Mounts/Form/Intro.vue:13 +#: src/components/Stations/Mounts/Form/Intro.vue:13 msgid "This introduction file should exactly match the bitrate and format of the mount point itself." msgstr "" -#: vue/components/Stations/LiquidsoapConfig.vue:33 +#: src/components/Stations/Webhooks/Form/GetMeRadio.vue:20 +msgid "This is a 3-5 digit number." +msgstr "" + +#: src/components/Stations/LiquidsoapConfig.vue:33 msgid "This is an advanced feature and custom code is not officially supported by AzuraCast. You may break your station by adding custom code, but removing it should fix any issues." msgstr "" -#: vue/components/Stations/Streamers/Form/BasicInfo.vue:31 +#: src/components/Stations/Streamers/Form/BasicInfo.vue:30 msgid "This is the informal display name that will be shown in API responses if the streamer/DJ is live." msgstr "" -#: vue/components/Admin/Stations/Form/StreamersForm.vue:70 +#: src/components/Admin/Stations/Form/StreamersForm.vue:70 msgid "This is the number of seconds until a streamer who has been manually disconnected can reconnect to the stream. Set to 0 to allow the streamer to immediately reconnect." msgstr "" -#: vue/components/Admin/Branding/BrandingForm.vue:91 +#: src/components/Admin/Branding/BrandingForm.vue:91 msgid "This javascript code will be applied to the station public pages and login page." msgstr "" -#: vue/components/Stations/Branding/BrandingForm.vue:63 +#: src/components/Stations/Branding/BrandingForm.vue:63 msgid "This javascript code will be applied to the station public pages." msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:184 +#: src/components/Admin/Stations/Form/BackendForm.vue:184 msgid "This mode disables AzuraCast's AutoDJ management, using Liquidsoap itself to manage song playback. \"next song\" and some other features will not be available." msgstr "" -#: vue/components/Common/DateRangeDropdown.vue:153 +#: src/components/Common/DateRangeDropdown.vue:154 msgid "This Month" msgstr "" -#: vue/components/Stations/Mounts/Form/BasicInfo.vue:13 +#: src/components/Stations/Mounts/Form/BasicInfo.vue:12 msgid "This name should always begin with a slash (/), and must be a valid URL, such as /autodj.mp3" msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:22 +#: src/components/Admin/Settings/GeneralTab.vue:22 msgid "This name will appear as a sub-header next to the AzuraCast logo, to help identify this server." msgstr "" -#: vue/components/Admin/ApiKeys.vue:6 +#: src/components/Admin/ApiKeys.vue:6 msgid "This page lists all API keys assigned to all users across the system. To manage your own API keys, visit your account profile." msgstr "" -#: vue/components/Form/VuelidateError.vue:72 +#: src/components/Form/VuelidateError.vue:72 msgid "This password is too common or insecure." msgstr "" -#: vue/components/Stations/Playlists/Form/Schedule.vue:12 +#: src/components/Stations/Playlists/Form/Schedule.vue:12 msgid "This playlist currently has no scheduled times. It will play at all times. To add a new scheduled time, click the button below." msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:159 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:158 msgid "This playlist will play every $x minutes, where $x is specified here." msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:141 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:140 msgid "This playlist will play every $x songs, where $x is specified here." msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:204 +#: src/components/Admin/Stations/Form/BackendForm.vue:204 msgid "This port is not used by any external process. Only modify this port if the assigned port is in use. Leave blank to automatically assign a port." msgstr "" -#: vue/components/Stations/Playlists/QueueModal.vue:11 +#: src/components/Stations/Playlists/QueueModal.vue:12 msgid "This queue contains the remaining tracks in the order they will be queued by the AzuraCast AutoDJ (if the tracks are eligible to be played)." msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:236 +#: src/components/Admin/Settings/ServicesTab.vue:236 msgid "This service can provide album art for tracks where none is available locally." msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:15 -msgid "This software delivers your broadcast to the listening audience." +#: src/components/Admin/Stations/Form/FrontendForm.vue:15 +msgid "This software is traditionally used to deliver your broadcast to your listeners. You can still broadcast remotely or via HLS if this service is disabled." msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:15 +#: src/components/Admin/Stations/Form/BackendForm.vue:15 msgid "This software shuffles from playlists of music constantly and plays when no other radio source is available." msgstr "" -#: vue/components/Admin/Stations/Form/RequestsForm.vue:47 +#: src/components/Admin/Stations/Form/RequestsForm.vue:47 msgid "This specifies the minimum time (in minutes) between a song playing on the radio and being available to request again. Set to 0 for no threshold." msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:246 +#: src/components/Admin/Stations/Form/BackendForm.vue:246 msgid "This specifies the time range (in minutes) of the song history that the duplicate song prevention algorithm should take into account." msgstr "" -#: vue/components/Stations/Common/TimeZone.vue:2 -#: vue/components/Stations/Streamers.vue:17 +#: src/components/Stations/Common/TimeZone.vue:2 +#: src/components/Stations/Streamers.vue:17 msgid "This station's time zone is currently %{tz}." msgstr "" -#: vue/components/Stations/Streamers/Form/Schedule.vue:11 +#: src/components/Stations/Streamers/Form/Schedule.vue:11 msgid "This streamer is not scheduled to play at any times." msgstr "" -#: vue/components/Stations/Webhooks/Form/Discord.vue:13 +#: src/components/Stations/Webhooks/Form/Discord.vue:13 msgid "This URL is provided within the Discord application." msgstr "" -#: vue/components/Stations/Webhooks/Form/BasicInfo.vue:24 +#: src/components/Stations/Webhooks.vue:39 +msgid "This web hook is no longer supported. Removing it is recommended." +msgstr "" + +#: src/components/Stations/Webhooks/Form/BasicInfo.vue:23 msgid "This web hook will only run when the selected event(s) occur on this specific station." msgstr "" -#: vue/components/Stations/Branding/BrandingForm.vue:31 +#: src/components/Stations/Branding/BrandingForm.vue:31 msgid "This will be shown on public player pages if the station is offline. Leave blank to default to a localized version of \"%{message}\"." msgstr "" -#: vue/components/Admin/Backups/RunBackupModal.vue:41 +#: src/components/Admin/Backups/RunBackupModal.vue:41 msgid "This will be the file name for your backup, include the extension for file type you wish to use." msgstr "" -#: vue/components/Admin/CustomFields/Form.vue:8 +#: src/components/Admin/CustomFields/Form.vue:8 msgid "This will be used as the label when editing individual songs, and will show in API results." msgstr "" -#: vue/components/Admin/Debug.vue:36 +#: src/components/Admin/Debug.vue:36 msgid "This will clear any pending unprocessed messages in all message queues." msgstr "" -#: vue/components/Admin/Backups/RunBackupModal.vue:65 +#: src/components/Admin/Backups/RunBackupModal.vue:65 msgid "This will produce a significantly smaller backup, but you should make sure to back up your media elsewhere. Note that only locally stored media will be backed up." msgstr "" -#: vue/components/Stations/Webhooks/Form/Discord.vue:63 +#: src/components/Stations/Webhooks/Form/Discord.vue:63 msgid "Thumbnail Image URL" msgstr "" -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:147 -#: vue/components/Stations/Streamers/Form/ScheduleRow.vue:147 -#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:107 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:148 +#: src/components/Stations/Reports/Overview/ListenersByTimePeriodTab.vue:178 +#: src/components/Stations/Streamers/Form/ScheduleRow.vue:148 +#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:113 msgid "Thursday" msgstr "" -#: vue/components/Stations/Reports/Listeners.vue:216 -#: vue/components/Stations/Reports/Overview/CommonMetricsView.vue:102 +#: src/components/Stations/Reports/Listeners.vue:218 +#: src/components/Stations/Reports/Overview/CommonMetricsView.vue:89 msgid "Time" msgstr "" -#: vue/components/Stations/Reports/Listeners.vue:217 -#: vue/components/Stations/Reports/Overview/CommonMetricsView.vue:103 +#: src/components/Stations/Reports/Listeners.vue:219 +#: src/components/Stations/Reports/Overview/CommonMetricsView.vue:90 msgid "Time (sec)" msgstr "" -#: vue/components/Account/EditForm.vue:22 +#: src/components/Account/EditForm.vue:22 msgid "Time Display" msgstr "" -#: vue/components/Admin/Index/CpuStatsHelpModal.vue:39 +#: src/components/Admin/Index/CpuStatsHelpModal.vue:39 msgid "Time spent waiting for disk I/O to be completed." msgstr "" -#: vue/components/Admin/Index/CpuStatsHelpModal.vue:14 +#: src/components/Admin/Index/CpuStatsHelpModal.vue:14 msgid "Time stolen by other virtual machines on the same physical server." msgstr "" -#: vue/components/Admin/Stations/Form/ProfileForm.vue:44 +#: src/components/Admin/Stations/Form/ProfileForm.vue:43 msgid "Time Zone" msgstr "" -#: vue/components/Public/OnDemand.vue:118 -#: vue/components/Public/Requests.vue:79 -#: vue/components/Public/WebDJ/SettingsPanel.vue:14 -#: vue/components/Stations/Media.vue:308 -#: vue/components/Stations/Playlists/QueueModal.vue:19 -#: vue/components/Stations/Playlists/ReorderModal.vue:24 -#: vue/components/Stations/Webhooks/Form/Discord.vue:32 +#: src/components/Public/OnDemand.vue:119 +#: src/components/Public/Requests.vue:79 +#: src/components/Public/WebDJ/SettingsPanel.vue:14 +#: src/components/Stations/Media.vue:310 +#: src/components/Stations/Playlists/QueueModal.vue:20 +#: src/components/Stations/Playlists/ReorderModal.vue:24 +#: src/components/Stations/Webhooks/Form/Discord.vue:32 #: /var/azuracast/www/src/Media/Enums/MetadataTags.php:133 msgid "Title" msgstr "" -#: vue/components/Admin/Index/CpuStatsHelpModal.vue:24 +#: src/components/Admin/Index/CpuStatsHelpModal.vue:24 msgid "To alleviate this potential problem with shared CPU resources, hosts assign \"credits\" to a VPS which are used up according to an algorithm based on the CPU load as well as the time over which the CPU load is generated. If your VM's assigned credit is used up, they will take CPU time from your VM and assign it to other VMs on the machine. This is seen as the \"Steal\" or \"St\" value." msgstr "" -#: vue/components/Admin/Updates.vue:134 +#: src/components/Admin/Updates.vue:134 msgid "To customize installation settings, or if automatic updates are disabled, you can follow our standard update instructions to update via your SSH console." msgstr "" -#: vue/components/Admin/GeoLite.vue:25 +#: src/components/Admin/GeoLite.vue:25 msgid "To download the GeoLite database:" msgstr "" -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:29 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:29 msgid "To play once per day, set the start and end times to the same value." msgstr "" -#: vue/components/Admin/Backups.vue:72 +#: src/components/Admin/Backups.vue:72 msgid "To restore a backup from your host computer, run:" msgstr "" -#: vue/components/Stations/Remotes/Form/BasicInfo.vue:57 +#: src/components/Stations/Remotes/Form/BasicInfo.vue:56 msgid "To retrieve detailed unique listeners and client details, an administrator password is often required." msgstr "" -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:70 -#: vue/components/Stations/Streamers/Form/ScheduleRow.vue:80 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:70 +#: src/components/Stations/Streamers/Form/ScheduleRow.vue:80 msgid "To set this schedule to run only within a certain date range, specify a start and end date." msgstr "" -#: vue/components/Public/WebDJ/SettingsPanel.vue:62 +#: src/components/Public/WebDJ/SettingsPanel.vue:62 msgid "To use this feature, a secure (HTTPS) connection is required. Firefox is recommended to avoid static when broadcasting." msgstr "" -#: vue/components/Account/TwoFactorModal.vue:30 +#: src/components/Account/TwoFactorModal.vue:30 msgid "To verify that the code was set up correctly, enter the 6-digit code the app shows you." msgstr "" -#: vue/components/Common/DateRangeDropdown.vue:118 +#: src/components/Common/DateRangeDropdown.vue:119 msgid "Today" msgstr "" -#: vue/components/PanelLayout.vue:46 +#: src/components/PanelLayout.vue:46 msgid "Toggle Menu" msgstr "" -#: vue/components/PanelLayout.vue:17 +#: src/components/PanelLayout.vue:17 msgid "Toggle Sidebar" msgstr "" -#: vue/components/Stations/Reports/Overview/BrowsersTab.vue:12 +#: src/components/Stations/Reports/Overview/BrowsersTab.vue:12 msgid "Top Browsers by Connected Time" msgstr "" -#: vue/components/Stations/Reports/Overview/BrowsersTab.vue:9 +#: src/components/Stations/Reports/Overview/BrowsersTab.vue:9 msgid "Top Browsers by Listeners" msgstr "" -#: vue/components/Stations/Reports/Overview/CountriesTab.vue:12 +#: src/components/Stations/Reports/Overview/CountriesTab.vue:12 msgid "Top Countries by Connected Time" msgstr "" -#: vue/components/Stations/Reports/Overview/CountriesTab.vue:9 +#: src/components/Stations/Reports/Overview/CountriesTab.vue:9 msgid "Top Countries by Listeners" msgstr "" -#: vue/components/Stations/Reports/Overview/StreamsTab.vue:12 +#: src/components/Stations/Reports/Overview/StreamsTab.vue:12 msgid "Top Streams by Connected Time" msgstr "" -#: vue/components/Stations/Reports/Overview/StreamsTab.vue:9 +#: src/components/Stations/Reports/Overview/StreamsTab.vue:9 msgid "Top Streams by Listeners" msgstr "" -#: vue/components/Admin/Index.vue:118 +#: src/components/Admin/Index/DiskUsagePanel.vue:11 msgid "Total Disk Space" msgstr "" -#: vue/components/Stations/Reports/Listeners.vue:95 +#: src/components/Stations/Reports/Listeners.vue:95 msgid "Total Listener Hours" msgstr "" -#: vue/components/Admin/Index.vue:69 +#: src/components/Admin/Index/MemoryStatsPanel.vue:23 msgid "Total RAM" msgstr "" -#: vue/components/Admin/Index.vue:376 +#: src/components/Admin/Index/NetworkStatsPanel.vue:29 msgid "Transmitted" msgstr "" -#: vue/components/Stations/Webhooks.vue:130 +#: src/components/Stations/Webhooks.vue:133 msgid "Triggers" msgstr "" -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:145 -#: vue/components/Stations/Streamers/Form/ScheduleRow.vue:145 -#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:105 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:146 +#: src/components/Stations/Reports/Overview/ListenersByTimePeriodTab.vue:176 +#: src/components/Stations/Streamers/Form/ScheduleRow.vue:146 +#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:111 msgid "Tuesday" msgstr "" -#: vue/components/Entity/Webhooks.js:99 +#: src/entities/Webhooks.ts:99 msgid "TuneIn AIR" msgstr "" -#: vue/components/Stations/Webhooks/Form/Tunein.vue:19 +#: src/components/Stations/Webhooks/Form/Tunein.vue:19 msgid "TuneIn Partner ID" msgstr "" -#: vue/components/Stations/Webhooks/Form/Tunein.vue:26 +#: src/components/Stations/Webhooks/Form/Tunein.vue:26 msgid "TuneIn Partner Key" msgstr "" -#: vue/components/Stations/Webhooks/Form/Tunein.vue:11 +#: src/components/Stations/Webhooks/Form/Tunein.vue:11 msgid "TuneIn Station ID" msgstr "" -#: vue/components/Stations/Webhooks/Form/Twitter.vue:8 -msgid "Twitter Account Details" -msgstr "" - -#: vue/components/Stations/Webhooks/Form/Twitter.vue:21 -msgid "Twitter Applications" -msgstr "" - -#: vue/components/Entity/Webhooks.js:111 -msgid "Twitter Post" -msgstr "" - -#: vue/components/Account.vue:79 +#: src/components/Account.vue:79 msgid "Two-Factor Authentication" msgstr "" -#: vue/components/Account.vue:85 +#: src/components/Account.vue:85 msgid "Two-factor authentication improves the security of your account by requiring a second one-time access code in addition to your password when you log in." msgstr "" -#: vue/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:20 +#: src/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:19 msgid "Typically a website with content about the episode." msgstr "" -#: vue/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:20 +#: src/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:19 msgid "Typically the home page of a podcast." msgstr "" -#: vue/components/Stations/BulkMedia.vue:133 +#: src/components/Stations/BulkMedia.vue:133 msgid "Unable to update." msgstr "" -#: vue/components/Stations/menu.ts:92 +#: src/components/Stations/menu.ts:105 msgid "Unassigned Files" msgstr "" -#: vue/components/Admin/StereoTool.vue:101 -#: vue/components/Admin/StereoTool.vue:98 +#: src/components/Admin/StereoTool.vue:119 +#: src/components/Admin/StereoTool.vue:122 msgid "Uninstall" msgstr "" -#: vue/components/Stations/Profile/NowPlayingPanel.vue:30 -#: vue/components/Stations/Profile/StreamsPanel.vue:101 -#: vue/components/Stations/Profile/StreamsPanel.vue:142 -#: vue/components/Stations/Profile/StreamsPanel.vue:53 +#: src/components/Stations/Profile/NowPlayingPanel.vue:30 +#: src/components/Stations/Profile/StreamsPanel.vue:101 +#: src/components/Stations/Profile/StreamsPanel.vue:142 +#: src/components/Stations/Profile/StreamsPanel.vue:53 msgid "Unique" msgstr "" -#: vue/components/Stations/Webhooks/Form/Telegram.vue:28 +#: src/components/Stations/Webhooks/Form/Telegram.vue:28 msgid "Unique identifier for the target chat or username of the target channel (in the format @channelusername)." msgstr "" -#: vue/components/DashboardCharts.vue:19 -#: vue/components/Stations/Reports/Listeners.vue:85 +#: src/components/DashboardCharts.vue:14 +#: src/components/Stations/Reports/Listeners.vue:85 +#: src/components/Stations/Reports/Overview/ListenersByTimePeriodTab.vue:27 msgid "Unique Listeners" msgstr "" -#: vue/components/Stations/Reports/Listeners.vue:142 -#: vue/components/Stations/Reports/Listeners.vue:159 +#: src/components/Stations/Reports/Listeners.vue:143 +#: src/components/Stations/Reports/Listeners.vue:160 msgid "Unknown" msgstr "" -#: vue/components/Public/WebDJ/PlaylistPanel.vue:160 -#: vue/components/Public/WebDJ/PlaylistPanel.vue:163 -#: vue/components/Public/WebDJ/PlaylistPanel.vue:170 -#: vue/components/Public/WebDJ/PlaylistPanel.vue:91 -#: vue/components/Public/WebDJ/PlaylistPanel.vue:92 +#: src/components/Public/WebDJ/PlaylistPanel.vue:160 +#: src/components/Public/WebDJ/PlaylistPanel.vue:163 +#: src/components/Public/WebDJ/PlaylistPanel.vue:170 +#: src/components/Public/WebDJ/PlaylistPanel.vue:91 +#: src/components/Public/WebDJ/PlaylistPanel.vue:92 msgid "Unknown Artist" msgstr "" -#: vue/components/Public/WebDJ/PlaylistPanel.vue:156 -#: vue/components/Public/WebDJ/PlaylistPanel.vue:159 -#: vue/components/Public/WebDJ/PlaylistPanel.vue:166 -#: vue/components/Public/WebDJ/PlaylistPanel.vue:87 -#: vue/components/Public/WebDJ/PlaylistPanel.vue:88 +#: src/components/Public/WebDJ/PlaylistPanel.vue:156 +#: src/components/Public/WebDJ/PlaylistPanel.vue:159 +#: src/components/Public/WebDJ/PlaylistPanel.vue:166 +#: src/components/Public/WebDJ/PlaylistPanel.vue:87 +#: src/components/Public/WebDJ/PlaylistPanel.vue:88 msgid "Unknown Title" msgstr "" -#: vue/components/Stations/Webhooks/Form/Mastodon.vue:128 +#: src/components/Stations/Webhooks/Form/Mastodon.vue:128 msgid "Unlisted" msgstr "" -#: vue/components/Common/MuteButton.vue:46 +#: src/components/Common/MuteButton.vue:47 msgid "Unmute" msgstr "" -#: vue/components/Stations/menu.ts:81 +#: src/components/Stations/menu.ts:94 msgid "Unprocessable Files" msgstr "" -#: vue/components/Stations/Playlists/ReorderModal.vue:70 +#: src/components/Common/DataTable.vue:154 +msgid "Unselect All Rows" +msgstr "" + +#: src/components/Common/DataTable.vue:233 +msgid "Unselect Row" +msgstr "" + +#: src/components/Stations/Playlists/ReorderModal.vue:70 msgid "Up" msgstr "" -#: vue/components/Stations/menu.ts:277 -#: vue/components/Stations/Queue.vue:2 +#: src/components/Stations/menu.ts:290 +#: src/components/Stations/Queue.vue:2 msgid "Upcoming Song Queue" msgstr "" -#: vue/components/Admin/AuditLog.vue:48 +#: src/components/Admin/AuditLog.vue:47 msgid "Update" msgstr "" -#: vue/components/Admin/menu.ts:64 -#: vue/components/Admin/Updates.vue:3 +#: src/components/Admin/menu.ts:66 +#: src/components/Admin/Updates.vue:3 #: /var/azuracast/www/src/Notification/Check/UpdateCheck.php:44 msgid "Update AzuraCast" msgstr "" -#: vue/components/Admin/Updates.vue:74 +#: src/components/Admin/Updates.vue:74 msgid "Update AzuraCast via Web" msgstr "" -#: vue/components/Admin/Updates.vue:217 +#: src/components/Admin/Updates.vue:215 msgid "Update AzuraCast? Your installation will restart." msgstr "" -#: vue/components/Admin/Updates.vue:10 +#: src/components/Admin/Updates.vue:10 msgid "Update Details" msgstr "" -#: vue/components/Admin/Updates.vue:145 +#: src/components/Admin/Updates.vue:145 msgid "Update Instructions" msgstr "" -#: vue/components/Public/WebDJ/SettingsPanel.vue:46 +#: src/components/Public/WebDJ/SettingsPanel.vue:46 msgid "Update Metadata" msgstr "" -#: vue/components/Admin/Updates.vue:224 +#: src/components/Admin/Updates.vue:220 msgid "Update started. Your installation will restart shortly." msgstr "" -#: vue/components/Stations/Restart.vue:3 +#: src/components/Stations/Restart.vue:3 msgid "Update Station Configuration" msgstr "" -#: vue/components/Admin/Updates.vue:120 +#: src/components/Admin/Updates.vue:120 msgid "Update via Web" msgstr "" -#: vue/components/Admin/AuditLog/DetailsModal.vue:18 +#: src/components/Admin/AuditLog/DetailsModal.vue:18 msgid "Updated" msgstr "" -#: vue/components/Stations/BulkMedia.vue:128 +#: src/components/Stations/BulkMedia.vue:128 msgid "Updated successfully." msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:159 +#: src/components/Admin/Stations/Form/BackendForm.vue:159 msgid "Upload a Stereo Tool configuration file from the \"Broadcasting\" submenu in the station profile." msgstr "" -#: vue/components/Admin/Branding.vue:9 -#: vue/components/Stations/Branding.vue:10 +#: src/components/Admin/Branding.vue:9 +#: src/components/Stations/Branding.vue:10 msgid "Upload Custom Assets" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:154 -#: vue/components/Stations/menu.ts:268 -#: vue/components/Stations/StereoToolConfig.vue:9 +#: src/components/Admin/Stations/Form/BackendForm.vue:154 +#: src/components/Stations/menu.ts:281 +#: src/components/Stations/StereoToolConfig.vue:9 msgid "Upload Stereo Tool Configuration" msgstr "" -#: vue/components/Admin/Shoutcast.vue:43 -#: vue/components/Admin/StereoTool.vue:64 +#: src/components/Admin/Shoutcast.vue:43 +#: src/components/Admin/StereoTool.vue:71 msgid "Upload the file on this page to automatically extract it into the proper directory." msgstr "" -#: vue/components/Stations/Webhooks/Form/Discord.vue:48 +#: src/components/Stations/Webhooks/Form/Discord.vue:48 msgid "URL" msgstr "" -#: vue/components/Admin/Stations/Form/ProfileForm.vue:54 +#: src/components/Admin/Stations/Form/ProfileForm.vue:53 msgid "URL Stub" msgstr "" -#: vue/components/Admin/Index.vue:210 +#: src/components/Admin/Index/CpuStatsPanel.vue:60 msgid "Use" msgstr "" -#: vue/components/Admin/Index/CpuStatsHelpModal.vue:62 +#: src/components/Admin/Index/CpuStatsHelpModal.vue:62 msgid "Use (Us)" msgstr "" -#: vue/components/Account.vue:134 +#: src/components/Account.vue:134 msgid "Use API keys to authenticate with the AzuraCast API using the same permissions as your user account." msgstr "" -#: vue/components/Account/EditForm.vue:61 +#: src/components/Account/EditForm.vue:61 msgid "Use Browser Default" msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:61 +#: src/components/Admin/Settings/GeneralTab.vue:61 msgid "Use High-Performance Now Playing Updates" msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:269 +#: src/components/Admin/Stations/Form/FrontendForm.vue:274 msgid "Use Icecast 2.4 on this server." msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:486 +#: src/components/Admin/Stations/Form/BackendForm.vue:480 msgid "Use Less CPU (Uses More Memory)" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:478 +#: src/components/Admin/Stations/Form/BackendForm.vue:472 msgid "Use Less Memory (Uses More CPU)" msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:388 +#: src/components/Admin/Stations/Form/BackendForm.vue:382 msgid "Use Liquidsoap on this server." msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:193 +#: src/components/Admin/StorageLocations/Form/S3.vue:53 +msgid "Use Path Instead of Subdomain Endpoint Style" +msgstr "" + +#: src/components/Admin/Stations/Form/BackendForm.vue:193 msgid "Use Replaygain Metadata" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:143 +#: src/components/Admin/Settings/ServicesTab.vue:143 msgid "Use Secure (TLS) SMTP Connection" msgstr "" -#: vue/components/Admin/Stations/Form/FrontendForm.vue:276 +#: src/components/Admin/Stations/Form/FrontendForm.vue:281 msgid "Use Shoutcast DNAS 2 on this server." msgstr "" -#: vue/components/Entity/Webhooks.js:108 +#: src/entities/Webhooks.ts:116 msgid "Use the Telegram Bot API to send a message to a channel." msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:42 +#: src/components/Admin/Settings/GeneralTab.vue:42 msgid "Use Web Proxy for Radio" msgstr "" -#: vue/components/Admin/Index.vue:140 -#: vue/components/Admin/Index.vue:94 -#: vue/components/Admin/Index/MemoryStatsHelpModal.vue:34 +#: src/components/Admin/Index/DiskUsagePanel.vue:33 +#: src/components/Admin/Index/MemoryStatsHelpModal.vue:34 +#: src/components/Admin/Index/MemoryStatsPanel.vue:48 msgid "Used" msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:93 +#: src/components/Admin/Settings/ServicesTab.vue:93 msgid "Used for \"Forgot Password\" functionality, web hooks and other functions." msgstr "" -#: vue/components/Admin/AuditLog.vue:124 +#: src/components/Admin/AuditLog.vue:124 msgid "User" msgstr "" -#: vue/components/Admin/menu.ts:79 +#: src/components/Admin/menu.ts:81 msgid "User Accounts" msgstr "" -#: vue/components/Stations/Reports/Listeners.vue:218 +#: src/components/Stations/Reports/Listeners.vue:220 msgid "User Agent" msgstr "" -#: vue/components/Admin/Users.vue:110 +#: src/components/Admin/Users.vue:103 msgid "User Name" msgstr "" -#: vue/components/Admin/Stations/CloneModalForm.vue:75 +#: src/components/Admin/Stations/CloneModalForm.vue:75 msgid "User Permissions" msgstr "" -#: vue/components/Public/WebDJ/SettingsPanel.vue:72 -#: vue/components/Stations/SftpUsers.vue:107 -#: vue/components/Stations/SftpUsers/Form.vue:9 -#: vue/components/Stations/Streamers.vue:159 +#: src/components/Public/WebDJ/SettingsPanel.vue:72 +#: src/components/Stations/SftpUsers.vue:101 +#: src/components/Stations/SftpUsers/Form.vue:9 +#: src/components/Stations/Streamers.vue:155 msgid "Username" msgstr "" -#: vue/components/Stations/Profile/FrontendPanel.vue:38 -#: vue/components/Stations/Profile/FrontendPanel.vue:70 -#: vue/components/Stations/Profile/FrontendPanel.vue:91 +#: src/components/Stations/Profile/FrontendPanel.vue:38 +#: src/components/Stations/Profile/FrontendPanel.vue:70 +#: src/components/Stations/Profile/FrontendPanel.vue:91 msgid "Username:" msgstr "" -#: vue/components/Admin/menu.ts:74 -#: vue/components/Admin/Users.vue:2 +#: src/components/Admin/menu.ts:76 +#: src/components/Admin/Users.vue:2 msgid "Users" msgstr "" -#: vue/components/Admin/Permissions/Form/GlobalForm.vue:21 +#: src/components/Admin/Permissions/Form/GlobalForm.vue:18 msgid "Users with this role will have these permissions across the entire installation." msgstr "" -#: vue/components/Admin/Permissions/Form/StationRow.vue:34 +#: src/components/Admin/Permissions/Form/StationRow.vue:34 msgid "Users with this role will have these permissions for this single station." msgstr "" -#: vue/components/Admin/Settings/GeneralTab.vue:62 +#: src/components/Admin/Settings/GeneralTab.vue:62 msgid "Uses either Websockets, Server-Sent Events (SSE) or static JSON files to serve Now Playing data on public pages. This improves performance, especially with large listener volume. Disable this if you are encountering problems with the service or use multiple URLs to serve your public pages." msgstr "" -#: vue/components/Stations/LiquidsoapConfig.vue:23 +#: src/components/Stations/LiquidsoapConfig.vue:23 msgid "Using this page, you can customize several sections of the Liquidsoap configuration. This allows you to add advanced functionality to your station's AutoDJ." msgstr "" -#: vue/components/Admin/Settings/ServicesTab.vue:144 +#: src/components/Admin/Settings/ServicesTab.vue:144 msgid "Usually enabled for port 465, disabled for ports 587 or 25." msgstr "" -#: vue/components/Stations/Webhooks/Form/Common/FormattingInfo.vue:8 +#: src/components/Stations/Webhooks/Form/Common/FormattingInfo.vue:8 msgid "Variables are in the form of: " msgstr "" -#: vue/components/Stations/Profile/RequestsPanel.vue:25 +#: src/components/Stations/Profile/RequestsPanel.vue:25 msgid "View" msgstr "" -#: vue/components/Stations/Reports/Listeners/InnerMap.vue:39 +#: src/components/Stations/Reports/Listeners/InnerMap.vue:39 msgid "View Fullscreen" msgstr "" -#: vue/components/Dashboard.vue:229 +#: src/components/Dashboard.vue:229 msgid "View Listener Report" msgstr "" -#: vue/components/Stations/menu.ts:23 +#: src/components/Stations/menu.ts:36 msgid "View Profile" msgstr "" -#: vue/components/Stations/Media.vue:180 +#: src/components/Stations/Media.vue:180 msgid "View tracks in playlist" msgstr "" -#: vue/components/Admin/GeoLite.vue:39 +#: src/components/Admin/GeoLite.vue:39 msgid "Visit the \"My License Key\" page under the \"Services\" section." msgstr "" -#: vue/components/Admin/StorageLocations/Form/Dropbox.vue:12 +#: src/components/Admin/StorageLocations/Form/Dropbox.vue:12 msgid "Visit the Dropbox App Console:" msgstr "" -#: vue/components/Admin/StorageLocations/Form/Dropbox.vue:48 +#: src/components/Admin/StorageLocations/Form/Dropbox.vue:48 msgid "Visit the link below to sign in and generate an access code:" msgstr "" -#: vue/components/Stations/Webhooks/Form/Mastodon.vue:16 +#: src/components/Stations/Webhooks/Form/Mastodon.vue:16 msgid "Visit your Mastodon instance." msgstr "" -#: vue/components/Stations/Media/EditModal.vue:40 +#: src/components/Stations/Media/EditModal.vue:33 msgid "Visual Cue Editor" msgstr "" -#: vue/components/Common/Waveform.vue:47 -#: vue/components/InlinePlayer.vue:57 -#: vue/components/Public/Player.vue:129 +#: src/components/Common/Waveform.vue:47 +#: src/components/InlinePlayer.vue:57 +#: src/components/Public/Player.vue:129 msgid "Volume" msgstr "" -#: vue/components/Admin/Index.vue:205 +#: src/components/Admin/Index/CpuStatsPanel.vue:55 msgid "Wait" msgstr "" -#: vue/components/Admin/Index/CpuStatsHelpModal.vue:38 +#: src/components/Admin/Index/CpuStatsHelpModal.vue:38 msgid "Wait (Wa)" msgstr "" -#: vue/components/Admin/Debug/TaskOutput.vue:96 +#: src/components/Admin/Debug/TaskOutput.vue:93 msgid "Warning" msgstr "" -#: vue/components/Common/Waveform.vue:16 +#: src/components/Common/Waveform.vue:16 msgid "Waveform Zoom" msgstr "" -#: vue/components/Stations/menu.ts:160 -#: vue/components/Stations/Profile/PublicPagesPanel.vue:30 +#: src/components/Stations/menu.ts:173 +#: src/components/Stations/Profile/PublicPagesPanel.vue:30 #: /var/azuracast/www/templates/frontend/public/webdj.phtml:13 msgid "Web DJ" msgstr "" -#: vue/components/Stations/Webhooks/Form/Generic.vue:8 +#: src/components/Stations/Webhooks/Form/Generic.vue:8 msgid "Web Hook Details" msgstr "" -#: vue/components/Stations/Webhooks/Form/BasicInfo.vue:12 +#: src/components/Stations/Webhooks/Form/BasicInfo.vue:11 msgid "Web Hook Name" msgstr "" -#: vue/components/Stations/Webhooks/Form/BasicInfo.vue:23 +#: src/components/Stations/Webhooks/Form/BasicInfo.vue:22 msgid "Web Hook Triggers" msgstr "" -#: vue/components/Stations/Webhooks/Form/Generic.vue:44 +#: src/components/Stations/Webhooks/Form/Generic.vue:44 msgid "Web Hook URL" msgstr "" -#: vue/components/Admin/Stations/CloneModalForm.vue:79 -#: vue/components/Stations/menu.ts:169 -#: vue/components/Stations/Webhooks.vue:2 +#: src/components/Admin/Stations/CloneModalForm.vue:79 +#: src/components/Stations/menu.ts:182 +#: src/components/Stations/Webhooks.vue:2 msgid "Web Hooks" msgstr "" -#: vue/components/Stations/Webhooks/Form/Generic.vue:13 +#: src/components/Stations/Webhooks/Form/Generic.vue:13 msgid "Web hooks automatically send a HTTP POST request to the URL you specify to notify it any time one of the triggers you specify occurs on your station." msgstr "" -#: vue/components/Stations/Webhooks.vue:6 +#: src/components/Stations/Webhooks.vue:6 msgid "Web hooks let you connect to external web services and broadcast changes to your station to them." msgstr "" -#: vue/components/Admin/Stations/Form/ProfileForm.vue:35 +#: src/components/Admin/Stations/Form/ProfileForm.vue:34 msgid "Web Site URL" msgstr "" -#: vue/components/Admin/Updates.vue:94 +#: src/components/Admin/Updates.vue:94 msgid "Web updates are not available for your installation. To update your installation, perform the manual update process instead." msgstr "" -#: vue/components/Public/WebDJ/SettingsPanel.vue:5 +#: src/components/Public/WebDJ/SettingsPanel.vue:5 msgid "WebDJ" msgstr "" -#: vue/components/Public/WebDJ/useWebcaster.js:70 +#: src/components/Public/WebDJ/useWebcaster.ts:64 msgid "WebDJ connected!" msgstr "" -#: vue/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:19 -#: vue/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:19 +#: src/components/Stations/Podcasts/EpisodeForm/BasicInfo.vue:18 +#: src/components/Stations/Podcasts/PodcastForm/BasicInfo.vue:18 msgid "Website" msgstr "" -#: vue/components/Stations/Playlists/Form/ScheduleRow.vue:146 -#: vue/components/Stations/Streamers/Form/ScheduleRow.vue:146 -#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:106 +#: src/components/Stations/Playlists/Form/ScheduleRow.vue:147 +#: src/components/Stations/Reports/Overview/ListenersByTimePeriodTab.vue:177 +#: src/components/Stations/Streamers/Form/ScheduleRow.vue:147 +#: /var/azuracast/www/src/Controller/Api/Stations/Reports/Overview/ChartsAction.php:112 msgid "Wednesday" msgstr "" -#: vue/components/Setup/Register.vue:19 +#: src/components/Setup/Register.vue:19 msgid "Welcome to AzuraCast!" msgstr "" -#: vue/components/Account/ApiKeyNewKey.vue:24 +#: src/components/Account/ApiKeyNewKey.vue:24 msgid "When making API calls, you can pass this value in the \"X-API-Key\" header to authenticate as yourself." msgstr "" -#: vue/components/Entity/Webhooks.js:42 +#: src/entities/Webhooks.ts:44 msgid "When the song changes and a live streamer/DJ is connected" msgstr "" -#: vue/components/Entity/Webhooks.js:70 +#: src/entities/Webhooks.ts:68 msgid "When the station broadcast comes online" msgstr "" -#: vue/components/Entity/Webhooks.js:66 +#: src/entities/Webhooks.ts:64 msgid "When the station broadcast goes offline" msgstr "" -#: vue/components/Stations/Playlists/Form/BasicInfo.vue:51 +#: src/components/Stations/Playlists/Form/BasicInfo.vue:50 msgid "Whether the AutoDJ should attempt to avoid duplicate artists and track titles when playing media from this playlist." msgstr "" -#: vue/components/Stations/Profile/EmbedModal.vue:27 +#: src/components/Stations/Profile/EmbedModal.vue:27 msgid "Widget Type" msgstr "" -#: vue/components/Stations/Reports/Overview/BestAndWorstTab.vue:50 +#: src/components/Stations/Reports/Overview/BestAndWorstTab.vue:50 msgid "Worst Performing Songs" msgstr "" -#: vue/components/Admin/Relays.vue:39 +#: src/components/Admin/Relays.vue:38 msgid "Yes" msgstr "" -#: vue/components/Common/DateRangeDropdown.vue:125 +#: src/components/Common/DateRangeDropdown.vue:126 msgid "Yesterday" msgstr "" -#: vue/components/Admin/Users.vue:32 +#: src/components/Admin/Users.vue:26 msgid "You" msgstr "" -#: vue/components/Stations/Media.vue:28 +#: src/components/Stations/Media.vue:28 msgid "You can also upload files in bulk via SFTP." msgstr "" -#: vue/components/Stations/Help.vue:42 +#: src/components/Stations/Logs.vue:42 msgid "You can find answers for many common questions in our support documents." msgstr "" -#: vue/components/Stations/Mounts/Form/Advanced.vue:28 +#: src/components/Stations/Mounts/Form/Advanced.vue:28 msgid "You can include any special mount point settings here, in either JSON { key: 'value' } format or XML value" msgstr "" -#: vue/components/Account/ApiKeyNewKey.vue:28 +#: src/components/Account/ApiKeyNewKey.vue:28 msgid "You can only perform the actions your user account is allowed to perform." msgstr "" -#: vue/components/Stations/Mounts/Form/Advanced.vue:13 +#: src/components/Stations/Mounts/Form/Advanced.vue:13 msgid "You can set a custom URL for this stream that AzuraCast will use when referring to it. Leave empty to use the default value." msgstr "" -#: vue/components/Stations/SftpUsers.vue:62 +#: src/components/Stations/SftpUsers.vue:56 msgid "You may need to connect directly to your IP address:" msgstr "" -#: vue/components/Stations/Streamers/ConnectionInfo.vue:27 -#: vue/components/Stations/Streamers/ConnectionInfo.vue:54 +#: src/components/Stations/Streamers/ConnectionInfo.vue:27 +#: src/components/Stations/Streamers/ConnectionInfo.vue:54 msgid "You may need to connect directly via your IP address:" msgstr "" -#: vue/components/Account/ApiKeyNewKey.vue:8 +#: src/components/Account/ApiKeyNewKey.vue:8 msgid "You will not be able to retrieve it again." msgstr "" -#: vue/components/Account/ApiKeyNewKey.vue:12 +#: src/components/Account/ApiKeyNewKey.vue:12 msgid "Your full API key is below:" msgstr "" -#: vue/components/Admin/Updates.vue:50 +#: src/components/Admin/Updates.vue:50 msgid "Your installation is currently on this release channel:" msgstr "" -#: vue/components/Admin/Updates.vue:23 +#: src/components/Admin/Updates.vue:23 msgid "Your installation is up to date! No update is required." msgstr "" -#: vue/components/Admin/Updates.vue:15 +#: src/components/Admin/Updates.vue:15 msgid "Your installation needs to be updated. Updating is recommended for performance and security improvements." msgstr "" -#: vue/components/Stations/Restart.vue:55 +#: src/components/Stations/Restart.vue:55 msgid "Your station does not support reloading configuration. Restart broadcasting instead to apply changes." msgstr "" -#: vue/components/Stations/Sidebar.vue:52 +#: src/components/Stations/Sidebar.vue:52 msgid "Your station has changes that require a reload to apply." msgstr "" -#: vue/components/Stations/Restart.vue:37 +#: src/components/Stations/Profile/StationDisabledPanel.vue:31 +msgid "Your station is currently not enabled for broadcasting. You can still manage media, playlists, and other station settings. To re-enable broadcasting, edit your station profile." +msgstr "" + +#: src/components/Stations/Restart.vue:37 msgid "Your station supports reloading configuration." msgstr "" -#: vue/components/Admin/Stations/Form/BackendForm.vue:469 +#: src/components/Admin/Stations/Form/BackendForm.vue:463 msgid "YouTube" msgstr "" -#: vue/components/Stations/Mounts/Form/BasicInfo.vue:78 +#: src/components/Stations/Mounts/Form/BasicInfo.vue:77 msgid "YP Directory Authorization Hash" msgstr "" @@ -6322,7 +6385,7 @@ msgstr "" msgid "Set Up AzuraCast" msgstr "" -#: /var/azuracast/www/src/Controller/Frontend/SetupController.php:187 +#: /var/azuracast/www/src/Controller/Frontend/SetupController.php:192 msgid "Setup has already been completed!" msgstr "" @@ -6570,7 +6633,7 @@ msgstr "" msgid "Web hook disabled." msgstr "" -#: /var/azuracast/www/src/Controller/Api/Stations/Podcasts/Art/DeleteArtAction.php:66 +#: /var/azuracast/www/src/Controller/Api/Stations/Podcasts/Art/DeleteArtAction.php:67 msgid "Podcast not found!" msgstr "" @@ -6579,16 +6642,16 @@ msgstr "" msgid "This station does not support on-demand streaming." msgstr "" -#: /var/azuracast/www/src/Controller/Api/Stations/Files/ListAction.php:253 +#: /var/azuracast/www/src/Controller/Api/Stations/Files/ListAction.php:251 #, php-format msgid "File Not Processed: %s" msgstr "" -#: /var/azuracast/www/src/Controller/Api/Stations/Files/ListAction.php:258 +#: /var/azuracast/www/src/Controller/Api/Stations/Files/ListAction.php:256 msgid "Cover Art" msgstr "" -#: /var/azuracast/www/src/Controller/Api/Stations/Files/ListAction.php:260 +#: /var/azuracast/www/src/Controller/Api/Stations/Files/ListAction.php:258 msgid "File Processing" msgstr "" @@ -6604,6 +6667,10 @@ msgstr "" msgid "New path not specified." msgstr "" +#: /var/azuracast/www/src/Controller/Api/Stations/Requests/SubmitAction.php:83 +msgid "Your request has been submitted and will be played soon." +msgstr "" + #: /var/azuracast/www/src/Controller/Api/Stations/Requests/ListAction.php:67 msgid "This station does not support requests." msgstr "" @@ -7379,6 +7446,35 @@ msgstr "" msgid "Backup complete in %.2f seconds." msgstr "" +#: /var/azuracast/www/src/Console/Command/AbstractDatabaseCommand.php:101 +msgid "Backing up initial database state..." +msgstr "" + +#: /var/azuracast/www/src/Console/Command/AbstractDatabaseCommand.php:110 +msgid "We detected a database restore file from a previous (possibly failed) migration." +msgstr "" + +#: /var/azuracast/www/src/Console/Command/AbstractDatabaseCommand.php:111 +msgid "Attempting to restore that now..." +msgstr "" + +#: /var/azuracast/www/src/Console/Command/AbstractDatabaseCommand.php:126 +msgid "Attempting to roll back to previous database state..." +msgstr "" + +#: /var/azuracast/www/src/Console/Command/AbstractDatabaseCommand.php:132 +msgid "Your database was restored due to a failed migration." +msgstr "" + +#: /var/azuracast/www/src/Console/Command/AbstractDatabaseCommand.php:133 +msgid "Please report this bug to our developers." +msgstr "" + +#: /var/azuracast/www/src/Console/Command/AbstractDatabaseCommand.php:139 +#, php-format +msgid "Restore failed: %s" +msgstr "" + #: /var/azuracast/www/src/Console/Command/Settings/ListCommand.php:26 msgid "AzuraCast Settings" msgstr "" @@ -7391,59 +7487,26 @@ msgstr "" msgid "Setting Value" msgstr "" -#: /var/azuracast/www/src/Console/Command/MigrateDbCommand.php:26 +#: /var/azuracast/www/src/Console/Command/MigrateDbCommand.php:25 msgid "Database Migrations" msgstr "" -#: /var/azuracast/www/src/Console/Command/MigrateDbCommand.php:39 +#: /var/azuracast/www/src/Console/Command/MigrateDbCommand.php:38 msgid "Database is already up to date!" msgstr "" -#: /var/azuracast/www/src/Console/Command/MigrateDbCommand.php:44 -msgid "Backing up initial database state..." -msgstr "" - -#: /var/azuracast/www/src/Console/Command/MigrateDbCommand.php:53 -msgid "We detected a database restore file from a previous (possibly failed) migration." -msgstr "" - -#: /var/azuracast/www/src/Console/Command/MigrateDbCommand.php:54 -msgid "Attempting to restore that now..." -msgstr "" - -#: /var/azuracast/www/src/Console/Command/MigrateDbCommand.php:62 -#: /var/azuracast/www/src/Console/Command/MigrateDbCommand.php:115 -#, php-format -msgid "Restore failed: %s" -msgstr "" - -#: /var/azuracast/www/src/Console/Command/MigrateDbCommand.php:74 -#, php-format -msgid "Initial backup failed: %s" -msgstr "" - -#: /var/azuracast/www/src/Console/Command/MigrateDbCommand.php:83 +#: /var/azuracast/www/src/Console/Command/MigrateDbCommand.php:51 +#: /var/azuracast/www/src/Console/Command/RollbackDbCommand.php:60 msgid "Running database migrations..." msgstr "" -#: /var/azuracast/www/src/Console/Command/MigrateDbCommand.php:97 +#: /var/azuracast/www/src/Console/Command/MigrateDbCommand.php:65 +#: /var/azuracast/www/src/Console/Command/RollbackDbCommand.php:85 #, php-format msgid "Database migration failed: %s" msgstr "" -#: /var/azuracast/www/src/Console/Command/MigrateDbCommand.php:102 -msgid "Attempting to roll back to previous database state..." -msgstr "" - -#: /var/azuracast/www/src/Console/Command/MigrateDbCommand.php:108 -msgid "Your database was restored due to a failed migration." -msgstr "" - -#: /var/azuracast/www/src/Console/Command/MigrateDbCommand.php:109 -msgid "Please report this bug to our developers." -msgstr "" - -#: /var/azuracast/www/src/Console/Command/MigrateDbCommand.php:127 +#: /var/azuracast/www/src/Console/Command/MigrateDbCommand.php:77 msgid "Database migration completed!" msgstr "" @@ -7460,7 +7523,7 @@ msgstr "" msgid "Account not found." msgstr "" -#: /var/azuracast/www/src/Console/Command/Locale/ImportCommand.php:57 +#: /var/azuracast/www/src/Console/Command/Locale/ImportCommand.php:58 #, php-format msgid "Imported locale: %s" msgstr "" @@ -7510,6 +7573,15 @@ msgstr "" msgid "Visit %s to complete setup." msgstr "" +#: /var/azuracast/www/src/Console/Command/RollbackDbCommand.php:43 +msgid "Roll Back Database" +msgstr "" + +#: /var/azuracast/www/src/Console/Command/RollbackDbCommand.php:98 +#, php-format +msgid "Database rolled back to stable release version \"%s\"." +msgstr "" + #: /var/azuracast/www/src/Http/ErrorHandler.php:168 #: /var/azuracast/www/src/Http/ErrorHandler.php:180 msgid "You must be logged in to access this page." @@ -7846,12 +7918,12 @@ msgstr "" msgid "Powered by %s" msgstr "" -#: /var/azuracast/www/templates/frontend/public/podcast-episodes.phtml:63 -#: /var/azuracast/www/templates/frontend/public/podcast-episodes.phtml:109 +#: /var/azuracast/www/templates/frontend/public/podcast-episodes.phtml:62 +#: /var/azuracast/www/templates/frontend/public/podcast-episodes.phtml:107 msgid "View Details" msgstr "" -#: /var/azuracast/www/templates/frontend/public/podcasts.phtml:88 +#: /var/azuracast/www/templates/frontend/public/podcasts.phtml:87 msgid "No entries found." msgstr "" @@ -7937,21 +8009,3 @@ msgstr "" #: /var/azuracast/www/templates/mail/forgot.phtml:12 msgid "Click the link below to log in to your account." msgstr "" - -#: /var/azuracast/www/templates/stations/profile_disabled.phtml:9 -msgid "Station Broadcasting Disabled" -msgstr "" - -#: /var/azuracast/www/templates/stations/profile_disabled.phtml:15 -#, php-format -msgid "Your station is currently not enabled for broadcasting. You can still manage media, playlists, and other station settings. To re-enable broadcasting, edit your station profile." -msgstr "" - -#: /var/azuracast/www/templates/stations/reports_restricted.phtml:1 -#: /var/azuracast/www/templates/stations/reports_restricted.phtml:5 -msgid "Report Not Available" -msgstr "" - -#: /var/azuracast/www/templates/stations/reports_restricted.phtml:8 -msgid "This report is not available for this station, because the system administrator has chosen not to collect detailed IP-based listener information." -msgstr ""