Merge pull request #579 from ciderapp/develop
Backport develop commits to e18 (again)
This commit is contained in:
commit
08f6cc9063
10 changed files with 118 additions and 19129 deletions
|
@ -1,6 +1,8 @@
|
|||
version: 2.1
|
||||
orbs: # adds orbs to your configuration
|
||||
jira: circleci/jira@1.0.5 # invokes the Jira orb, making its commands accessible
|
||||
branches:
|
||||
ignore: feature/i10n
|
||||
jobs:
|
||||
build:
|
||||
working_directory: ~/Cider
|
||||
|
@ -61,4 +63,13 @@ jobs:
|
|||
mv ~/Cider/dist/*.blockmap ~/Cider/dist/artifacts
|
||||
- store_artifacts:
|
||||
path: ~/Cider/dist/artifacts
|
||||
|
||||
publish-github-release:
|
||||
docker:
|
||||
- image: cibuilds/github:0.10
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: ~/Cider/dist/artifacts
|
||||
- run:
|
||||
name: "Publish Release on GitHub"
|
||||
command: |
|
||||
ghr -t ${GITHUB_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r "cider-releases" -c ${CIRCLE_SHA1} -n "${CIRCLE_BRANCH} build #${CIRCLE_BUILD_NUM}" -b "This release is made automatically from [this commit](https://github.com/ciderapp/Cider/commit/${CIRCLE_SHA1}) using [this CircleCI job.](${CIRCLE_BUILD_URL})" ~/Cider/dist/artifacts
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,86 +1,67 @@
|
|||
app-id: org.cidercollective.cider
|
||||
branch: main
|
||||
runtime: org.freedesktop.Platform
|
||||
runtime-version: '21.08'
|
||||
sdk: org.freedesktop.Sdk
|
||||
# Use the Electron 2 BaseApp, which adds several common libraries we'll need.
|
||||
base: org.electronjs.Electron2.BaseApp
|
||||
base-version: '21.08'
|
||||
# Add the Node 10 SDK extension.
|
||||
sdk-extensions:
|
||||
- org.freedesktop.Sdk.Extension.node14
|
||||
# Electron doesn't use a traditional locale format so separate-locales is useless.
|
||||
separate-locales: false
|
||||
command: cider
|
||||
rename-desktop-file: cider.desktop
|
||||
rename-icon: cider
|
||||
finish-args:
|
||||
# These two lines add Xorg access for graphics.
|
||||
- '--share=ipc'
|
||||
- '--socket=x11'
|
||||
# Sound access.
|
||||
- '--socket=pulseaudio'
|
||||
# Network access.
|
||||
- '--share=network'
|
||||
# If you need to access the filesystem, also add:
|
||||
# - '--filesystem=home'
|
||||
- --device=dri
|
||||
- --filesystem=xdg-music
|
||||
- --own-name=org.mpris.MediaPlayer2.Cider
|
||||
- --share=ipc
|
||||
- --share=network
|
||||
- --socket=pulseaudio
|
||||
# needs electron v11 (chromium v87) or newer with ozone enabled
|
||||
# https://github.com/electron/electron/issues/10915
|
||||
# - --socket=wayland
|
||||
- --socket=x11
|
||||
- --system-talk-name=org.freedesktop.UPower
|
||||
- --talk-name=com.canonical.AppMenu.Registrar
|
||||
- --talk-name=com.canonical.dbusmenu
|
||||
- --talk-name=org.freedesktop.Notifications
|
||||
- --talk-name=org.kde.StatusNotifierWatcher
|
||||
modules:
|
||||
# With electron-webpack and electron-builder we don't install Node to /app/node,
|
||||
# because electron-builder will bundle everything for us in one piece.
|
||||
# Instead we jump straight to the quick start module.
|
||||
|
||||
# However, since this quick start uses yarn, we do have to install that.
|
||||
- name: yarn
|
||||
buildsystem: simple
|
||||
build-commands:
|
||||
- 'cp -a * /app'
|
||||
# Only used for building, so clean it up afterwards.
|
||||
cleanup:
|
||||
- '*'
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://github.com/yarnpkg/yarn/releases/download/v1.22.17/yarn-v1.22.17.tar.gz
|
||||
sha256: 267982c61119a055ba2b23d9cf90b02d3d16c202c03cb0c3a53b9633eae37249
|
||||
|
||||
- name: cider
|
||||
buildsystem: simple
|
||||
build-options:
|
||||
# Add the node bin directory & yarn directory.
|
||||
append-path: '/usr/lib/sdk/node14/bin:/app/yarn/bin'
|
||||
env:
|
||||
# Set the Electron cache directory.
|
||||
# (The directory format is: /run/build/MODULE_NAME/flatpak-node/electron-cache)
|
||||
ELECTRON_CACHE: '/run/build/cider/flatpak-node/electron-cache'
|
||||
XDG_CACHE_HOME: /run/build/cider/flatpak-node/cache
|
||||
# Sets the directory where Node is located so way npm won't download the headers.
|
||||
npm_config_nodedir: 'flatpak-node/node-gyp/electron-current'
|
||||
build-commands:
|
||||
# Have Yarn use the offline mirror.
|
||||
- 'HOME=$PWD yarn config --offline set yarn-offline-mirror $FLATPAK_BUILDER_BUILDDIR/flatpak-node/yarn-mirror'
|
||||
# Download the packages
|
||||
- 'cp cider-yarn.lock yarn.lock'
|
||||
- 'yarn install --offline'
|
||||
# If you were using npm with electron-webpack/electron-builder, then the above two commands
|
||||
# would look more like the npm commands in the vanilla-quick-start manifest, just without
|
||||
# the --prefix.
|
||||
|
||||
# Run electron-builder, passing the architecture arguments to it.
|
||||
# Note that the -- is important; without that, the argument will be passed to
|
||||
# yarn instead of electron-builder.
|
||||
- '. flatpak-node/electron-builder-arch-args.sh; yarn run --offline electron-builder build --linux dir -- $ELECTRON_BUILDER_ARCH_ARGS'
|
||||
# Copy the resulting, unpacked directory to /app.
|
||||
# (A glob is used because the directory name may contain the current arch.)
|
||||
- 'cp -r dist/linux*unpacked /app/cider'
|
||||
# If you passed --electron-non-patented-ffmpeg, you could install it like this:
|
||||
# - 'install -Dm 755 flatpak-node/libffmpeg.so -t /app/electron-webpack-quick-start'
|
||||
# Install the wrapper script to start it.
|
||||
- 'install -Dm 755 cider.sh /app/bin/cider'
|
||||
- install -dm755 ${FLATPAK_DEST}/cider
|
||||
- |
|
||||
bsdtar -Oxf cider.deb 'data.tar*' |
|
||||
bsdtar -xf - \
|
||||
-C ${FLATPAK_DEST}/cider \
|
||||
--strip-components=3 \
|
||||
./opt/Cider
|
||||
- |
|
||||
bsdtar -Oxf cider.deb 'data.tar*' |
|
||||
bsdtar -xf - \
|
||||
-C ${FLATPAK_DEST} \
|
||||
--strip-components=2 \
|
||||
--exclude=./usr/share/doc \
|
||||
./usr/share
|
||||
- desktop-file-edit --set-key=Exec --set-value=cider ${FLATPAK_DEST}/share/applications/cider.desktop
|
||||
- install -Dm755 stub_sandbox ${FLATPAK_DEST}/cider/chrome-sandbox
|
||||
- install -Dm755 cider -t ${FLATPAK_DEST}/bin/
|
||||
sources:
|
||||
- type: git
|
||||
url: https://github.com/ciderapp/cider
|
||||
branch: develop
|
||||
# Add the flatpak-node-generator generated sources.
|
||||
- generated-sources.json
|
||||
# Our runner script.
|
||||
- type: file
|
||||
dest-filename: cider.deb
|
||||
url: https://1308-429851205-gh.circle-artifacts.com/0/~/Cider/dist/artifacts/cider_1.3.1308_amd64.deb
|
||||
sha256: 342abde96bac9668e7238860ba435171edd72077ed9f4b385a3546c4d8f96995
|
||||
x-checker-data:
|
||||
type: html
|
||||
url: https://circleci.com/api/v1.1/project/gh/ciderapp/Cider/latest/artifacts?branch=main&filter=successful
|
||||
pattern: (https://.*circle-artifacts.com/.+/cider_([\d\.]+)_amd64.deb)
|
||||
- type: script
|
||||
dest-filename: cider.sh
|
||||
dest-filename: cider
|
||||
commands:
|
||||
- '/app/cider/cider'
|
||||
# share chromium singleton between multiple session, needed for flatpak<1.11.1
|
||||
- export TMPDIR=$XDG_RUNTIME_DIR/app/$FLATPAK_ID
|
||||
- exec zypak-wrapper /app/cider/cider "$@"
|
||||
- type: script
|
||||
dest-filename: stub_sandbox
|
||||
commands:
|
||||
- |
|
||||
echo Stub sandbox ignoring command: $@
|
||||
exit 1
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
"scripts": {
|
||||
"build": "tsc",
|
||||
"watch": "tsc --watch",
|
||||
"test": "yarn build && playwright test",
|
||||
"start": "run-script-os",
|
||||
"start:win32": "yarn build && set ELECTRON_ENABLE_LOGGING=true && electron ./build/index.js --enable-accelerated-mjpeg-decode --enable-accelerated-video --disable-gpu-driver-bug-workarounds --ignore-gpu-blacklist --enable-native-gpu-memory-buffers",
|
||||
"start:linux": "yarn build && ELECTRON_ENABLE_LOGGING=true && electron ./build/index.js --enable-accelerated-mjpeg-decode --enable-accelerated-video --disable-gpu-driver-bug-workarounds --ignore-gpu-blacklist --enable-native-gpu-memory-buffers",
|
||||
|
@ -63,7 +62,6 @@
|
|||
"react-dom": "^17.0.2",
|
||||
"run-script-os": "^1.1.6",
|
||||
"source-map-support": "^0.5.21",
|
||||
"typescript": "^4.5.5",
|
||||
"v8-compile-cache": "^2.3.0",
|
||||
"wallpaper": "5.0.1",
|
||||
"ws": "^8.5.0",
|
||||
|
@ -71,7 +69,6 @@
|
|||
"youtube-search-without-api-key": "^1.0.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@playwright/test": "^1.19.2",
|
||||
"@types/discord-rpc": "^4.0.0",
|
||||
"@types/express": "^4.17.13",
|
||||
"@types/qrcode-terminal": "^0.12.0",
|
||||
|
@ -81,7 +78,7 @@
|
|||
"electron-builder-notarize-pkg": "^1.2.0",
|
||||
"electron-webpack": "^2.8.2",
|
||||
"musickit-typescript": "^1.2.4",
|
||||
"playwright": "^1.19.2",
|
||||
"typescript": "^4.6.2",
|
||||
"vue-devtools": "^5.1.4",
|
||||
"webpack": "~5.69.1"
|
||||
},
|
||||
|
|
|
@ -364,7 +364,6 @@
|
|||
"settings.option.experimental.unknownPlugin.description": "Cider 플러그인 저장소 이외의 저장소에서 플러그인 설치 허용",
|
||||
"settings.option.experimental.compactUI": "간결한 사용자 인터페이스",
|
||||
"settings.option.experimental.close_button_hide": "닫기 버튼으로 애플리케이션 숨기기",
|
||||
"settings.option.experimental.copy_log": "로그를 클립보드에 복사하기",
|
||||
"settings.option.experimental.inline_playlists": "인라인 플레이리스트 및 앨범",
|
||||
"settings.option.advanced.playlistTrackMapping": "플레이리스트 트랙 매핑",
|
||||
"settings.option.advanced.playlistTrackMapping.description": "플레이리스트를 자세히 스캔하여 어떤 트랙이 어떤 플레이리스트에 있는지 확인합니다. 플레이리스트 캐시 빌드 시간이 크게 늘어날 수 있습니다.",
|
||||
|
|
|
@ -409,5 +409,15 @@
|
|||
"settings.header.unfinished": "Unfinished",
|
||||
"remote.web.title": "Cider Remote",
|
||||
"remote.web.description": "Scan the QR code to pair your phone up with this Cider instance",
|
||||
"share.platform.twitter.tweet": "Listen to {{song}} on Apple Music.\n\n{{url}}\n\n#AppleMusic #Cider",
|
||||
"share.platform.twitter": "Twitter",
|
||||
"share.platform.facebook": "Facebook",
|
||||
"share.platform.reddit": "Reddit",
|
||||
"share.platform.telegram": "Telegram",
|
||||
"share.platform.whatsapp": "WhatsApp",
|
||||
"share.platform.messenger": "Messenger",
|
||||
"share.platform.email": "Email",
|
||||
"share.platform.songLink": "Copy with song.link",
|
||||
"share.platform.clipboard": "Copy Link",
|
||||
"about.thanks": "Major thanks to the Cider Collective Team and all of our contributors."
|
||||
}
|
||||
|
|
|
@ -70,10 +70,10 @@
|
|||
"term.size": "大小",
|
||||
"term.size.normal": "正常",
|
||||
"term.size.compact": "緊密",
|
||||
"term.enable": "啟用",
|
||||
"term.disable": "停用",
|
||||
"term.enabled": "已啟用",
|
||||
"term.disabled": "已停用",
|
||||
"term.enable": "開啟",
|
||||
"term.disable": "關閉",
|
||||
"term.enabled": "已開啟",
|
||||
"term.disabled": "已關閉",
|
||||
"term.connect": "連接",
|
||||
"term.connecting": "連接中",
|
||||
"term.disconnect": "斷開",
|
||||
|
@ -194,6 +194,12 @@
|
|||
"action.open": "開啟",
|
||||
"settings.header.general": "一般",
|
||||
"settings.header.general.description": "調整 Cider 的一般設定",
|
||||
"settings.option.general.resumebehavior": "還原行為",
|
||||
"settings.option.general.resumebehavior.description": "會影響你回到 Cider 應用程式時,恢復歌曲的方式。",
|
||||
"settings.option.general.resumebehavior.locally": "本機",
|
||||
"settings.option.general.resumebehavior.locally.description": "Cider 將還原你在這台電腦上的最後一次操作。",
|
||||
"settings.option.general.resumebehavior.history": "歷史",
|
||||
"settings.option.general.resumebehavior.history.description": "Cider 將跨裝置將你的整個 Apple Music 歷史記錄中的最後一首歌曲排隊入列。",
|
||||
"settings.option.general.language.main": "語言",
|
||||
"settings.option.general.language.fun": "特殊語言",
|
||||
"settings.option.general.language.unsorted": "未分類",
|
||||
|
@ -202,6 +208,10 @@
|
|||
"settings.option.general.updateCider.branch.description": "選擇您要接收 Cider 軟體更新的通道",
|
||||
"settings.option.general.updateCider.branch.main": "穩定版(建議)",
|
||||
"settings.option.general.updateCider.branch.develop": "開發者測試版(不穩定)",
|
||||
"settings.notyf.updateCider.update-not-available": "沒有可用的更新",
|
||||
"settings.notyf.updateCider.update-downloaded": "更新已成功下載,重啟後進行更新",
|
||||
"settings.notyf.updateCider.update-error": "更新時,發生錯誤",
|
||||
"settings.notyf.updateCider.update-timeout": "更新超時",
|
||||
"settings.header.audio": "音訊",
|
||||
"settings.header.audio.description": "調整 Cider 的音訊設定",
|
||||
"settings.option.audio.volumeStep": "音量改變量",
|
||||
|
@ -217,25 +227,32 @@
|
|||
"settings.header.audio.quality.auto": "自動",
|
||||
"settings.option.audio.seamlessTransition": "無間斷播放",
|
||||
"settings.option.audio.enableAdvancedFunctionality": "進階音訊功能",
|
||||
"settings.option.audio.enableAdvancedFunctionality.description": "啟用 AudioContext 將開啟類似音訊平衡和等化器的進階設定。但這並不一定適合每部電腦,可能會發生音樂卡頓。",
|
||||
"settings.option.audio.enableAdvancedFunctionality.description": "開啟 AudioContext 將開啟類似音訊平衡和等化器的進階設定。但這並不一定適合每部電腦,可能會發生音樂卡頓。",
|
||||
"settings.option.audio.audioLab": "Cider 音訊實驗室",
|
||||
"settings.option.audio.audioLab.description": "包含由 Cider 開發團隊進行的各種音訊改善功能。",
|
||||
"settings.warn.audioLab.withoutAF": "使用 Cider 音訊實驗室需要開啟進階音訊功能才能使用。" ,
|
||||
"settings.option.audio.enableAdvancedFunctionality.analogWarmth": "模擬溫暖",
|
||||
"settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "以 Korg Nutube 6P1 為設計的模擬溫暖",
|
||||
"settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "以 Korg Nutube 6P1 為設計的模擬溫暖。",
|
||||
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description": "改變模擬溫暖模組處理的強度。",
|
||||
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth": "溫和",
|
||||
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm": "溫暖",
|
||||
"settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider 數位增強音訊處理™️",
|
||||
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "將欺騙您的大腦讓您感受到近似保真壓縮的音質。| 由 Maikiwi 設計",
|
||||
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "數位增強音訊處理設定",
|
||||
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "將更改音訊處理的激進/振奮程度(增強選項有可能會引起雜訊)",
|
||||
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "將更改音訊處理的激進/振奮程度(增強選項有可能會引起雜訊)。",
|
||||
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "標準",
|
||||
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "增強",
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "音訊平衡",
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "將平衡輕柔和響亮的歌曲,建立更統一舒適的聆聽體驗。",
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "空間音訊",
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "將音訊進行空間化處理來製造一個更立體的聆聽體驗(註:此功能不是官方的杜比全景聲)",
|
||||
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider 空間音訊效果",
|
||||
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "預先調整空間音訊效果,關閉空間音訊可自訂設定。但必須先開啟空間音訊才可以做設定。",
|
||||
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Cider 空間音訊配置檔案",
|
||||
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "變更空間音訊的配置檔案,需要重新啟動應用程式。",
|
||||
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "標準",
|
||||
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "發燒友",
|
||||
"settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "空間音訊無法與 CAP 相容,請關閉 CAP 在進行操作。",
|
||||
"settings.header.visual": "外觀",
|
||||
"settings.header.visual.description": "調整 Cider 的外觀",
|
||||
"settings.option.visual.windowBackgroundStyle": "視窗背景樣式",
|
||||
|
@ -260,11 +277,18 @@
|
|||
"settings.header.visual.theme": "主題",
|
||||
"settings.option.visual.theme.github.download": "從 GitHub 網址安裝",
|
||||
"settings.option.visual.theme.github.explore": "探索 GitHub 上的主題",
|
||||
"settings.option.visual.plugin.github.explore": "探索 GitHub 插件",
|
||||
"settings.header.visual.plugin.github.page": "來自 GitHub 的插件",
|
||||
"settings.prompt.visual.theme.github.URL": "輸入你要安裝的主題網址",
|
||||
"settings.notyf.visual.theme.install.success": "主題成功安裝",
|
||||
"settings.notyf.visual.theme.install.error": "主題安裝失敗",
|
||||
"settings.header.visual.plugin": "套件",
|
||||
"settings.option.visual.plugin.github.download": "從 GitHub 網址安裝",
|
||||
"settings.option.visual.plugin.github.explore": "探索 GitHub 套件",
|
||||
"settings.header.visual.plugin.github.page": "來自 GitHub 的套件",
|
||||
"settings.option.visual.plugin.github.install.confirm": "你確定要安裝 {{ repo }}?",
|
||||
"settings.prompt.visual.plugin.github.URL": "輸入你要安裝的套件網址",
|
||||
"settings.prompt.visual.plugin.github.success": "套件成功安裝,按「確認」以重新啟動 Cider",
|
||||
"settings.notyf.visual.plugin.install.success": "套件成功安裝",
|
||||
"settings.notyf.visual.plugin.install.error": "套件安裝失敗",
|
||||
"settings.option.visual.theme.default": "預設",
|
||||
"settings.option.visual.theme.dark": "午夜黑",
|
||||
"settings.option.visual.showPersonalInfo": "顯示個人檔案",
|
||||
|
@ -274,8 +298,8 @@
|
|||
"settings.option.window.openOnStartup.hidden": "啟動時,自動隱藏至系統列",
|
||||
"settings.header.lyrics": "歌詞",
|
||||
"settings.header.lyrics.description": "調整 Cider 的歌詞設定",
|
||||
"settings.option.lyrics.enableMusixmatch": "啟用 Musixmatch 歌詞",
|
||||
"settings.option.lyrics.enableMusixmatchKaraoke": "啟用K歌模式(僅限Musixmatch)",
|
||||
"settings.option.lyrics.enableMusixmatch": "開啟 Musixmatch 歌詞",
|
||||
"settings.option.lyrics.enableMusixmatchKaraoke": "開啟K歌模式(僅限Musixmatch)",
|
||||
"settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch 歌詞語言偏好",
|
||||
"settings.option.lyrics.enableYoutubeLyrics": "播放 MV 時使用 YouTube 歌詞",
|
||||
"settings.header.connectivity": "外部連接",
|
||||
|
@ -287,7 +311,7 @@
|
|||
"settings.option.connectivity.discordRPC.clearOnPause": "暫停時清除 Discord 動態",
|
||||
"settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling 記錄",
|
||||
"settings.option.connectivity.lastfmScrobble.delay": "LastFM Scrobble 延遲 (%)",
|
||||
"settings.option.connectivity.lastfmScrobble.nowPlaying": "啟用 LastFM 目前聆聽",
|
||||
"settings.option.connectivity.lastfmScrobble.nowPlaying": "開啟 LastFM 目前聆聽",
|
||||
"settings.option.connectivity.lastfmScrobble.removeFeatured": "從歌名中移除客串藝人 (LastFM)",
|
||||
"settings.option.connectivity.lastfmScrobble.filterLoop": "不記錄單曲循環 (LastFM)",
|
||||
"settings.header.debug": "除錯",
|
||||
|
@ -295,6 +319,8 @@
|
|||
"settings.option.debug.openAppData": "打開 Cider 資料夾",
|
||||
"settings.header.experimental": "實驗性功能",
|
||||
"settings.header.experimental.description": "調整 Cider 的實驗性功能",
|
||||
"settings.option.experimental.unknownPlugin": "未知來源",
|
||||
"settings.option.experimental.unknownPlugin.description": "允許從 Cider 來源以外的 repo 安裝套件",
|
||||
"settings.option.experimental.compactUI": "使用緊密的介面設計",
|
||||
"settings.option.experimental.closeButtonBehaviour": "關閉按鈕操作",
|
||||
"settings.option.window.close_button_hide": "關閉按鈕將 Cider 隱藏至系統列",
|
||||
|
@ -302,7 +328,7 @@
|
|||
"settings.option.advanced.playlistTrackMapping": "播放列表追蹤映射",
|
||||
"settings.option.advanced.playlistTrackMapping.description": "開啟對播放列表的深度掃描,以確定歌曲在哪些播放列表中。但播放列表快取時間會顯著增加。",
|
||||
"settings.option.visual.transparent": "透明視窗框架",
|
||||
"settings.option.visual.transparent.description": "透明視窗框架(需要主題支援,且須重新啟動)。",
|
||||
"settings.option.visual.transparent.description": "需主題有支援透明框架,且須重新啟動才會套用。",
|
||||
"spatial.notTurnedOn": "空間音訊目前是關閉狀態,請先開啟再使用。",
|
||||
"spatial.spatialProperties": "空間音訊屬性設定",
|
||||
"spatial.width": "寬度",
|
||||
|
@ -324,6 +350,6 @@
|
|||
"spatial.audioSource": "音訊來源",
|
||||
"settings.header.unfinished": "未開發完成的功能",
|
||||
"remote.web.title": "Cider 遠端操控",
|
||||
"remote.web.description": "掃描以下的行動條碼以操控 Cider",
|
||||
"remote.web.description": "掃描以下 QR Code 即可操控 Cider",
|
||||
"about.thanks": "著重感謝 Cider Collective 的成員以及所有為項目付出的貢獻者。"
|
||||
}
|
||||
|
|
|
@ -2324,7 +2324,7 @@ const app = new Vue({
|
|||
try {
|
||||
if (app.showingPlaylist.relationships.tracks.data.length === 0) return ""
|
||||
const timeInSeconds = Math.round([].concat(...app.showingPlaylist.relationships.tracks.data).reduce((a, {attributes: {durationInMillis}}) => a + durationInMillis, 0) / 1000);
|
||||
return `${app.showingPlaylist.relationships.tracks.data.length} ${app.getLz(`term.${app.showingPlaylist.relationships.tracks.data.length === 1 ? "track" : "tracks"}`)}, ${app.convertTime(timeInSeconds, 'long')}`
|
||||
return `${app.showingPlaylist.relationships.tracks.data.length} ${app.getLz("term.track", {"count": app.showingPlaylist.relationships.tracks.data.length})}, ${app.convertTime(timeInSeconds, 'long')}`
|
||||
} catch (err) {
|
||||
return ""
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
<mediaitem-square :item="artistData.relationships.artist.data[0]"></mediaitem-square>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
{{ artistData.attributes.listenTimeInMinutes }} {{$root.getLz('term.time.minutes')}}<br>
|
||||
{{ artistData.attributes.listenTimeInMinutes }} {{$root.getLz('term.time.minutes', {'count': artistData.attributes.listenTimeInMinutes})}}<br>
|
||||
{{$root.getLz('term.listenedTo')}} {{ artistData.attributes.playCount }} {{$root.getLz('term.times')}}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -55,7 +55,7 @@
|
|||
<mediaitem-square :item="albumData.relationships.album.data[0]"></mediaitem-square>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
{{ albumData.attributes.listenTimeInMinutes }} {{$root.getLz('term.time.minutes')}}<br>
|
||||
{{ albumData.attributes.listenTimeInMinutes }} {{$root.getLz('term.time.minutes', {'count': albumData.attributes.listenTimeInMinutes})}}<br>
|
||||
{{ albumData.attributes.playCount }} {{$root.getLz('term.plays')}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue