diff --git a/src/i18n/README.md b/src/i18n/README.md index 72e15e8b..d6927ea8 100644 --- a/src/i18n/README.md +++ b/src/i18n/README.md @@ -124,7 +124,51 @@ Update 16/02/2022 21:45 UTC * `settings.option.audio.maxVolume`: Added for `en_US`.` Update 17/02/2022 10:00 UTC + + `settings.header.debug`: Added for `en_US`. + `settings.option.debug.copy_log`: Replaces `settings.option.experimental.copy_log`. + `settings.option.debug.openAppData`: Added for `en_US` -+ `action.open`: Added for `en_US` \ No newline at end of file ++ `action.open`: Added for `en_US` + +Update 19/2/2022 21:00 UTC + +* `term.noVideos`: Added for `en_US` +* `term.plugin`: Added for `en_US` +* `term.pluginMenu`: Added for `en_US` +* `term.replay`: Added for `en_US` +* `term.uniqueAlbums`: Added for `en_US` +* `term.uniqueArtists`: Added for `en_US` +* `term.uniqueSongs`: Added for `en_US` +* `term.topArtists`: Added for `en_US` +* `term.listenedTo`: Added for `en_US` +* `term.times`: Added for `en_US` +* `term.topAlbums`: Added for `en_US` +* `term.plays`: Added for `en_US` +* `term.topGenres`: Added for `en_US` +* `action.install`: Added for `en_US` +* `settings.option.general.resumebehavior`: Added for `en_US` +* `settings.option.general.resumebehavior.description`: Added for `en_US` +* `settings.option.general.resumebehavior.locally`: Added for `en_US` +* `settings.option.general.resumebehavior.locally.description`: Added for `en_US` +* `settings.option.general.resumebehavior.history`: Added for `en_US` +* `settings.option.general.resumebehavior.history.description`: Added for `en_US` +* `settings.option.audio.audioLab`: Added for `en_US` +* `settings.option.audio.audioLab.description`: Added for `en_US` +* `settings.warn.audioLab.withoutAF`: Added for `en_US` +* `settings.option.audio.enableAdvancedFunctionality.analogWarmth`: Added for `en_US` +* `settings.option.audio.enableAdvancedFunctionality.analogWarmth.description`: Added for `en_US` +* `settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity`: Added for `en_US` +* `settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description`: Added for `en_US` +* `settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth`: Added for `en_US` +* `settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm`: Added for `en_US` +* `settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization`: Added for `en_US` +* `settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description`: Added for `en_US` +* `settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile`: Added for `en_US` +* `settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description`: Added for `en_US` +* `settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard`: Added for `en_US` +* `settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile`: Added for `en_US` +* `settings.header.visual.theme.github.page`: Added for `en_US` +* `settings.option.visual.theme.github.explore`: Added for `en_US` +* `settings.option.visual.theme.github.install.confirm`: Added for `en_US` +* `settings.option.experimental.unknownPlugin`: Added for `en_US` +* `settings.option.experimental.unknownPlugin.description`: Added for `en_US` \ No newline at end of file diff --git a/src/i18n/en_US.jsonc b/src/i18n/en_US.jsonc index a14377d8..59153b43 100644 --- a/src/i18n/en_US.jsonc +++ b/src/i18n/en_US.jsonc @@ -156,6 +156,18 @@ "term.top": "Top", "term.version": "Version", "term.noVideos": "No videos found.", + "term.plugin": "Plug-in", + "term.pluginMenu": "Plug-in Menu", + "term.replay": "Replay", //Apple Music Replay + "term.uniqueAlbums": "Unique Albums", + "term.uniqueArtists": "Unique Artists", + "term.uniqueSongs": "Unique Songs", + "term.topArtists": "Top Artists", + "term.listenedTo": "Listened to:", + "term.times": "times", + "term.topAlbums": "Top Albums", + "term.plays": "Plays", + "term.topGenres": "Top Genres", // Home "home.title": "Home", @@ -228,14 +240,23 @@ "action.tray.quit": "Quit", "action.tray.show": "Show", "action.update": "Update", + "action.install": "Install", "action.copy": "Copy", "action.newpreset": "New Preset...", // Equalizer Preset "action.deletepreset": "Delete Preset", "action.open": "Open", + // Settings - General "settings.header.general": "General", "settings.header.general.description": "Adjust the general settings for Cider.", "settings.option.general.language": "Language", + "settings.option.general.resumebehavior": "Resume behavior", + "settings.option.general.resumebehavior.description": "Resume behavior affects how Cider will resume your session when you return to the app.", + "settings.option.general.resumebehavior.locally": "Locally", + "settings.option.general.resumebehavior.locally.description": "Cider will resume your last session on this machine.", + "settings.option.general.resumebehavior.history": "History", + "settings.option.general.resumebehavior.history.description": "Cider will queue the last song from your overall Apple Music history, across devices.", + // Language optgroups "settings.option.general.language.main": "Languages", @@ -266,6 +287,15 @@ "settings.option.audio.seamlessTransition": "Seamless Audio Transition", // Toggle "settings.option.audio.enableAdvancedFunctionality": "Enable Advanced Functionality", // Toggle "settings.option.audio.enableAdvancedFunctionality.description": "Enabling AudioContext functionality will allow for extended audio features like Audio Normalization , Equalizers and Visualizers, however on some systems this may cause stuttering in audio tracks.", + "settings.option.audio.audioLab": "Cider Audio Lab", + "settings.option.audio.audioLab.description": "Contains an assortment of Audio Tweaks made by the Cider Dev Team", + "settings.warn.audioLab.withoutAF": "AudioContext (Advanced Functionality) is required to enable Cider Audio Laboratory.", + "settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Analog Warmth", + "settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Simulates the analog warmth modelled after the Korg Nutube 6P1", + "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Analog Warmth intensity", + "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description": "Changes the intensity of the Analog Warmth Module processing.", + "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth": "Smooth", + "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm": "Warm", "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™️", // Toggle "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Psychoacoustic Enhancements that makes everything sound both richer and more lively | Designed by Maikiwi.", "settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "CAP is not compatible with Spatialization. Please disable Spatialization to continue.", @@ -277,6 +307,12 @@ "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizes peak volume for individual tracks to create a more uniform listening experience.", "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatialization", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialize audio and make audio more 3-dimensional (note: This is not Dolby Atmos)", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider Tuned Spatialization", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Pre-tuned Spatializing Effect, disables the customizable settings of Audio Spatialization. Spatialization must be enabled as a prerequisite.", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Cider Spatialization Profile", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Changes the Tuning Profile of the Spatialization. (Requires App Restart)", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "Standard", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "Audiophile", "settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "Spatialization is not compatible with CAP. Please disable CAP to continue.", // Settings - Visual @@ -304,6 +340,7 @@ "settings.header.visual.theme": "Theme", "settings.option.visual.theme.github.download": "Install from GitHub URL", "settings.option.visual.theme.github.explore": "Explore GitHub Themes", + "settings.header.visual.theme.github.page": "Themes from GitHub", "settings.option.visual.theme.github.install.confirm": "Are you sure you want to install {{ repo }}?", "settings.prompt.visual.theme.github.URL": "Enter the URL of the theme you want to install", "settings.notyf.visual.theme.install.success": "Theme installed successfully", @@ -345,13 +382,13 @@ "settings.option.debug.copy_log": "Copy logs to clipboard", "settings.option.debug.openAppData": "Open Cider Folder", - // Settings - Experimental "settings.header.experimental": "Experimental", "settings.header.experimental.description": "Adjust the experimental settings for Cider.", + "settings.option.experimental.unknownPlugin": "Unknown Sources", + "settings.option.experimental.unknownPlugin.description": "Allow installion of plugins from repos other than the Cider Plugin Repository", "settings.option.experimental.compactUI": "Compact UI", // Toggle "settings.option.experimental.close_button_hide": "Close Button Should Hide the Application", - "settings.option.experimental.inline_playlists": "Inline Playlists and Albums", // Refer to term.disabled & term.enabled diff --git a/src/i18n/zh_HK.jsonc b/src/i18n/zh_HK.jsonc index b63ef199..8647837c 100644 --- a/src/i18n/zh_HK.jsonc +++ b/src/i18n/zh_HK.jsonc @@ -109,6 +109,7 @@ "term.fullscreenView": "全螢幕檢視", "term.defaultView": "一般檢視", "term.audioSettings": "音訊設定", + "term.audioControls": "音量控制", "term.clearAll": "清空", "term.recentStations": "最近播放的頻道", "term.language": "語言", @@ -154,6 +155,9 @@ "term.videoExtras": "影片特輯", //"term.top": "Top", "term.version": "版本", + "term.noVideos": "沒有影片", + "term.plugin": "外掛程式", + "term.pluginMenu": "外掛程式選單", // Home "home.title": "主頁", @@ -229,6 +233,7 @@ "action.copy": "複製", "action.newpreset": "新增範本", // Equallizer preset "action.deletepreset": "刪除範本", + "action.open": "開啟", // Settings - General "settings.header.general": "一般", @@ -250,6 +255,8 @@ // Settings - Audio "settings.header.audio": "音訊", "settings.header.audio.description": "調整Cider的音訊設定", + "settings.option.audio.volumeStep": "音量改變量", + "settings.option.audio.maxVolume": "最高音量", "settings.option.audio.quality": "音訊音質", // Dropdown "settings.header.audio.quality.hireslossless": "高清無損壓縮", "settings.header.audio.quality.hireslossless.description": "(高達 24-bit/192 kHz)", @@ -298,8 +305,10 @@ "settings.header.visual.hardwareAcceleration.default": "預設", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", "settings.header.visual.theme": "主題", - "settings.option.visual.theme.github.download": "從 Github 安裝", - "settings.prompt.visual.theme.github.URL": "請輸入你想要安裝的主題的連結", + "settings.option.visual.theme.github.download": "使用 Github 網址安裝", + "settings.option.visual.theme.github.explore": "探索更多主題", + "settings.option.visual.theme.github.install.confirm": "你確認要安裝 {{ repo }}?", + "settings.prompt.visual.theme.github.URL": "請輸入你想要安裝的主題的網址", "settings.notyf.visual.theme.install.success": "成功安裝主題", "settings.notyf.visual.theme.install.error": "主題安裝失敗", @@ -334,15 +343,19 @@ "settings.option.connectivity.lastfmScrobble.filterLoop": "不記錄單曲循環(Last.fm)", // Refer to term.connect for the connect button + // Settings - Debug + "settings.header.debug": "除錯", + "settings.option.debug.copy_log": "複製運行記錄檔至剪貼簿", + "settings.option.debug.openAppData": "開啟 Cider 程式資料夾", + // Settings - Experimental "settings.header.experimental": "實驗性功能", "settings.header.experimental.description": "調整Cider的實驗性功能", "settings.option.experimental.compactUI": "緊凑型 UI", // Toggle "settings.option.experimental.close_button_hide": "以關閉按鈕來隱藏 Cider", - "settings.option.experimental.copy_log": "複製運行記錄檔至剪貼簿", //"settings.option.experimental.inline_playlists": "Inline Playlists and Albums", - // Refer to term.disabled & term.enabled + // Refer to term.disabled & term.enabled // Spatialization Menu "spatial.notTurnedOn": "請先在設定中啟用空間音訊。", "spatial.spatialProperties": "空間音訊屬性", diff --git a/src/main/base/browserwindow.ts b/src/main/base/browserwindow.ts index 1e35caa7..fbd5ccbe 100644 --- a/src/main/base/browserwindow.ts +++ b/src/main/base/browserwindow.ts @@ -55,6 +55,7 @@ export class BrowserWindow { "components/sidebar-playlist", "components/spatial-properties", "components/audio-settings", + "components/plugin-menu", "components/audio-controls", "components/qrcode-modal", "components/equalizer", diff --git a/src/main/plugins/menubar.ts b/src/main/plugins/menubar.ts index f044edc1..ea070645 100644 --- a/src/main/plugins/menubar.ts +++ b/src/main/plugins/menubar.ts @@ -106,6 +106,11 @@ export default class Thumbar { accelerator: 'CommandOrControl+Shift+A', click: () => this._win.webContents.executeJavaScript(`app.modals.audioSettings = true`) }, + { + label: 'Plug-in Menu', + accelerator: 'CommandOrControl+Shift+P', + click: () => this._win.webContents.executeJavaScript(`app.modals.pluginMenu = true`) + } ] }, diff --git a/src/renderer/index.js b/src/renderer/index.js index dc7a064e..4e5e7e05 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -25,6 +25,7 @@ const CiderFrontAPI = { }, AddMenuEntry(entry) { app.pluginMenuEntries.push(entry) + app.pluginInstalled = true } } @@ -76,6 +77,7 @@ const app = new Vue({ platform: "", mk: {}, quickPlayQuery: "", + pluginInstalled: false, pluginMenuEntries: [], lz: ipcRenderer.sendSync("get-i18n", "en_US"), lzListing: ipcRenderer.sendSync("get-i18n-listing"), @@ -247,6 +249,7 @@ const app = new Vue({ qrcode: false, equalizer: false, audioSettings: false, + pluginMenu: false, audioControls: false, showPlaylist: false, }, diff --git a/src/renderer/less/helpers.less b/src/renderer/less/helpers.less index cdd1584f..3a2eec8d 100644 --- a/src/renderer/less/helpers.less +++ b/src/renderer/less/helpers.less @@ -226,6 +226,7 @@ } .name { + position: relative; } &:hover { diff --git a/src/renderer/views/app/panels.ejs b/src/renderer/views/app/panels.ejs index 85227a31..65768149 100644 --- a/src/renderer/views/app/panels.ejs +++ b/src/renderer/views/app/panels.ejs @@ -22,6 +22,9 @@ + + + diff --git a/src/renderer/views/app/sidebar.ejs b/src/renderer/views/app/sidebar.ejs index 96a156ac..de511b78 100644 --- a/src/renderer/views/app/sidebar.ejs +++ b/src/renderer/views/app/sidebar.ejs @@ -101,6 +101,11 @@ <%- include("../svg/headphones.svg") %> {{$root.getLz('term.audioSettings')}} + - diff --git a/src/renderer/views/components/audio-settings.ejs b/src/renderer/views/components/audio-settings.ejs index a63c0de4..a26ae1b3 100644 --- a/src/renderer/views/components/audio-settings.ejs +++ b/src/renderer/views/components/audio-settings.ejs @@ -25,7 +25,7 @@ diff --git a/src/renderer/views/components/plugin-menu.ejs b/src/renderer/views/components/plugin-menu.ejs new file mode 100644 index 00000000..cb7a26f1 --- /dev/null +++ b/src/renderer/views/components/plugin-menu.ejs @@ -0,0 +1,37 @@ + + + \ No newline at end of file diff --git a/src/renderer/views/pages/audiolabs.ejs b/src/renderer/views/pages/audiolabs.ejs index 6e8317e7..a2a5d83d 100644 --- a/src/renderer/views/pages/audiolabs.ejs +++ b/src/renderer/views/pages/audiolabs.ejs @@ -2,15 +2,15 @@
- Cider Audio Laboratory + {{$root.getLz('settings.option.audio.audioLab')}}
- AudioContext (Advanced Functionality) is required to enable Cider Audio Laboratory. + {{$root.getLz('settings.warn.audioLab.withoutAF')}}
@@ -40,9 +40,9 @@
- Analog Warmth + {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmth')}}
- Simulates the analog warmth modelled after the Korg Nutube 6P1 + {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmth.description')}}
@@ -50,16 +50,16 @@
- Analog Warmth Intensity + {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity')}}
- Changes the intensity of the Analog Warmth Module processing. + {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description')}}
@@ -75,9 +75,9 @@
- Cider Tuned Spatialization + {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization')}}
- Pre-tuned Spatializing Effect, disables the customizable settings of Audio Spatialization. Spatialization must be enabled as a prerequisite. + {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description')}}
@@ -85,16 +85,16 @@
- Cider Spatialization Profile + {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile')}}
- Changes the Tuning Profile of the Spatialization. (Requires App Restart) + {{$root.getLz('settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description')}}
diff --git a/src/renderer/views/pages/home.ejs b/src/renderer/views/pages/home.ejs index 45fe4b57..6a0bb7ac 100644 --- a/src/renderer/views/pages/home.ejs +++ b/src/renderer/views/pages/home.ejs @@ -51,7 +51,7 @@
- +
@@ -61,7 +61,7 @@

{{app.getLz('home.madeForYou')}}

- +
diff --git a/src/renderer/views/pages/replay.ejs b/src/renderer/views/pages/replay.ejs index ef72f388..6c3700c5 100644 --- a/src/renderer/views/pages/replay.ejs +++ b/src/renderer/views/pages/replay.ejs @@ -18,21 +18,21 @@ :video="loaded.playlist.attributes.editorialVideo.motionWideVideo21x9.video" :video-priority="true">
-

{{ loaded.attributes.year }} Replay

+

{{ loaded.attributes.year }} {{$root.getLz('term.replay')}}


-

{{ loaded.attributes.listenTimeInMinutes }} minutes

-

{{ loaded.attributes.uniqueAlbumCount }} Unique Albums

-

{{ loaded.attributes.uniqueArtistCount }} Unique Artists

-

{{ loaded.attributes.uniqueSongCount }} Unique Songs

+

{{ loaded.attributes.listenTimeInMinutes }} {{$root.getLz('term.time.minutes')}}

+

{{ loaded.attributes.uniqueAlbumCount }} {{$root.getLz('term.uniqueAlbums')}}

+

{{ loaded.attributes.uniqueArtistCount }} {{$root.getLz('term.uniqueArtists')}}

+

{{ loaded.attributes.uniqueSongCount }} {{$root.getLz('term.uniqueSongs')}}

-

Top Artists

+

{{$root.getLz('term.topArtists')}}

@@ -40,14 +40,14 @@
-

Top Albums

+

{{$root.getLz('term.topAlbums')}}

@@ -55,18 +55,18 @@
-

Top Songs

+

{{$root.getLz('term.topSongs')}}

-

Top Genres

+

{{$root.getLz('term.topGenres')}}

diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index a48fedb9..2b85851c 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -25,18 +25,20 @@
- Resume behavior
+ {{$root.getLz('settings.option.general.resumebehavior')}}
- Resume behavior affects how Cider will resume your session when you return to the app.
- Locally: Cider will resume your last session on this machine.
- History: Cider will queue the last song from your overall Apple Music history, across devices. + {{$root.getLz('settings.option.general.resumebehavior.description')}}
+ {{$root.getLz('settings.option.general.resumebehavior.locally')}}: + {{$root.getLz('settings.option.general.resumebehavior.locally.description')}}
+ {{$root.getLz('settings.option.general.resumebehavior.history')}}: + {{$root.getLz('settings.option.general.resumebehavior.history.description')}}
@@ -90,13 +92,13 @@
- Cider Audio Lab + {{$root.getLz('settings.option.audio.audioLab')}}
- Contains an assortment of Audio Tweaks made by the Cider Dev Team + {{$root.getLz('settings.option.audio.audioLab.description')}}
@@ -650,9 +652,9 @@
- Unknown Sources + {{$root.getLz('settings.option.experimental.unknownPlugin')}}
- Allow installation of plugins from repos other than the Cider Plugin Repository + {{$root.getLz('settings.option.experimental.unknownPlugin.description')}}
diff --git a/src/renderer/views/pages/themes-github.ejs b/src/renderer/views/pages/themes-github.ejs index e5f890ac..fe962234 100644 --- a/src/renderer/views/pages/themes-github.ejs +++ b/src/renderer/views/pages/themes-github.ejs @@ -3,7 +3,7 @@
-

Themes from GitHub

+

{{$root.getLz('settings.header.visual.theme.github.page')}}

diff --git a/src/renderer/views/svg/grid.svg b/src/renderer/views/svg/grid.svg new file mode 100644 index 00000000..6f9fdf41 --- /dev/null +++ b/src/renderer/views/svg/grid.svg @@ -0,0 +1 @@ + \ No newline at end of file