Merge remote-tracking branch 'upstream/upcoming' into upcoming
This commit is contained in:
commit
9c5d5631c9
36 changed files with 508 additions and 186 deletions
15
Assets/Cider with text.svg
Normal file
15
Assets/Cider with text.svg
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 577 205" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(0.788347,0,0,0.788347,-131.654,-154.131)">
|
||||
<g id="Release.afdesign" transform="matrix(0.260038,0,0,0.260038,297.279,325.53)">
|
||||
<g transform="matrix(1,0,0,1,-501,-500)">
|
||||
<path d="M501,21C765.367,21 980,235.633 980,500C980,764.367 765.367,979 501,979C236.633,979 22,764.367 22,500C22,235.633 236.633,21 501,21ZM501,169C683.684,169 832,317.316 832,500C832,682.684 683.684,831 501,831C318.316,831 170,682.684 170,500C170,317.316 318.316,169 501,169Z" style="fill:rgb(255,38,84);"/>
|
||||
<path d="M501,224C653.053,224 776.5,347.447 776.5,499.5C776.5,651.553 653.053,775 501,775C348.947,775 225.5,651.553 225.5,499.5C225.5,347.447 348.947,224 501,224ZM589.165,492.207C595.163,495.672 595.163,504.328 589.165,507.793L439.502,594.256C433.502,597.722 426,593.392 426,586.463L426,413.537C426,406.608 433.502,402.278 439.502,405.744L589.165,492.207Z" style="fill:rgb(255,38,84);"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(10.0544,0,0,10.0544,-4614.58,-2607.36)">
|
||||
<text x="505.982px" y="297.612px" style="font-family:'Inter-Bold', 'Inter';font-weight:700;font-size:16px;fill:rgb(235,235,235);">Cider</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
6
Assets/Release.svg
Normal file
6
Assets/Release.svg
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 1002 1000" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<path d="M501,21C765.367,21 980,235.633 980,500C980,764.367 765.367,979 501,979C236.633,979 22,764.367 22,500C22,235.633 236.633,21 501,21ZM501,169C683.684,169 832,317.316 832,500C832,682.684 683.684,831 501,831C318.316,831 170,682.684 170,500C170,317.316 318.316,169 501,169Z" style="fill:rgb(255,38,84);"/>
|
||||
<path d="M501,224C653.053,224 776.5,347.447 776.5,499.5C776.5,651.553 653.053,775 501,775C348.947,775 225.5,651.553 225.5,499.5C225.5,347.447 348.947,224 501,224ZM589.165,492.207C595.163,495.672 595.163,504.328 589.165,507.793L439.502,594.256C433.502,597.722 426,593.392 426,586.463L426,413.537C426,406.608 433.502,402.278 439.502,405.744L589.165,492.207Z" style="fill:rgb(255,38,84);"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
BIN
Assets/Sources/Release.afdesign
Normal file
BIN
Assets/Sources/Release.afdesign
Normal file
Binary file not shown.
BIN
Assets/Sources/cider-vinyl no raster.afdesign
Normal file
BIN
Assets/Sources/cider-vinyl no raster.afdesign
Normal file
Binary file not shown.
BIN
Assets/Sources/cider-vinyl.afdesign
Normal file
BIN
Assets/Sources/cider-vinyl.afdesign
Normal file
Binary file not shown.
41
Assets/Vinyl Logo/cider-vinyl no raster.svg
Normal file
41
Assets/Vinyl Logo/cider-vinyl no raster.svg
Normal file
|
@ -0,0 +1,41 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 257 257" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g id="Cider-Vinyl" serif:id="Cider Vinyl" transform="matrix(2.36243,0,0,2.36243,-4.17297,-4.04967)">
|
||||
<g id="Vinyl-Ring" serif:id="Vinyl Ring" transform="matrix(0.447755,0,0,0.447755,-245.339,-9.81703)">
|
||||
<circle cx="673" cy="146.877" r="121.123" style="fill:url(#_Linear1);"/>
|
||||
<clipPath id="_clip2">
|
||||
<circle cx="673" cy="146.877" r="121.123"/>
|
||||
</clipPath>
|
||||
<g clip-path="url(#_clip2)">
|
||||
<g transform="matrix(0.945365,0,0,0.945365,36.7693,8.02459)">
|
||||
<circle cx="673" cy="48" r="101.585" style="fill:white;fill-opacity:0.02;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Vinyl-Surface" serif:id="Vinyl Surface" transform="matrix(0.423292,0,0,0.423292,-250.04,-148.398)">
|
||||
<circle cx="723" cy="482.753" r="118.247" style="fill:rgb(15,15,15);"/>
|
||||
<clipPath id="_clip3">
|
||||
<circle cx="723" cy="482.753" r="118.247"/>
|
||||
</clipPath>
|
||||
<g clip-path="url(#_clip3)">
|
||||
<g transform="matrix(1,0,0,1,594.877,354.63)">
|
||||
<path d="M128.123,14.126C191.04,14.126 242.121,65.206 242.121,128.123C242.121,191.04 191.04,242.121 128.123,242.121C65.206,242.121 14.126,191.04 14.126,128.123C14.126,65.206 65.206,14.126 128.123,14.126ZM128.123,21.141C187.168,21.141 235.105,69.078 235.105,128.123C235.105,187.168 187.168,235.105 128.123,235.105C69.078,235.105 21.141,187.168 21.141,128.123C21.141,69.078 69.078,21.141 128.123,21.141ZM128.123,60.877C165.238,60.877 195.37,91.009 195.37,128.123C195.37,165.238 165.238,195.37 128.123,195.37C91.009,195.37 60.877,165.238 60.877,128.123C60.877,91.009 91.009,60.877 128.123,60.877ZM128.123,65.015C162.954,65.015 191.231,93.293 191.231,128.123C191.231,162.954 162.954,191.231 128.123,191.231C93.293,191.231 65.015,162.954 65.015,128.123C65.015,93.293 93.293,65.015 128.123,65.015Z" style="fill:rgb(20,20,20);"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,594.877,354.63)">
|
||||
<path d="M236.794,189.735L189.735,236.794L139.329,162.859L162.859,139.329L236.794,189.735ZM19.452,66.512L66.512,19.452L116.917,93.388L93.388,116.917L19.452,66.512Z" style="fill:rgb(37,37,37);"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Play-Button-Fill-Color" serif:id="Play Button Fill Color" transform="matrix(0.399516,0,0,0.399516,30.431,30.431)">
|
||||
<circle cx="64" cy="64" r="43" style="fill:white;"/>
|
||||
</g>
|
||||
<g id="Play-Button" serif:id="Play Button" transform="matrix(0.0920925,0,0,0.0920925,9.86165,9.94759)">
|
||||
<path d="M501,224C653.053,224 776.5,347.447 776.5,499.5C776.5,651.553 653.053,775 501,775C348.947,775 225.5,651.553 225.5,499.5C225.5,347.447 348.947,224 501,224ZM589.165,492.207C595.163,495.672 595.163,504.328 589.165,507.793L439.502,594.256C433.502,597.722 426,593.392 426,586.463L426,413.537C426,406.608 433.502,402.278 439.502,405.744L589.165,492.207Z" style="fill:url(#_Linear4);"/>
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<linearGradient id="_Linear1" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.22412e-13,242.247,-242.247,1.22412e-13,673,25.7534)"><stop offset="0" style="stop-color:rgb(255,38,84);stop-opacity:1"/><stop offset="1" style="stop-color:rgb(183,0,39);stop-opacity:1"/></linearGradient>
|
||||
<linearGradient id="_Linear4" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(3.3739e-14,551,-551,3.3739e-14,501,224)"><stop offset="0" style="stop-color:rgb(255,38,84);stop-opacity:1"/><stop offset="1" style="stop-color:rgb(183,0,39);stop-opacity:1"/></linearGradient>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 4.1 KiB |
42
Assets/Vinyl Logo/cider-vinyl textured.svg
Normal file
42
Assets/Vinyl Logo/cider-vinyl textured.svg
Normal file
|
@ -0,0 +1,42 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 257 257" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g id="Cider-Vinyl" serif:id="Cider Vinyl" transform="matrix(2.36243,0,0,2.36243,-4.17297,-4.04967)">
|
||||
<g id="Vinyl-Ring" serif:id="Vinyl Ring" transform="matrix(0.447755,0,0,0.447755,-245.339,-9.81703)">
|
||||
<circle cx="673" cy="146.877" r="121.123" style="fill:url(#_Linear1);"/>
|
||||
<clipPath id="_clip2">
|
||||
<circle cx="673" cy="146.877" r="121.123"/>
|
||||
</clipPath>
|
||||
<g clip-path="url(#_clip2)">
|
||||
<g transform="matrix(0.945365,0,0,0.945365,36.7693,8.02459)">
|
||||
<circle cx="673" cy="48" r="101.585" style="fill:white;fill-opacity:0.02;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Vinyl-Surface" serif:id="Vinyl Surface" transform="matrix(0.423292,0,0,0.423292,-250.04,-148.398)">
|
||||
<circle cx="723" cy="482.753" r="118.247" style="fill:url(#_Linear3);"/>
|
||||
<clipPath id="_clip4">
|
||||
<circle cx="723" cy="482.753" r="118.247"/>
|
||||
</clipPath>
|
||||
<g clip-path="url(#_clip4)">
|
||||
<g transform="matrix(1,0,0,1,594.877,354.63)">
|
||||
<path d="M128.123,14.126C191.04,14.126 242.121,65.206 242.121,128.123C242.121,191.04 191.04,242.121 128.123,242.121C65.206,242.121 14.126,191.04 14.126,128.123C14.126,65.206 65.206,14.126 128.123,14.126ZM128.123,21.141C187.168,21.141 235.105,69.078 235.105,128.123C235.105,187.168 187.168,235.105 128.123,235.105C69.078,235.105 21.141,187.168 21.141,128.123C21.141,69.078 69.078,21.141 128.123,21.141ZM128.123,60.877C165.238,60.877 195.37,91.009 195.37,128.123C195.37,165.238 165.238,195.37 128.123,195.37C91.009,195.37 60.877,165.238 60.877,128.123C60.877,91.009 91.009,60.877 128.123,60.877ZM128.123,65.015C162.954,65.015 191.231,93.293 191.231,128.123C191.231,162.954 162.954,191.231 128.123,191.231C93.293,191.231 65.015,162.954 65.015,128.123C65.015,93.293 93.293,65.015 128.123,65.015Z" style="fill:rgb(20,20,20);"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,594.877,354.63)">
|
||||
<path d="M236.794,189.735L189.735,236.794L139.329,162.859L162.859,139.329L236.794,189.735ZM19.452,66.512L66.512,19.452L116.917,93.388L93.388,116.917L19.452,66.512Z" style="fill:rgb(37,37,37);"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Play-Button-Fill-Color" serif:id="Play Button Fill Color" transform="matrix(0.399516,0,0,0.399516,30.431,30.431)">
|
||||
<circle cx="64" cy="64" r="43" style="fill:white;"/>
|
||||
</g>
|
||||
<g id="Play-Button" serif:id="Play Button" transform="matrix(0.0920925,0,0,0.0920925,9.86165,9.94759)">
|
||||
<path d="M501,224C653.053,224 776.5,347.447 776.5,499.5C776.5,651.553 653.053,775 501,775C348.947,775 225.5,651.553 225.5,499.5C225.5,347.447 348.947,224 501,224ZM589.165,492.207C595.163,495.672 595.163,504.328 589.165,507.793L439.502,594.256C433.502,597.722 426,593.392 426,586.463L426,413.537C426,406.608 433.502,402.278 439.502,405.744L589.165,492.207Z" style="fill:url(#_Linear5);"/>
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<linearGradient id="_Linear1" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.22412e-13,242.247,-242.247,1.22412e-13,673,25.7534)"><stop offset="0" style="stop-color:rgb(255,38,84);stop-opacity:1"/><stop offset="1" style="stop-color:rgb(183,0,39);stop-opacity:1"/></linearGradient>
|
||||
<linearGradient id="_Linear3" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.24529e-13,236.493,-236.493,2.24529e-13,723,364.507)"><stop offset="0" style="stop-color:rgb(15,15,15);stop-opacity:1"/><stop offset="1" style="stop-color:black;stop-opacity:1"/></linearGradient>
|
||||
<linearGradient id="_Linear5" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(3.3739e-14,551,-551,3.3739e-14,501,224)"><stop offset="0" style="stop-color:rgb(255,38,84);stop-opacity:1"/><stop offset="1" style="stop-color:rgb(183,0,39);stop-opacity:1"/></linearGradient>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 4.4 KiB |
Binary file not shown.
Before Width: | Height: | Size: 303 KiB After Width: | Height: | Size: 295 KiB |
|
@ -166,7 +166,7 @@
|
|||
// Refer to term.disabled for the disabled option
|
||||
"settings.header.connectivity.discordRPC.cider": "Εμφάνιση ως 'Cider'",
|
||||
"settings.header.connectivity.discordRPC.appleMusic": "Εμφάνιση ως 'Apple Music'",
|
||||
"settings.header.connectivity.discordRPC.clearOnPause": "Εκκαθάριση του Discord Rich Presence στην Παύση", // Toggle
|
||||
"settings.option.connectivity.discordRPC.clearOnPause": "Εκκαθάριση του Discord Rich Presence στην Παύση", // Toggle
|
||||
"settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling", // Option to Connect
|
||||
// Refer to term.connect for the connect button
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
{
|
||||
"date.format": "${d} ${m}, ${y}",
|
||||
|
||||
"home.friendsListeningTo": "Bruv's Listening To"
|
||||
}
|
|
@ -1,6 +1,9 @@
|
|||
{ // Base File
|
||||
// App info
|
||||
"app.name": "Cider",
|
||||
|
||||
"date.format": "${m} ${d}, ${y}",
|
||||
|
||||
// Dialogs
|
||||
"dialog.cancel": "Cancel",
|
||||
"dialog.ok": "OK",
|
||||
|
@ -9,7 +12,6 @@
|
|||
"notification.updatingLibrarySongs": "Updating library songs...",
|
||||
"notification.updatingLibraryAlbums": "Updating library albums...",
|
||||
"notification.updatingLibraryArtists": "Updating library artists...",
|
||||
|
||||
// Terms
|
||||
"term.appleMusic": "Apple Music",
|
||||
"term.applePodcasts": "Apple Podcasts",
|
||||
|
@ -80,18 +82,24 @@
|
|||
"term.time.updated": "Updated",
|
||||
"term.fullscreenView": "Fullscreen View",
|
||||
"term.defaultView": "Default View",
|
||||
|
||||
|
||||
"term.spacializedAudioSetting": "Spacialized Audio Setting",
|
||||
"term.clearAll": "Clear All",
|
||||
"term.recentStations": "Recent Stations",
|
||||
"term.language": "Language",
|
||||
// Home
|
||||
"home.title": "Home",
|
||||
"home.recentlyPlayed": "Recently Played",
|
||||
"home.recentlyAdded": "Recently Added",
|
||||
"home.artistsFeed": "Your Artists Feed",
|
||||
"home.artistsFeed.noArtist": "Follow some artists first and their latest releases will be here",
|
||||
"home.madeForYou": "Made For You",
|
||||
"home.friendsListeningTo": "Friends Listening To",
|
||||
"home.followedArtists": "Followed Artists",
|
||||
// Errors
|
||||
"error.appleMusicSubRequired": "Apple Music requires a subscription.",
|
||||
"error.connectionError": "There was a problem connecting to Apple Music.",
|
||||
"error.noResults": "No Results.",
|
||||
"error.noResults.description": "Try a new search.",
|
||||
|
||||
// Actions
|
||||
"action.addToLibrary": "Add to Library",
|
||||
|
@ -127,6 +135,7 @@
|
|||
"action.dislike": "Dislike",
|
||||
"action.undoDislike": "Undo dislike",
|
||||
"action.showWebRemoteQR": "Show Web Remote QR",
|
||||
|
||||
// Settings - Audio
|
||||
"settings.header.audio": "Audio",
|
||||
"settings.header.audio.description": "Adjust the audio settings for Cider.",
|
||||
|
@ -155,9 +164,11 @@
|
|||
"settings.header.visual.animatedArtworkQuality.low": "Low",
|
||||
"settings.header.visual.animatedArtworkQuality.medium": "Medium",
|
||||
"settings.header.visual.animatedArtworkQuality.high": "High",
|
||||
"settings.header.visual.animatedArtworkQuality.veryHigh": "Very High",
|
||||
"settings.header.visual.animatedArtworkQuality.extreme": "Extreme",
|
||||
"settings.option.visual.animatedWindowBackground": "Animated Window Background", // Toggle
|
||||
"settings.option.visual.hardwareAcceleration": "Hardware Acceleration", // Dropdown
|
||||
"settings.option.visual.hardwareAcceleration.description": "Requires relaunch",
|
||||
"settings.header.visual.hardwareAcceleration.default": "Default",
|
||||
"settings.header.visual.hardwareAcceleration.webGPU": "WebGPU",
|
||||
// Refer to term.disabled for the disabled option
|
||||
|
@ -181,7 +192,7 @@
|
|||
// Refer to term.disabled for the disabled option
|
||||
"settings.header.connectivity.discordRPC.cider": "Display as 'Cider'",
|
||||
"settings.header.connectivity.discordRPC.appleMusic": "Display as 'Apple Music'",
|
||||
"settings.header.connectivity.discordRPC.clearOnPause": "Clear Discord Rich Presence on Pause", // Toggle
|
||||
"settings.option.connectivity.discordRPC.clearOnPause": "Clear Discord Rich Presence on Pause", // Toggle
|
||||
"settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling", // Option to Connect
|
||||
// Refer to term.connect for the connect button
|
||||
|
||||
|
@ -191,6 +202,9 @@
|
|||
"settings.option.experimental.compactUI": "Compact UI", // Toggle
|
||||
// Refer to term.disabled & term.enabled
|
||||
|
||||
// Settings - Unfinished
|
||||
"settings.header.unfinished": "Unfinished",
|
||||
|
||||
// Web Remote
|
||||
"remote.web.title": "Cider Remote",
|
||||
"remote.web.description": "Scan the QR code to pair your phone up with this Cider instance"
|
||||
|
|
|
@ -181,7 +181,7 @@
|
|||
// Refer to term.disabled for the disabled option
|
||||
"settings.header.connectivity.discordRPC.cider": "Megjelenítés 'Cider'-ként",
|
||||
"settings.header.connectivity.discordRPC.appleMusic": "Megjelenítés 'Apple Music'-ként",
|
||||
"settings.header.connectivity.discordRPC.clearOnPause": "Discord Rich Presence törlése megállításnál", // Toggle
|
||||
"settings.option.connectivity.discordRPC.clearOnPause": "Discord Rich Presence törlése megállításnál", // Toggle
|
||||
"settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling", // Option to Connect
|
||||
// Refer to term.connect for the connect button
|
||||
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
{
|
||||
// App info
|
||||
"app.name": "Cider",
|
||||
|
||||
"date.format": "${y}年${m}月${d}日",
|
||||
|
||||
// Dialogs
|
||||
"dialog.cancel": "キャンセル",
|
||||
"dialog.ok": "OK",
|
||||
|
@ -25,6 +28,9 @@
|
|||
"term.queue": "次はこちら",
|
||||
"term.search": "検索",
|
||||
"term.library": "ライブラリ",
|
||||
"term.listenNow": "今すぐ聴く",
|
||||
"term.browse": "見つける",
|
||||
"term.radio": "ラジオ",
|
||||
"term.recentlyAdded": "最近追加した項目",
|
||||
"term.songs": "曲",
|
||||
"term.albums": "アルバム",
|
||||
|
@ -43,7 +49,7 @@
|
|||
"term.unmute": "ミュート解除",
|
||||
"term.share": "共有",
|
||||
"term.settings": "設定",
|
||||
"term.seeAll": "すべてを表示",
|
||||
"term.seeAll": "すべて見る",
|
||||
"term.sortBy": "並べ替え",
|
||||
"term.sortBy.album": "アルバム",
|
||||
"term.sortBy.artist": "アーティスト",
|
||||
|
@ -51,12 +57,13 @@
|
|||
"term.sortBy.genre": "ジャンル",
|
||||
"term.sortBy.releaseDate": "配信開始日",
|
||||
"term.sortBy.duration": "時間",
|
||||
"term.sortOrder": "アルファベット順",
|
||||
"term.sortOrder.ascending": "A-Z順",
|
||||
"term.sortOrder.descending": "Z-A順",
|
||||
"term.sortOrder": "並べ替え",
|
||||
"term.sortOrder.ascending": "昇順",
|
||||
"term.sortOrder.descending": "降順",
|
||||
"term.viewAs": "表示",
|
||||
"term.viewAs.coverArt": "カバーアート",
|
||||
"term.viewAs.list": "リスト",
|
||||
"term.size": "サイズ",
|
||||
"term.size.normal": "普通",
|
||||
"term.size.compact": "コンパクト",
|
||||
"term.enable": "ON",
|
||||
|
@ -64,17 +71,38 @@
|
|||
"term.enabled": "ON",
|
||||
"term.disabled": "OFF",
|
||||
"term.connect": "接続",
|
||||
"term.confirm": "よろしいでしょうか?",
|
||||
"term.more": "もっと",
|
||||
"term.less": "減らす",
|
||||
"term.showMore": "もっと見る",
|
||||
"term.showLess": "表示数を少なくする",
|
||||
"term.topSongs" : "トップソング",
|
||||
"term.latestReleases": "ニューリリース",
|
||||
"term.time.added": "追加日",
|
||||
"term.time.released": "配信開始日",
|
||||
"term.time.updated": "最終更新日",
|
||||
"term.fullscreenView": "全画面表示",
|
||||
"term.defaultView": "ウィンドウ表示",
|
||||
"term.spacializedAudioSetting": "オーディオ空間化設定",
|
||||
"term.clearAll": "クリア",
|
||||
"term.recentStations": "最近の再生",
|
||||
"term.language": "言語",
|
||||
|
||||
// Home
|
||||
"home.title": "ホーム",
|
||||
"home.recentlyPlayed": "最近の再生",
|
||||
"home.recentlyAdded": "最近追加した項目",
|
||||
"home.artistsFeed": "アーティストのフィード",
|
||||
"home.artistsFeed.noArtist": "自分の好きなアーティストをフォローしましょう・",
|
||||
"home.madeForYou": "あなたにおすすめ",
|
||||
"home.friendsListeningTo": "友達が聴いている",
|
||||
"home.followedArtists": "フォローしているアーティスト",
|
||||
// Errors
|
||||
"error.appleMusicSubRequired": "Apple Musicのサブスクリプションが必要です。",
|
||||
"error.connectionError": "Apple Musicに接続できません。",
|
||||
"error.noResults": "見つかりませんでした",
|
||||
"error.noResults.description": "もう一度お試しください。",
|
||||
|
||||
// Actions
|
||||
"action.addToLibrary": "ライブラリに追加",
|
||||
"action.addToLibrary.success": "ライブラリに追加されました",
|
||||
|
@ -84,6 +112,9 @@
|
|||
"action.addToQueue": "キューに追加",
|
||||
"action.addToQueue.success": "キューに追加されました",
|
||||
"action.addToQueue.error": "操作を完了できませんでした",
|
||||
"action.addToPlaylist": "プレイリストに追加",
|
||||
"action.removeFromPlaylist": "プレイリストから削除",
|
||||
"action.addToFavorites": " ",
|
||||
"action.removeFromQueue": "キューから削除",
|
||||
"action.removeFromQueue.success": "キューから削除されました",
|
||||
"action.removeFromQueue.error": "操作を完了できませんでした",
|
||||
|
@ -98,7 +129,9 @@
|
|||
"action.startRadio": "ステーションを作成",
|
||||
"action.goToArtist": "アーティストへ移動",
|
||||
"action.goToAlbum": "アルバムへ移動",
|
||||
"action.moveToTop": "上に戻る",
|
||||
"action.share": "曲を共有",
|
||||
"action.rename": "リネーム",
|
||||
"action.love": "ラブ",
|
||||
"action.unlove": "ラブを解除",
|
||||
"action.dislike": "これに似たものをすすめない",
|
||||
|
@ -130,11 +163,13 @@
|
|||
"settings.header.visual.animatedArtwork.disable": "オフ",
|
||||
"settings.option.visual.animatedArtworkQuality": "アニメーションアートワークの品質", // Dropdown
|
||||
"settings.header.visual.animatedArtworkQuality.low": "低",
|
||||
"settings.header.visual.animatedArtworkQuality.medium": "標準",
|
||||
"settings.header.visual.animatedArtworkQuality.medium": "中",
|
||||
"settings.header.visual.animatedArtworkQuality.high": "高",
|
||||
"settings.header.visual.animatedArtworkQuality.veryHigh": "超高",
|
||||
"settings.header.visual.animatedArtworkQuality.extreme": "最高",
|
||||
"settings.option.visual.animatedWindowBackground": "アプリウィンドウの背景をアニメーション化", // Toggle
|
||||
"settings.option.visual.hardwareAcceleration": "ハードウェア アクセラレーション", // Dropdown
|
||||
"settings.option.visual.hardwareAcceleration.description": "アプリを再起動する必要があります",
|
||||
"settings.header.visual.hardwareAcceleration.default": "既定",
|
||||
"settings.header.visual.hardwareAcceleration.webGPU": "WebGPU",
|
||||
// Refer to term.disabled for the disabled option
|
||||
|
@ -158,7 +193,7 @@
|
|||
// Refer to term.disabled for the disabled option
|
||||
"settings.header.connectivity.discordRPC.cider": "'Cider' を表示する",
|
||||
"settings.header.connectivity.discordRPC.appleMusic": "'Apple Music' を表示する",
|
||||
"settings.header.connectivity.discordRPC.clearOnPause": "一時停止時にDiscord Rich Presenceをクリアする", // Toggle
|
||||
"settings.option.connectivity.discordRPC.clearOnPause": "一時停止時にDiscord Rich Presenceをクリアする", // Toggle
|
||||
"settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling", // Option to Connect
|
||||
// Refer to term.connect for the connect button
|
||||
|
||||
|
@ -168,8 +203,11 @@
|
|||
"settings.option.experimental.compactUI": "コンパクトインターフェース", // Toggle
|
||||
// Refer to term.disabled & term.enabled
|
||||
|
||||
// Settings - Unfinished
|
||||
"settings.header.unfinished": "未完成",
|
||||
|
||||
// Web Remote
|
||||
"remote.web.title": "Cider リモート",
|
||||
"remote.web.description": "QRコードを使用して、Ciderとスマートフォンをペアリングする",
|
||||
"remote.web.description": "QRコードを使用して、Ciderとスマートフォンをペアリングする"
|
||||
|
||||
}
|
||||
|
|
|
@ -188,7 +188,7 @@
|
|||
// Refer to term.disabled for the disabled option
|
||||
"settings.header.connectivity.discordRPC.cider": "'Cider' Olarak",
|
||||
"settings.header.connectivity.discordRPC.appleMusic": "'Apple Music' Olarak",
|
||||
"settings.header.connectivity.discordRPC.clearOnPause": "Duraklatıldığında Discord'da Gösterme", // Toggle
|
||||
"settings.option.connectivity.discordRPC.clearOnPause": "Duraklatıldığında Discord'da Gösterme", // Toggle
|
||||
"settings.option.connectivity.lastfmScrobble": "LastFM Bağlantısı", // Option to Connect
|
||||
// Refer to term.connect for the connect button
|
||||
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
{
|
||||
// App info
|
||||
"app.name": "Cider",
|
||||
|
||||
"date.format": "${y}年${m}月${d}日",
|
||||
|
||||
// Dialogs
|
||||
"dialog.cancel": "取消",
|
||||
"dialog.ok": "确定",
|
||||
|
@ -25,6 +28,9 @@
|
|||
"term.queue": "队列",
|
||||
"term.search": "搜索",
|
||||
"term.library": "资料库",
|
||||
"term.listenNow": "现在就听",
|
||||
"term.browse": "浏览",
|
||||
"term.radio": "广播",
|
||||
"term.recentlyAdded": "最近添加",
|
||||
"term.songs": "歌曲",
|
||||
"term.albums": "专辑",
|
||||
|
@ -57,6 +63,7 @@
|
|||
"term.viewAs": "显示模式",
|
||||
"term.viewAs.coverArt": "专辑封面",
|
||||
"term.viewAs.list": "列表",
|
||||
"term.size": "大小",
|
||||
"term.size.normal": "正常",
|
||||
"term.size.compact": "紧凑",
|
||||
"term.enable": "启用",
|
||||
|
@ -64,18 +71,38 @@
|
|||
"term.enabled": "已启用",
|
||||
"term.disabled": "已禁用",
|
||||
"term.connect": "连接",
|
||||
"term.confirm": "确认?",
|
||||
"term.more": "更多",
|
||||
"term.less": "较少",
|
||||
"term.showMore": "显示更多",
|
||||
"term.showLess": "显示更少",
|
||||
"term.topSongs" : "热门歌曲",
|
||||
"term.latestReleases": "最新发行",
|
||||
"term.time.added": "添加于",
|
||||
"term.time.released": "发行于",
|
||||
"term.time.updated": "更新于",
|
||||
"term.fullscreenView": "全屏",
|
||||
"term.defaultView": "默认",
|
||||
"term.spacializedAudioSetting": "音频空间化设置",
|
||||
"term.clearAll": "清空",
|
||||
"term.recentStations": "最近播放的频道",
|
||||
"term.language": "语言",
|
||||
|
||||
// Home
|
||||
"home.title": "主页",
|
||||
"home.recentlyPlayed": "最近播放",
|
||||
"home.recentlyAdded": "最近添加",
|
||||
"home.artistsFeed": "艺人推荐",
|
||||
"home.artistsFeed.noArtist": "追踪您喜爱的艺人后便可查看他们的最新发行。",
|
||||
"home.madeForYou": "专属推荐",
|
||||
"home.friendsListeningTo": "朋友正在听",
|
||||
"home.followedArtists": "关注的艺人",
|
||||
|
||||
// Errors
|
||||
"error.appleMusicSubRequired": "需要订阅 Apple Music 以使用 Cider",
|
||||
"error.connectionError": "无法连接到 Apple Music。",
|
||||
"error.noResults": "没有结果",
|
||||
"error.noResults.description": "尝试更改搜索条件。",
|
||||
|
||||
// Actions
|
||||
"action.addToLibrary": "加入资料库",
|
||||
|
@ -89,6 +116,9 @@
|
|||
"action.removeFromQueue": "从队列中移除",
|
||||
"action.removeFromQueue.success": "已从队列中移除",
|
||||
"action.removeFromQueue.error": "从队列中移除的过程发生了错误",
|
||||
"action.addToPlaylist": "加入播放列表",
|
||||
"action.removeFromPlaylist": "从播放列表中移除",
|
||||
"action.addToFavorites": "加至收藏",
|
||||
"action.follow": "关注",
|
||||
"action.follow.success": "已关注",
|
||||
"action.follow.error": "尝试关注的过程发生了错误",
|
||||
|
@ -100,7 +130,9 @@
|
|||
"action.startRadio": "开始电台",
|
||||
"action.goToArtist": "前往艺人",
|
||||
"action.goToAlbum": "前往专辑",
|
||||
"action.moveToTop": "移到顶部",
|
||||
"action.share": "分享歌曲",
|
||||
"action.rename": "重命名",
|
||||
"action.love": "喜欢",
|
||||
"action.unlove": "踩",
|
||||
"action.dislike": "减少此类建议",
|
||||
|
@ -134,9 +166,11 @@
|
|||
"settings.header.visual.animatedArtworkQuality.low": "低",
|
||||
"settings.header.visual.animatedArtworkQuality.medium": "中",
|
||||
"settings.header.visual.animatedArtworkQuality.high": "高",
|
||||
"settings.header.visual.animatedArtworkQuality.veryHigh": "非常高",
|
||||
"settings.header.visual.animatedArtworkQuality.extreme": "极高",
|
||||
"settings.option.visual.animatedWindowBackground": "动态窗口背景", // Toggle
|
||||
"settings.option.visual.hardwareAcceleration": "硬件加速", // Dropdown
|
||||
"settings.option.visual.hardwareAcceleration.description": "需要重启 Cider 才会生效",
|
||||
"settings.header.visual.hardwareAcceleration.default": "默认",
|
||||
"settings.header.visual.hardwareAcceleration.webGPU": "WebGPU",
|
||||
// Refer to term.disabled for the disabled option
|
||||
|
@ -160,16 +194,19 @@
|
|||
// Refer to term.disabled for the disabled option
|
||||
"settings.header.connectivity.discordRPC.cider": "显示正在玩 'Cider'",
|
||||
"settings.header.connectivity.discordRPC.appleMusic": "显示正在玩 'Apple Music'",
|
||||
"settings.header.connectivity.discordRPC.clearOnPause": "暂停时清除Discord 动态", // Toggle
|
||||
"settings.option.connectivity.discordRPC.clearOnPause": "暂停时清除Discord 动态", // Toggle
|
||||
"settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling 记录", // Option to Connect
|
||||
// Refer to term.connect for the connect button
|
||||
|
||||
// Settings - Experimental
|
||||
"settings.header.experimental": "实验性功能",
|
||||
"settings.header.experimental.description": "调整Cider的实验性功能",
|
||||
"settings.option.experimental.compactUI": "紧凑型UI", // Toggle
|
||||
"settings.option.experimental.compactUI": "紧凑型 UI", // Toggle
|
||||
// Refer to term.disabled & term.enabled
|
||||
|
||||
// Settings - Unfinished
|
||||
"settings.header.unfinished": "未完成",
|
||||
|
||||
// Web Remote
|
||||
"remote.web.title": "Cider 远程控制",
|
||||
"remote.web.description": "扫描以下的二维码以控制 Cider"
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
// App info
|
||||
"app.name": "Cider",
|
||||
|
||||
"date.format": "${y}年${m}月${d}日",
|
||||
|
||||
// Dialogs
|
||||
"dialog.cancel": "取消",
|
||||
"dialog.ok": "確認",
|
||||
|
@ -25,6 +27,9 @@
|
|||
"term.queue": "播放清單",
|
||||
"term.search": "搜尋",
|
||||
"term.library": "資料庫",
|
||||
"term.listenNow": "立即聆聽",
|
||||
"term.browse": "瀏覽",
|
||||
"term.radio": "廣播",
|
||||
"term.recentlyAdded": "最近加入",
|
||||
"term.songs": "歌曲",
|
||||
"term.albums": "專輯",
|
||||
|
@ -77,17 +82,25 @@
|
|||
"term.time.updated": "更新於",
|
||||
"term.fullscreenView": "全螢幕檢視",
|
||||
"term.defaultView": "一般檢視",
|
||||
"term.spacializedAudioSetting": "音频空间化设置",
|
||||
"term.clearAll": "清空",
|
||||
"term.recentStations": "最近播放的頻道",
|
||||
"term.language": "語言",
|
||||
|
||||
// Home
|
||||
"home.title": "主頁",
|
||||
"home.recentlyPlayed": "最近播放",
|
||||
"home.recentlyAdded": "最近加入",
|
||||
"home.artistsFeed": "藝人動態",
|
||||
"home.artistsFeed.noArtist": "追蹤一些藝人來獲得他們的最新歌曲資訊。",
|
||||
"home.madeForYou": "為您推薦",
|
||||
"home.friendsListeningTo": "朋友正在聆聽",
|
||||
"home.followedArtists": "追蹤的藝人",
|
||||
// Errors
|
||||
"error.appleMusicSubRequired": "需要訂閱Apple Music以使用Cider",
|
||||
"error.connectionError": "There was a problem connecting to Apple Music.",
|
||||
"error.noResults": "No Results.",
|
||||
"error.noResults.description": "Try a new search.",
|
||||
// Actions
|
||||
"action.addToLibrary": "加入資料庫",
|
||||
"action.addToLibrary.success": "成功加入資料庫",
|
||||
|
@ -151,9 +164,11 @@
|
|||
"settings.header.visual.animatedArtworkQuality.low": "低",
|
||||
"settings.header.visual.animatedArtworkQuality.medium": "中",
|
||||
"settings.header.visual.animatedArtworkQuality.high": "高",
|
||||
"settings.header.visual.animatedArtworkQuality.veryHigh": "非常高",
|
||||
"settings.header.visual.animatedArtworkQuality.extreme": "極高",
|
||||
"settings.option.visual.animatedWindowBackground": "動態窗口背景", // Toggle
|
||||
"settings.option.visual.hardwareAcceleration": "硬體加速", // Dropdown
|
||||
"settings.option.visual.hardwareAcceleration.description": "需要重啓 Cider 才能生效",
|
||||
"settings.header.visual.hardwareAcceleration.default": "默認",
|
||||
"settings.header.visual.hardwareAcceleration.webGPU": "WebGPU",
|
||||
// Refer to term.disabled for the disabled option
|
||||
|
@ -168,7 +183,7 @@
|
|||
"settings.option.lyrics.enableMusixmatch": "啟用 Musixmatch 歌詞", // Toggle
|
||||
"settings.option.lyrics.enableMusixmatchKaraoke": "啟用卡拉OK模式(僅限Musixmatch)", // Toggle
|
||||
"settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch 歌詞語言偏好", // Dropdown
|
||||
"settings.option.lyrics.enableYoutubeLyrics": "播放MV時使用YouTube歌詞", // Toggle
|
||||
"settings.option.lyrics.enableYoutubeLyrics": "播放 MV 時使用 YouTube 歌詞", // Toggle
|
||||
|
||||
// Settings - Connectivity
|
||||
"settings.header.connectivity": "外部連結",
|
||||
|
@ -177,16 +192,18 @@
|
|||
// Refer to term.disabled for the disabled option
|
||||
"settings.header.connectivity.discordRPC.cider": "顯示為'Cider'",
|
||||
"settings.header.connectivity.discordRPC.appleMusic": "顯示為'Apple Music'",
|
||||
"settings.header.connectivity.discordRPC.clearOnPause": "暫停時清除 Discord 狀態", // Toggle
|
||||
"settings.option.connectivity.discordRPC.clearOnPause": "暫停時清除 Discord 狀態", // Toggle
|
||||
"settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling 記錄", // Option to Connect
|
||||
// Refer to term.connect for the connect button
|
||||
|
||||
// Settings - Experimental
|
||||
"settings.header.experimental": "實驗性功能",
|
||||
"settings.header.experimental.description": "調整Cider的實驗性功能",
|
||||
"settings.option.experimental.compactUI": "緊凑型UI", // Toggle
|
||||
"settings.option.experimental.compactUI": "緊凑型 UI", // Toggle
|
||||
// Refer to term.disabled & term.enabled
|
||||
|
||||
// Settings - Unfinished
|
||||
"settings.header.unfinished": "未完成",
|
||||
|
||||
// Web Remote
|
||||
"remote.web.title": "遙距控制 Cider",
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
// App info
|
||||
"app.name": "Cider",
|
||||
|
||||
"date.format": "${y}年${m}月${d}日",
|
||||
|
||||
// Dialogs
|
||||
"dialog.cancel": "取消",
|
||||
"dialog.ok": "OK",
|
||||
|
@ -25,6 +27,9 @@
|
|||
"term.queue": "待播清單",
|
||||
"term.search": "搜尋",
|
||||
"term.library": "資料庫",
|
||||
"term.listenNow": "立即聆聽",
|
||||
"term.browse": "瀏覽",
|
||||
"term.radio": "廣播",
|
||||
"term.recentlyAdded": "最近加入",
|
||||
"term.songs": "歌曲",
|
||||
"term.albums": "專輯",
|
||||
|
@ -57,6 +62,7 @@
|
|||
"term.viewAs": "顯示模式",
|
||||
"term.viewAs.coverArt": "專輯封面",
|
||||
"term.viewAs.list": "列表",
|
||||
"term.size": "大小",
|
||||
"term.size.normal": "正常",
|
||||
"term.size.compact": "緊凑",
|
||||
"term.enable": "啟用",
|
||||
|
@ -64,17 +70,37 @@
|
|||
"term.enabled": "已啟用",
|
||||
"term.disabled": "已停用",
|
||||
"term.connect": "連接",
|
||||
|
||||
"term.confirm": "確定?",
|
||||
"term.more": "更多",
|
||||
"term.less": "更少",
|
||||
"term.showMore": "顯示更多",
|
||||
"term.showLess": "顯示更少",
|
||||
"term.topSongs" : "熱門歌曲",
|
||||
"term.latestReleases": "最新發行",
|
||||
"term.time.added": "加入于",
|
||||
"term.time.released": "發行于",
|
||||
"term.time.updated": "更改于",
|
||||
"term.fullscreenView": "全螢幕顯示",
|
||||
"term.defaultView": "預設顯示",
|
||||
"term.spacializedAudioSetting": "音频空间化设置",
|
||||
"term.clearAll": "清空",
|
||||
"term.recentStations": "最近收聽的廣播",
|
||||
"term.language": "語言",
|
||||
// Home
|
||||
"home.title": "主頁",
|
||||
"home.recentlyPlayed": "最近播放",
|
||||
"home.recentlyAdded": "最近加入",
|
||||
"home.artistsFeed": "藝人追蹤",
|
||||
"home.artistsFeed.noArtist": "追蹤一些藝人來獲得他們的最新歌曲。",
|
||||
"home.madeForYou": "為您推薦",
|
||||
"home.friendsListeningTo": "朋友正在聆聽",
|
||||
"home.followedArtists": "追蹤的藝人",
|
||||
// Errors
|
||||
"error.appleMusicSubRequired": "需要訂閱Apple Music以使用Cider",
|
||||
"error.connectionError": "無法連接到 Apple Music。",
|
||||
"error.noResults": "沒有結果",
|
||||
"error.noResults.description": "嘗試新的搜尋項目。",
|
||||
|
||||
// Actions
|
||||
"action.addToLibrary": "加入資料庫",
|
||||
"action.addToLibrary.success": "成功加入資料庫",
|
||||
|
@ -87,6 +113,9 @@
|
|||
"action.removeFromQueue": "從代播清單刪除",
|
||||
"action.removeFromQueue.success": "已從代播清單刪除",
|
||||
"action.removeFromQueue.error": "從代播清單刪除的過程發生錯誤",
|
||||
"action.addToPlaylist": "加入播放列表",
|
||||
"action.removeFromPlaylist": "從播放列表刪除",
|
||||
"action.addToFavorites": "加入我的最愛",
|
||||
"action.follow": "追蹤",
|
||||
"action.follow.success": "追蹤中",
|
||||
"action.follow.error": "追蹤的過程發生錯誤",
|
||||
|
@ -98,7 +127,9 @@
|
|||
"action.startRadio": "建立電台",
|
||||
"action.goToArtist": "前往藝人",
|
||||
"action.goToAlbum": "前往專輯",
|
||||
"action.moveToTop": "移至頂端",
|
||||
"action.share": "分享歌曲",
|
||||
"action.rename": "Rename",
|
||||
"action.love": "喜愛",
|
||||
"action.unlove": "取消喜愛",
|
||||
"action.dislike": "減少此類建議",
|
||||
|
@ -133,9 +164,11 @@
|
|||
"settings.header.visual.animatedArtworkQuality.low": "低",
|
||||
"settings.header.visual.animatedArtworkQuality.medium": "中",
|
||||
"settings.header.visual.animatedArtworkQuality.high": "高",
|
||||
"settings.header.visual.animatedArtworkQuality.veryHigh": "非常高",
|
||||
"settings.header.visual.animatedArtworkQuality.extreme": "極高",
|
||||
"settings.option.visual.animatedWindowBackground": "動態窗口背景", // Toggle
|
||||
"settings.option.visual.hardwareAcceleration": "硬體加速", // Dropdown
|
||||
"settings.option.visual.hardwareAcceleration.description": "需要重新啟動 Cider 才會生效",
|
||||
"settings.header.visual.hardwareAcceleration.default": "默認",
|
||||
"settings.header.visual.hardwareAcceleration.webGPU": "WebGPU",
|
||||
// Refer to term.disabled for the disabled option
|
||||
|
@ -146,11 +179,11 @@
|
|||
|
||||
// Settings - Lyrics
|
||||
"settings.header.lyrics": "歌詞",
|
||||
"settings.header.lyrics.description": "調整Cider的歌詞設定",
|
||||
"settings.header.lyrics.description": "調整 Cider 的歌詞設定",
|
||||
"settings.option.lyrics.enableMusixmatch": "啟用 Musixmatch 歌詞", // Toggle
|
||||
"settings.option.lyrics.enableMusixmatchKaraoke": "啟用K歌模式(僅限Musixmatch)", // Toggle
|
||||
"settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch 歌詞語言偏好", // Dropdown
|
||||
"settings.option.lyrics.enableYoutubeLyrics": "播放MV時使用YouTube歌詞", // Toggle
|
||||
"settings.option.lyrics.enableYoutubeLyrics": "播放 MV 時使用 YouTube 歌詞", // Toggle
|
||||
|
||||
// Settings - Connectivity
|
||||
"settings.header.connectivity": "外部連接",
|
||||
|
@ -159,16 +192,18 @@
|
|||
// Refer to term.disabled for the disabled option
|
||||
"settings.header.connectivity.discordRPC.cider": "顯示正在玩 'Cider'",
|
||||
"settings.header.connectivity.discordRPC.appleMusic": "顯示正在玩 'Apple Music'",
|
||||
"settings.header.connectivity.discordRPC.clearOnPause": "暫停時清除 Discord 動態", // Toggle
|
||||
"settings.option.connectivity.discordRPC.clearOnPause": "暫停時清除 Discord 動態", // Toggle
|
||||
"settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling 記錄", // Option to Connect
|
||||
// Refer to term.connect for the connect button
|
||||
|
||||
// Settings - Experimental
|
||||
"settings.header.experimental": "實驗性功能",
|
||||
"settings.header.experimental.description": "調整Cider的實驗性功能",
|
||||
"settings.option.experimental.compactUI": "緊凑型UI", // Toggle
|
||||
"settings.header.experimental.description": "調整 Cider 的實驗性功能",
|
||||
"settings.option.experimental.compactUI": "緊凑型 UI", // Toggle
|
||||
// Refer to term.disabled & term.enabled
|
||||
|
||||
// Settings - Unfinished
|
||||
"settings.header.unfinished": "未完成",
|
||||
|
||||
// Web Remote
|
||||
"remote.web.title": "Cider 遠控",
|
||||
|
|
Binary file not shown.
|
@ -178,12 +178,12 @@ const app = new Vue({
|
|||
},
|
||||
songs: {
|
||||
sortingOptions: {
|
||||
"albumName": "Album",
|
||||
"artistName": "Artist",
|
||||
"name": "Name",
|
||||
"genre": "Genre",
|
||||
"releaseDate": "Release Date",
|
||||
"durationInMillis": "Duration"
|
||||
"albumName": "0",
|
||||
"artistName": "0",
|
||||
"name": "0",
|
||||
"genre": "0",
|
||||
"releaseDate": "0",
|
||||
"durationInMillis": "0"
|
||||
},
|
||||
sorting: "name",
|
||||
sortOrder: "asc",
|
||||
|
@ -195,10 +195,10 @@ const app = new Vue({
|
|||
},
|
||||
albums: {
|
||||
sortingOptions: {
|
||||
"artistName": "Artist",
|
||||
"name": "Name",
|
||||
"genre": "Genre",
|
||||
"releaseDate": "Release Date"
|
||||
"albumName": "0",
|
||||
"artistName": "0",
|
||||
"name": "0",
|
||||
"genre": "0"
|
||||
},
|
||||
viewAs: 'covers',
|
||||
sorting: ["dateAdded", "name"], // [0] = recentlyadded page, [1] = albums page
|
||||
|
@ -211,10 +211,10 @@ const app = new Vue({
|
|||
},
|
||||
artists: {
|
||||
sortingOptions: {
|
||||
"artistName": "Artist",
|
||||
"name": "Name",
|
||||
"genre": "Genre",
|
||||
"releaseDate": "Release Date"
|
||||
"artistName": "0",
|
||||
"name": "0",
|
||||
"genre": "0",
|
||||
"releaseDate": "0"
|
||||
},
|
||||
viewAs: 'covers',
|
||||
sorting: ["dateAdded", "name"], // [0] = recentlyadded page, [1] = albums page
|
||||
|
@ -350,6 +350,30 @@ const app = new Vue({
|
|||
return message
|
||||
}
|
||||
},
|
||||
setLzManual() {
|
||||
app.$data.library.songs.sortingOptions = {
|
||||
"albumName": app.getLz('term.sortBy.album'),
|
||||
"artistName": app.getLz('term.sortBy.artist'),
|
||||
"name": app.getLz('term.sortBy.name'),
|
||||
"genre": app.getLz('term.sortBy.genre'),
|
||||
"releaseDate": app.getLz('term.sortBy.releaseDate'),
|
||||
"durationInMillis": app.getLz('term.sortBy.duration')
|
||||
}
|
||||
|
||||
app.$data.library.albums.sortingOptions = {
|
||||
"albumName": app.getLz('term.sortBy.album'),
|
||||
"artistName": app.getLz('term.sortBy.artist'),
|
||||
"name": app.getLz('term.sortBy.name'),
|
||||
"genre": app.getLz('term.sortBy.genre')
|
||||
}
|
||||
|
||||
app.$data.library.artists.sortingOptions = {
|
||||
"artistName": app.getLz('term.sortBy.artist'),
|
||||
"name": app.getLz('term.sortBy.name'),
|
||||
"genre": app.getLz('term.sortBy.genre'),
|
||||
"releaseDate": app.getLz('term.sortBy.releaseDate')
|
||||
}
|
||||
},
|
||||
async showSocialListeningTo() {
|
||||
let contentIds = Object.keys(app.socialBadges.badgeMap)
|
||||
app.showCollection({ data: this.socialBadges.mediaItems }, "Friends Listening To", "albums")
|
||||
|
@ -504,6 +528,7 @@ const app = new Vue({
|
|||
async init() {
|
||||
let self = this
|
||||
this.setLz(this.cfg.general.language)
|
||||
this.setLzManual()
|
||||
clearTimeout(this.hangtimer)
|
||||
this.mk = MusicKit.getInstance()
|
||||
let needsReload = (typeof localStorage["music.ampwebplay.media-user-token"] == "undefined")
|
||||
|
@ -1710,7 +1735,7 @@ const app = new Vue({
|
|||
}
|
||||
this.library.songs.downloadState = 1
|
||||
this.library.downloadNotification.show = true
|
||||
this.library.downloadNotification.message = "Updating library songs..."
|
||||
this.library.downloadNotification.message = app.getLz('notification.updatingLibrarySongs')
|
||||
|
||||
function downloadChunk() {
|
||||
const params = {
|
||||
|
@ -1791,7 +1816,7 @@ const app = new Vue({
|
|||
}
|
||||
this.library.albums.downloadState = 1
|
||||
this.library.downloadNotification.show = true
|
||||
this.library.downloadNotification.message = "Updating library albums..."
|
||||
this.library.downloadNotification.message = app.getLz('notification.updatingLibraryAlbums')
|
||||
|
||||
function downloadChunk() {
|
||||
self.library.albums.downloadState = 1
|
||||
|
@ -1871,7 +1896,7 @@ const app = new Vue({
|
|||
}
|
||||
this.library.artists.downloadState = 1
|
||||
this.library.downloadNotification.show = true
|
||||
this.library.downloadNotification.message = "Updating library artists..."
|
||||
this.library.downloadNotification.message = app.getLz('notification.updatingLibraryArtists')
|
||||
|
||||
function downloadChunk() {
|
||||
self.library.artists.downloadState = 1
|
||||
|
@ -3372,9 +3397,19 @@ const app = new Vue({
|
|||
this.webremoteurl = await ipcRenderer.invoke('showQR','')
|
||||
//this.modals.qrcode = true;
|
||||
|
||||
},
|
||||
checkMarquee() {
|
||||
if(isElementOverflowing('#app-main > div.app-chrome > div.app-chrome--center > div > div > div.playback-info > div.song-artist') == true) {
|
||||
document.getElementsByClassName('song-artist')[0].classList.add('marquee');
|
||||
document.getElementsByClassName('song-artist')[1].classList.add('marquee-after');
|
||||
}
|
||||
if(isElementOverflowing('#app-main > div.app-chrome > div.app-chrome--center > div > div > div.playback-info > div.song-name') == true) {
|
||||
document.getElementsByClassName('song-name')[0].classList.add('marquee');
|
||||
document.getElementsByClassName('song-name')[1].classList.add('marquee-after');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
Vue.component('animated-number', {
|
||||
|
|
|
@ -1112,27 +1112,7 @@ input[type=range].web-slider::-webkit-slider-runnable-track {
|
|||
}
|
||||
|
||||
|
||||
.app-chrome .app-chrome-item > .app-playback-controls .song-artist {
|
||||
font-weight: 400;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
/*height: 1.2em;
|
||||
line-height: 1.2em;*/
|
||||
|
||||
z-index: 1;
|
||||
max-width: 360px;
|
||||
|
||||
|
||||
.song-artist-normal {
|
||||
height: inherit;
|
||||
}
|
||||
|
||||
&.song-artist-marquee {
|
||||
> marquee {
|
||||
margin-bottom: -3px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.app-chrome .app-chrome-item > .app-playback-controls .song-progress {
|
||||
@bgColor: transparent;
|
||||
|
@ -1256,7 +1236,7 @@ input[type=range].web-slider::-webkit-slider-runnable-track {
|
|||
overflow: hidden;
|
||||
}
|
||||
|
||||
.app-chrome .app-chrome-item > .app-playback-controls .playback-info > div {
|
||||
.app-chrome .app-chrome-item > .app-playback-controls .playback-info > .song-progress{
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
@ -1267,6 +1247,31 @@ input[type=range].web-slider::-webkit-slider-runnable-track {
|
|||
display: flex;
|
||||
position: relative;
|
||||
}
|
||||
.app-chrome .app-chrome-item > .app-playback-controls .song-artist-album {
|
||||
font-weight: 400;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
/*height: 1.2em;
|
||||
line-height: 1.2em;*/
|
||||
|
||||
z-index: 1;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 80%;
|
||||
max-width: 340px;
|
||||
overflow: hidden;
|
||||
|
||||
|
||||
.song-artist-normal {
|
||||
height: inherit;
|
||||
}
|
||||
|
||||
&.song-artist-marquee {
|
||||
> marquee {
|
||||
margin-bottom: -3px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.display--small {
|
||||
display: none !important;
|
||||
|
@ -4570,7 +4575,7 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
|
|||
.queue-col {
|
||||
|
||||
width: 60vh;
|
||||
height: 50vh;
|
||||
height: 62vh;
|
||||
|
||||
.queue-title {
|
||||
opacity: 0.6;
|
||||
|
@ -5163,7 +5168,42 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
|
|||
}
|
||||
}
|
||||
|
||||
/* Cider */
|
||||
// Cider App
|
||||
|
||||
.mediaitem-list-item__grid {
|
||||
overflow-x: overlay;
|
||||
overflow-y: hidden;
|
||||
background: rgba(200, 200, 200, 0.05);
|
||||
border-radius: 10px;
|
||||
padding: var(--contentInnerPadding);
|
||||
box-shadow: rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
|
||||
height: 300px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.grid-body {
|
||||
display: grid;
|
||||
grid-auto-flow: column dense;
|
||||
grid-template-rows: auto auto auto auto;
|
||||
grid-gap: 0 6px;
|
||||
padding: 2px 0;
|
||||
justify-content: left;
|
||||
width: 0;
|
||||
}
|
||||
|
||||
.cd-mediaitem-list-item {
|
||||
width: 350px;
|
||||
height: 60px;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&:hover::-webkit-scrollbar {
|
||||
display: initial;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.settings-page {
|
||||
padding:0px;
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
ref="searchInput"
|
||||
style="width:100%;"
|
||||
spellcheck="false"
|
||||
placeholder="Search..."
|
||||
:placeholder="app.getLz('term.search') + '...'"
|
||||
v-model="searchQuery"
|
||||
@input="search()"
|
||||
class="search-input">
|
||||
|
|
|
@ -121,7 +121,7 @@
|
|||
"action": function () {
|
||||
if (!self.item.attributes.url && self.item.relationships){
|
||||
if (self.item.relationships.catalog){
|
||||
app.mkapi(self.item.attributes.playParams.kind, false, self.item.relationships.catalog.data[0].id).then(u => {self.app.copyToClipboard((u.length && u.length > 0)? u[0].attributes.url : u.attributes.url)})
|
||||
app.mkapi(self.item.attributes.playParams.kind, false, self.item.relationships.catalog.data[0].id).then(u => {self.app.copyToClipboard((u.data.data.length && u.data.data.length > 0)? u.data.data[0].attributes.url : u.data.data.attributes.url)})
|
||||
}
|
||||
} else {
|
||||
self.app.copyToClipboard(self.item.attributes.url)}
|
||||
|
|
|
@ -400,7 +400,7 @@
|
|||
"action": function () {
|
||||
if (!self.item.attributes.url && self.item.relationships){
|
||||
if (self.item.relationships.catalog){
|
||||
app.mkapi(self.item.attributes.playParams.kind, false, self.item.relationships.catalog.data[0].id).then(u => {self.app.copyToClipboard((u.length && u.length > 0)? u[0].attributes.url : u.attributes.url)})
|
||||
app.mkapi(self.item.attributes.playParams.kind, false, self.item.relationships.catalog.data[0].id).then(u => {self.app.copyToClipboard((u.data.data.length && u.data.data.length > 0)? u.data.data[0].attributes.url : u.data.data.attributes.url)})
|
||||
}
|
||||
}else {
|
||||
self.app.copyToClipboard(self.item.attributes.url)}
|
||||
|
|
|
@ -229,7 +229,7 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"name": "Share",
|
||||
"name": this.$root.getLz('term.share'),
|
||||
"action": function () {
|
||||
self.app.copyToClipboard(self.item.attributes.url)
|
||||
}
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
let self = this
|
||||
CiderContextMenu.Create(event, {
|
||||
items: [{
|
||||
"name": app.getLz('action.removeFromQueue'),
|
||||
"name": $root.getLz('action.removeFromQueue'),
|
||||
"action": function () {
|
||||
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
</draggable>
|
||||
</div>
|
||||
<div class="queue-footer">
|
||||
<button class="md-btn" style="width:100%;" v-if="queueItems.length > 1" @click="app.mk.clearQueue();updateQueue()">Clear All</button>
|
||||
<button class="md-btn" style="width:100%;" v-if="queueItems.length > 1" @click="app.mk.clearQueue();updateQueue()">{{app.getLz('term.clearAll')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
|
|
@ -105,7 +105,7 @@
|
|||
let menu = {
|
||||
items: {
|
||||
"moveToParent": {
|
||||
name: app.getLz('action.moveToTop'),
|
||||
name: this.$root.getLz('action.moveToTop'),
|
||||
action: () => {
|
||||
let self = this
|
||||
this.move(this.item, {
|
||||
|
@ -116,7 +116,7 @@
|
|||
}
|
||||
},
|
||||
"rename": {
|
||||
name: app.getLz('action.rename'),
|
||||
name: this.$root.getLz('action.rename'),
|
||||
action: () => {
|
||||
this.renaming = true
|
||||
setTimeout(()=>{
|
||||
|
@ -126,13 +126,13 @@
|
|||
}
|
||||
},
|
||||
"deleteFromPlaylist": {
|
||||
name: app.getLz('action.removeFromLibrary'),
|
||||
name: this.$root.getLz('action.removeFromLibrary'),
|
||||
action: () => {
|
||||
this.$root.deletePlaylist(playlist_id)
|
||||
}
|
||||
},
|
||||
"addToFavorites": {
|
||||
name: app.getLz('action.addToFavorites'),
|
||||
name: this.$root.getLz('action.addToFavorites'),
|
||||
disabled: true,
|
||||
hidden: true,
|
||||
action: () => {
|
||||
|
|
|
@ -96,7 +96,7 @@
|
|||
style="display: inline-block"></div>
|
||||
</div>
|
||||
<!-- :class="[isElementOverflowing('#app-main > div.app-chrome > div.app-chrome--center > div > div > div.playback-info > div.song-artist') ? 'marquee' : '']" -->
|
||||
<div class="song-artist"
|
||||
<div class="song-artist-album"
|
||||
style="display: inline-block; -webkit-box-orient: horizontal; white-space: nowrap;">
|
||||
<div class="item-navigate song-artist" style="display: inline-block"
|
||||
@click="getNowPlayingItemDetailed(`artist`)">
|
||||
|
@ -188,7 +188,7 @@
|
|||
@focus="search.showHints = true"
|
||||
@blur="setTimeout(()=>{search.showHints = false}, 300)"
|
||||
v-on:keyup.enter="searchQuery();search.showHints = false" @change="showSearch();"
|
||||
@input="getSearchHints()" placeholder="Search..." v-model="search.term"
|
||||
@input="getSearchHints()" :placeholder="$root.getLz('term.search') + '...'" v-model="search.term"
|
||||
ref="searchInput" class="search-input">
|
||||
</div>
|
||||
</div>
|
||||
|
@ -247,7 +247,7 @@
|
|||
<button class="usermenu-item" @click="toggleHideUserInfo()">
|
||||
<div class="row nopadding">
|
||||
<div class="col nopadding">
|
||||
Show Personal Info
|
||||
{{$root.getLz('settings.option.visual.showPersonalInfo')}}
|
||||
</div>
|
||||
<div class="col-auto nopadding" v-if="!chrome.hideUserInfo">
|
||||
✔️
|
||||
|
@ -257,7 +257,7 @@
|
|||
<button class="usermenu-item" @click="mk.privateEnabled = !mk.privateEnabled">
|
||||
<div class="row nopadding">
|
||||
<div class="col nopadding">
|
||||
Private Session
|
||||
{{$root.getLz('term.privateSession')}}
|
||||
</div>
|
||||
<div class="col-auto nopadding" v-if="mk.privateEnabled">
|
||||
✔️
|
||||
|
@ -266,22 +266,22 @@
|
|||
</button>
|
||||
<button class="usermenu-item" v-if="cfg.advanced.AudioContext && cfg.audio.spatial"
|
||||
@click="modals.spatialProperties = true">
|
||||
Spatialized Audio Settings
|
||||
{{$root.getLz('term.spacializedAudioSetting')}}
|
||||
</button>
|
||||
<button class="usermenu-item" @click="appRoute('apple-account-settings')">
|
||||
Account Settings
|
||||
{{$root.getLz('term.accountSettings')}}
|
||||
</button>
|
||||
<button class="usermenu-item" @click="appRoute('about')">
|
||||
About
|
||||
{{$root.getLz('term.about')}}
|
||||
</button>
|
||||
<button class="usermenu-item" @click="window.open('https://discord.gg/applemusic')">
|
||||
Discord
|
||||
{{$root.getLz('term.discord')}}
|
||||
</button>
|
||||
<button class="usermenu-item" @click="appRoute('settings')">
|
||||
Settings
|
||||
{{$root.getLz('term.settings')}}
|
||||
</button>
|
||||
<button class="usermenu-item" @click="unauthorize()">
|
||||
Sign Out
|
||||
{{$root.getLz('term.logout')}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -466,7 +466,7 @@
|
|||
<div><input type="text" v-model="quickPlayQuery">
|
||||
<button @click="quickPlay(quickPlayQuery)">Play</button>
|
||||
</div>
|
||||
<h1 class="header-text">Browse</h1>
|
||||
<h1 class="header-text">{{$root.getLz('term.browse')}}</h1>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed euismod, urna eu
|
||||
tincidunt
|
||||
|
@ -485,7 +485,7 @@
|
|||
</div>
|
||||
<br>
|
||||
<br>
|
||||
<h1 class="header-text">Listen Now</h1>
|
||||
<h1 class="header-text">{{$root.getLz('term.listenNow')}}</h1>
|
||||
<div class="winbox">
|
||||
<div class="fancy">990kbps</div>
|
||||
<div class="">
|
||||
|
@ -509,8 +509,8 @@
|
|||
<transition v-on:enter="getRadioStations()" name="wpfade">
|
||||
<template v-if="page == 'radio'" @created="console.log('radio')">
|
||||
<div class="content-inner">
|
||||
<h1 class="header-text">Radio</h1>
|
||||
<h3>Recent Stations</h3>
|
||||
<h1 class="header-text">{{$root.getLz('term.radio')}}</h1>
|
||||
<h3>{{$root.getLz('term.recentStations')}}</h3>
|
||||
<mediaitem-square :item="item" v-for="item in radio.personal"></mediaitem-square>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
@ -72,23 +72,18 @@
|
|||
<div class="col" style="padding:0;">
|
||||
<h3>{{app.getLz('term.topSongs')}}</h3>
|
||||
</div>
|
||||
<div class="col-auto flex-center" v-if="data.views['top-songs'].data.length >= 10" style="padding:0;">
|
||||
<div class="col-auto flex-center" v-if="data.views['top-songs'].data.length >= 16" style="padding:0;">
|
||||
<button class="cd-btn-seeall" @click="app.showArtistView(data.id, data.attributes.name + ' - Top Songs', 'top-songs')">{{app.getLz('term.seeAll')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mediaitem-list-item__grid">
|
||||
<div class="grid-body">
|
||||
<mediaitem-list-item
|
||||
v-for="(song, index) in data.views['top-songs'].data.limit(topSongsExpanded ? 10 : 5)"
|
||||
v-for="(song, index) in data.views['top-songs'].data.limit(16)"
|
||||
:index="index"
|
||||
:item="song"></mediaitem-list-item>
|
||||
<button class="showmoreless"
|
||||
@click="topSongsExpanded = !topSongsExpanded">
|
||||
<template v-if="!topSongsExpanded">
|
||||
{{app.getLz('term.showMore')}}
|
||||
</template>
|
||||
<template v-else>
|
||||
{{app.getLz('term.showLess')}}
|
||||
</template>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
<div v-else-if="data.attributes.description.standard" class="content" v-html="data.attributes.description.standard"></div>
|
||||
<button v-if="data.attributes.description.short" class="more-btn"
|
||||
@click="editorialNotesExpanded = !editorialNotesExpanded">
|
||||
{{app.getLz('term.more')}}
|
||||
{{app.getLz('term.showMore')}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -57,7 +57,7 @@
|
|||
<div class="playlist-desc-expanded">
|
||||
<div class="content"
|
||||
v-html="((data.attributes.editorialNotes) ? (data.attributes.editorialNotes.standard ?? (data.attributes.editorialNotes.short ?? '') ) : (data.attributes.description ? (data.attributes.description.standard ?? (data.attributes.description.short ?? '')) : ''))"></div>
|
||||
<button class="more-btn" @click="editorialNotesExpanded = !editorialNotesExpanded">{{app.getLz('term.less')}}
|
||||
<button class="more-btn" @click="editorialNotesExpanded = !editorialNotesExpanded">{{app.getLz('term.showLess')}}
|
||||
</button>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -388,7 +388,7 @@
|
|||
app.showMenuPanel({
|
||||
items: {
|
||||
"share": {
|
||||
name: "Share",
|
||||
name: app.getLz('term.share'),
|
||||
icon: "./assets/feather/share.svg",
|
||||
action: () => {
|
||||
let route = ""
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
</template>
|
||||
</template>
|
||||
<button v-if="triggerEnabled" style="opacity:0;height: 32px;"
|
||||
v-observe-visibility="{callback: visibilityChanged}">{{app.getLz('term.showMore')}}
|
||||
v-observe-visibility="{callback: visibilityChanged}">{{this.app.getLz('term.showMore')}}
|
||||
</button>
|
||||
</div>
|
||||
<transition name="fabfade">
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<div v-if="page == 'main'">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h3>Recently Played</h3>
|
||||
<h3>{{app.getLz('home.recentlyPlayed')}}</h3>
|
||||
<div class="well artistfeed-well">
|
||||
<template v-if="isSectionReady('recentlyPlayed')">
|
||||
<mediaitem-list-item v-for="item in recentlyPlayed.limit(6)"
|
||||
|
@ -15,7 +15,7 @@
|
|||
<div class="col">
|
||||
<div class="row nopadding">
|
||||
<div class="col nopadding">
|
||||
<h3>Your Artists Feed</h3>
|
||||
<h3>{{app.getLz('home.artistsFeed')}}</h3>
|
||||
</div>
|
||||
<div class="col-auto nopadding flex-center">
|
||||
<button class="cd-btn-seeall" @click="app.appRoute('artist-feed')">{{app.getLz('term.seeAll')}}</button>
|
||||
|
@ -26,7 +26,7 @@
|
|||
<mediaitem-list-item v-for="item in artistFeed.limit(6)" :item="item"></mediaitem-list-item>
|
||||
</template>
|
||||
<div class="spinner" v-else-if="followedArtists.length > 0"></div>
|
||||
<div class="no-artist" v-else> Follow some artists first and their latest releases will be here</div>
|
||||
<div class="no-artist" v-else> {{app.getLz('home.artistsFeed.noArtist')}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -44,7 +44,7 @@
|
|||
<!-- </div>-->
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h3>Made For You</h3>
|
||||
<h3>{{app.getLz('home.madeForYou')}}</h3>
|
||||
<div class="well">
|
||||
<template v-if="isSectionReady('madeForYou')">
|
||||
<mediaitem-square kind="small" v-for="item in madeForYou" :item="item"></mediaitem-square>
|
||||
|
@ -57,7 +57,7 @@
|
|||
<div class="col">
|
||||
<div class="row">
|
||||
<div class="col nopadding">
|
||||
<h3>Friends Listening To</h3>
|
||||
<h3>{{app.getLz('home.friendsListeningTo')}}</h3>
|
||||
</div>
|
||||
<div class="col-auto nopadding flex-center">
|
||||
<button class="cd-btn-seeall" @click="app.showSocialListeningTo()">{{app.getLz('term.seeAll')}}</button>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<input type="search"
|
||||
style="width:100%;"
|
||||
spellcheck="false"
|
||||
placeholder="Search..."
|
||||
:placeholder="$root.getLz('term.search') + '...'"
|
||||
@change="searchPodcasts();librarySearch()"
|
||||
v-model="search.term" class="search-input">
|
||||
</div>
|
||||
|
@ -59,8 +59,8 @@
|
|||
<h3>Episodes</h3>
|
||||
</div>
|
||||
<div v-if="this.search.results.length == 0 && podcastSelected.id == -1" class="podcast-no-search-results">
|
||||
<h3>No Results</h3>
|
||||
<p>Try a new search.</p>
|
||||
<h3>{{$root.getLz('error.noResults')}}</h3>
|
||||
<p>{{$root.getLz('error.noResults.description')}}</p>
|
||||
</div>
|
||||
<podcast-episode :isselected="selected.id == episode.id" @dblclick.native="playEpisode(episode)" @click.native="selectEpisode(episode)" :item="episode"
|
||||
v-for="episode in episodes"></podcast-episode>
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
</template>
|
||||
</div>
|
||||
<div v-else style="text-align: center">
|
||||
<h3>No Results</h3>
|
||||
<p>Try a new search.</p>
|
||||
<h3>{{app.getLz('error.noResults')}}</h3>
|
||||
<p>{{app.getLz('error.noResults.description')}}</p>
|
||||
</div>
|
||||
<div class="col" v-if="search.results.song">
|
||||
<div class="row">
|
||||
|
@ -19,13 +19,15 @@
|
|||
</div>
|
||||
<div class="col-auto flex-center"
|
||||
@click="app.showSearchView(app.search.term, 'song', app.friendlyTypes('song'))"
|
||||
v-if="search.results.song.data.length >= 6">
|
||||
v-if="search.results.song.data.length >= 12">
|
||||
<button class="cd-btn-seeall">{{app.getLz('term.seeAll')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="mediaitem-list-item__grid">
|
||||
<div class="grid-body">
|
||||
<mediaitem-list-item :item="item" :index="index"
|
||||
v-for="(item, index) in search.results.song.data.limit(6)"></mediaitem-list-item>
|
||||
v-for="(item, index) in search.results.song.data.limit(12)"></mediaitem-list-item>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -106,24 +108,25 @@
|
|||
data: function () {
|
||||
return {
|
||||
app: this.$root,
|
||||
categoriesView : [],
|
||||
categoriesReady : false,
|
||||
categoriesView: [],
|
||||
categoriesReady: false,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getTopResult() {
|
||||
try {
|
||||
return this.search.results[this.search.results.meta.results.order[0]]["data"][0]
|
||||
} catch( error ) {
|
||||
} catch (error) {
|
||||
return false
|
||||
}
|
||||
},
|
||||
async getCategories() {
|
||||
if(this.categoriesView != [] && this.categoriesView.length > 0) {this.categoriesReady = true; return await true;} else {
|
||||
if (this.categoriesView != [] && this.categoriesView.length > 0) { this.categoriesReady = true; return await true; } else {
|
||||
let response = await this.app.mk.api.v3.music(`/v1/recommendations/${this.app.mk.storefrontId}?timezone=${encodeURIComponent(this.app.formatTimezoneOffset())}&name=search-landing&platform=web&extend=editorialArtwork&art%5Burl%5D=f%2Cc&types=editorial-items%2Capple-curators%2Cactivities`);
|
||||
this.categoriesView = response.data.data;
|
||||
this.categoriesReady = true;
|
||||
return await true;}
|
||||
return await true;
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
|
@ -2,25 +2,25 @@
|
|||
<div class="content-inner settings-page">
|
||||
<div class="md-option-container">
|
||||
<div class="md-option-header">
|
||||
<span>Audio</span>
|
||||
<span>{{$root.getLz('settings.header.audio')}}</span>
|
||||
</div>
|
||||
<div class="settings-option-body">
|
||||
<div class="md-option-line">
|
||||
<div class="md-option-segment">
|
||||
Audio Quality
|
||||
{{$root.getLz('settings.option.audio.quality')}}
|
||||
</div>
|
||||
<div class="md-option-segment md-option-segment_auto">
|
||||
<select class="md-select" style="width:180px;" v-model="app.cfg.audio.quality" v-on:change="changeAudioQuality">
|
||||
<!-- // <option value="990">Extreme</option> -->
|
||||
<option value="256">High</option>
|
||||
<option value="64">Low</option>
|
||||
<option value="auto">Auto</option>
|
||||
<option value="256">{{$root.getLz('settings.header.audio.quality.high')}}</option>
|
||||
<option value="64">{{$root.getLz('settings.header.audio.quality.low')}}</option>
|
||||
<option value="auto">{{$root.getLz('settings.header.audio.quality.auto')}}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-option-line">
|
||||
<div class="md-option-segment">
|
||||
Seamless Audio Transitions
|
||||
{{$root.getLz('settings.option.audio.seamlessTransition')}}
|
||||
</div>
|
||||
<div class="md-option-segment md-option-segment_auto">
|
||||
<input type="checkbox" v-model="app.cfg.audio.seamless_audio" switch/>
|
||||
|
@ -28,9 +28,9 @@
|
|||
</div>
|
||||
<div class="md-option-line">
|
||||
<div class="md-option-segment">
|
||||
Enable Advanced Functionality
|
||||
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality')}}
|
||||
<br>
|
||||
<small>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.</small>
|
||||
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.description')}}</small>
|
||||
</div>
|
||||
<div class="md-option-segment md-option-segment_auto">
|
||||
<input type="checkbox" v-model="app.cfg.advanced.AudioContext" v-on:change="toggleAudioContext" switch/>
|
||||
|
@ -38,7 +38,9 @@
|
|||
</div>
|
||||
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext">
|
||||
<div class="md-option-segment" >
|
||||
Audio Normalization
|
||||
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.audioNormalization')}}
|
||||
<br>
|
||||
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.audioNormalization.description')}}</small>
|
||||
</div>
|
||||
<div class="md-option-segment md-option-segment_auto">
|
||||
<input type="checkbox" v-model="app.cfg.audio.normalization" v-on:change="toggleNormalization" switch/>
|
||||
|
@ -46,9 +48,9 @@
|
|||
</div>
|
||||
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext">
|
||||
<div class="md-option-segment" >
|
||||
Audio Spatialization
|
||||
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.audioSpatialization')}}
|
||||
<br>
|
||||
<small>Spatialize audio and make audio more 3-dimensional (note: This is not Dolby Atmos)</small>
|
||||
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description')}}</small>
|
||||
</div>
|
||||
<div class="md-option-segment md-option-segment_auto">
|
||||
<input type="checkbox" v-model="app.cfg.audio.spatial" v-on:change="toggleSpatial" switch/>
|
||||
|
@ -56,49 +58,49 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="md-option-header">
|
||||
<span>Visual</span>
|
||||
<span>{{$root.getLz('settings.header.visual')}}</span>
|
||||
</div>
|
||||
<div class="settings-option-body">
|
||||
<div class="md-option-line">
|
||||
<div class="md-option-segment">
|
||||
Window Background Style
|
||||
{{$root.getLz('settings.option.visual.windowBackgroundStyle')}}
|
||||
</div>
|
||||
<div class="md-option-segment md-option-segment_auto">
|
||||
<select class="md-select" @change="$root.getNowPlayingArtworkBG(undefined, true)" v-model="app.cfg.visual.window_background_style">
|
||||
<option value="none">None</option>
|
||||
<option value="artwork">Artwork</option>
|
||||
<option value="none">{{$root.getLz('settings.header.visual.windowBackgroundStyle.none')}}</option>
|
||||
<option value="artwork">{{$root.getLz('settings.header.visual.windowBackgroundStyle.artwork')}}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-option-line">
|
||||
<div class="md-option-segment">
|
||||
Animated Artwork
|
||||
{{$root.getLz('settings.option.visual.animatedArtwork')}}
|
||||
</div>
|
||||
<div class="md-option-segment md-option-segment_auto">
|
||||
<select class="md-select" v-model="app.cfg.visual.animated_artwork">
|
||||
<option value="always">Always</option>
|
||||
<option value="limited">Limit to pages and special entries</option>
|
||||
<option value="disabled">Disable Everywhere</option>
|
||||
<option value="always">{{$root.getLz('settings.header.visual.animatedArtwork.always')}}</option>
|
||||
<option value="limited">{{$root.getLz('settings.header.visual.animatedArtwork.limited')}}</option>
|
||||
<option value="disabled">{{$root.getLz('settings.header.visual.animatedArtwork.disable')}}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-option-line" v-if="app.cfg.visual.animated_artwork == 'always' || app.cfg.visual.animated_artwork == 'limited'">
|
||||
<div class="md-option-segment">
|
||||
Animated Artwork Quality
|
||||
{{$root.getLz('settings.option.visual.animatedArtworkQuality')}}
|
||||
</div>
|
||||
<div class="md-option-segment md-option-segment_auto">
|
||||
<select class="md-select" v-model="app.cfg.visual.animated_artwork_qualityLevel">
|
||||
<option value="0">Low</option>
|
||||
<option value="1">Medium</option>
|
||||
<option value="2">High</option>
|
||||
<option value="3">Very High</option>
|
||||
<option value="4">Extreme</option>
|
||||
<option value="0">{{$root.getLz('settings.header.visual.animatedArtworkQuality.low')}}</option>
|
||||
<option value="1">{{$root.getLz('settings.header.visual.animatedArtworkQuality.medium')}}</option>
|
||||
<option value="2">{{$root.getLz('settings.header.visual.animatedArtworkQuality.high')}}</option>
|
||||
<option value="3">{{$root.getLz('settings.header.visual.animatedArtworkQuality.veryHigh')}}</option>
|
||||
<option value="4">{{$root.getLz('settings.header.visual.animatedArtworkQuality.extreme')}}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-option-line">
|
||||
<div class="md-option-segment">
|
||||
Animated Window Background
|
||||
{{$root.getLz('settings.option.visual.animatedWindowBackground')}}
|
||||
</div>
|
||||
<div class="md-option-segment md-option-segment_auto">
|
||||
<input type="checkbox" switch v-model="app.cfg.visual.bg_artwork_rotation"/>
|
||||
|
@ -106,20 +108,20 @@
|
|||
</div>
|
||||
<div class="md-option-line">
|
||||
<div class="md-option-segment">
|
||||
Hardware Acceleration<br>
|
||||
<small>(Requires relaunch)</small>
|
||||
{{$root.getLz('settings.option.visual.hardwareAcceleration')}}<br>
|
||||
<small>({{$root.getLz('settings.option.visual.hardwareAcceleration.description')}})</small>
|
||||
</div>
|
||||
<div class="md-option-segment md-option-segment_auto">
|
||||
<select class="md-select" style="width:180px;" v-model="app.cfg.visual.hw_acceleration" >
|
||||
<option value="default">Default</option>
|
||||
<option value="webgpu">WebGPU</option>
|
||||
<option value="disabled">Disabled</option>
|
||||
<option value="default">{{$root.getLz('settings.header.visual.hardwareAcceleration.default')}}</option>
|
||||
<option value="webgpu">{{$root.getLz('settings.header.visual.hardwareAcceleration.webGPU')}}</option>
|
||||
<option value="disabled">{{$root.getLz('term.disabled')}}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-option-line">
|
||||
<div class="md-option-segment">
|
||||
Show Personal Info
|
||||
{{$root.getLz('settings.option.visual.showPersonalInfo')}}
|
||||
</div>
|
||||
<div class="md-option-segment md-option-segment_auto">
|
||||
<input type="checkbox" v-model="app.cfg.visual.showuserinfo" v-on:change="toggleUserInfo" switch/>
|
||||
|
@ -128,12 +130,12 @@
|
|||
</div>
|
||||
|
||||
<div class="md-option-header">
|
||||
<span>Lyrics</span>
|
||||
<span>{{$root.getLz('settings.header.lyrics')}}</span>
|
||||
</div>
|
||||
<div class="settings-option-body">
|
||||
<div class="md-option-line">
|
||||
<div class="md-option-segment">
|
||||
Enable Musixmatch Lyrics
|
||||
{{$root.getLz('settings.option.lyrics.enableMusixmatch')}}
|
||||
</div>
|
||||
<div class="md-option-segment md-option-segment_auto">
|
||||
<input type="checkbox" v-model="app.cfg.lyrics.enable_mxm" switch/>
|
||||
|
@ -141,7 +143,7 @@
|
|||
</div>
|
||||
<div class="md-option-line" v-if="app.cfg.lyrics.enable_mxm">
|
||||
<div class="md-option-segment">
|
||||
Enable Karaoke Mode (Musixmatch only)
|
||||
{{$root.getLz('settings.option.lyrics.enableMusixmatchKaraoke')}}
|
||||
</div>
|
||||
<div class="md-option-segment md-option-segment_auto">
|
||||
<input type="checkbox" v-model="app.cfg.lyrics.mxm_karaoke" switch/>
|
||||
|
@ -149,7 +151,7 @@
|
|||
</div>
|
||||
<div class="md-option-line">
|
||||
<div class="md-option-segment">
|
||||
Musixmatch Translation Preferred Language
|
||||
{{$root.getLz('settings.option.lyrics.musixmatchPreferredLanguage')}}
|
||||
</div>
|
||||
<div class="md-option-segment md-option-segment_auto">
|
||||
<select class="md-select" v-model="app.cfg.lyrics.mxm_language">
|
||||
|
@ -424,7 +426,7 @@
|
|||
</div>
|
||||
<div class="md-option-line">
|
||||
<div class="md-option-segment">
|
||||
Enable Youtube Lyrics for Music Videos
|
||||
{{$root.getLz('settings.option.lyrics.enableYoutubeLyrics')}}
|
||||
</div>
|
||||
<div class="md-option-segment md-option-segment_auto">
|
||||
<input type="checkbox" v-model="app.cfg.lyrics.enable_yt" switch/>
|
||||
|
@ -432,40 +434,40 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="md-option-header">
|
||||
<span>Connectivity</span>
|
||||
<span>{{$root.getLz('settings.header.connectivity')}}</span>
|
||||
</div>
|
||||
<div class="settings-option-body">
|
||||
|
||||
<div class="md-option-line">
|
||||
<div class="md-option-segment">
|
||||
Discord Rich Presence
|
||||
{{$root.getLz('settings.option.connectivity.discordRPC')}}
|
||||
</div>
|
||||
<div class="md-option-segment md-option-segment_auto">
|
||||
<select class="md-select" v-model="app.cfg.general.discord_rpc">
|
||||
<option value="0">Disabled</option>
|
||||
<option value="1">Display as 'Cider'</option>
|
||||
<option value="2">Display as 'Apple Music'</option>
|
||||
<option value="0">{{$root.getLz('term.disabled')}}</option>
|
||||
<option value="1">{{$root.getLz('settings.header.connectivity.discordRPC.cider')}}</option>
|
||||
<option value="2">{{$root.getLz('settings.header.connectivity.discordRPC.appleMusic')}}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-option-line" v-show="app.cfg.general.discord_rpc != 0">
|
||||
<div class="md-option-segment">
|
||||
Clear Discord RPC on Pause
|
||||
{{$root.getLz('settings.option.connectivity.discordRPC.clearOnPause')}}
|
||||
</div>
|
||||
<div class="md-option-segment md-option-segment_auto">
|
||||
<select class="md-select" v-model="app.cfg.general.discordClearActivityOnPause">
|
||||
<option value="0">Disabled</option>
|
||||
<option value="1">Enabled</option>
|
||||
<option value="0">{{$root.getLz('term.disabled')}}</option>
|
||||
<option value="1">{{$root.getLz('term.enabled')}}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-option-line">
|
||||
<div class="md-option-segment">
|
||||
LastFM Scrobbling
|
||||
{{$root.getLz('settings.option.connectivity.lastfmScrobble')}}
|
||||
</div>
|
||||
<div class="md-option-segment md-btn md-option-segment_auto">
|
||||
<label class="list-button list-element" id="lfmConnect" ref="lfmConnect"
|
||||
onclick="app.LastFMAuthenticate()">Connect</label>
|
||||
onclick="app.LastFMAuthenticate()">{{$root.getLz('term.connect')}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-option-line" v-show ="app.cfg.lastfm.enabled">
|
||||
|
@ -494,24 +496,24 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="md-option-header">
|
||||
<span>Experimental</span>
|
||||
<span>{{$root.getLz('settings.header.experimental')}}</span>
|
||||
</div>
|
||||
<div class="settings-option-body">
|
||||
|
||||
<div class="md-option-line">
|
||||
<div class="md-option-segment">
|
||||
Compact UI
|
||||
{{$root.getLz('settings.option.experimental.compactUI')}}
|
||||
</div>
|
||||
<div class="md-option-segment md-option-segment_auto" >
|
||||
<button class="md-btn" :class="{'md-btn-primary': app.cfg.advanced.experiments.includes('compactui')}" @click="app.cfg.advanced.experiments.includes('compactui') ? removeExperiment('compactui') : addExperiment('compactui')">
|
||||
{{app.cfg.advanced.experiments.includes('compactui') ? 'Enabled' : 'Disabled'}}
|
||||
{{app.cfg.advanced.experiments.includes('compactui') ? $root.getLz('term.enabled') : $root.getLz('term.disabled')}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="md-option-line">
|
||||
<div class="md-option-segment">
|
||||
Language
|
||||
{{$root.getLz('term.language')}}
|
||||
</div>
|
||||
<div class="md-option-segment md-option-segment_auto">
|
||||
<select class="md-select" @change="$root.setLz('')" v-model="app.cfg.general.language">
|
||||
|
@ -527,7 +529,7 @@
|
|||
</div>
|
||||
<div style="opacity: 0.5; pointer-events: none">
|
||||
<div class="md-option-header">
|
||||
<span>Unfinished / Non Functional</span>
|
||||
<span>{{$root.getLz('settings.header.unfinished')}}</span>
|
||||
</div>
|
||||
<div class="settings-option-body">
|
||||
<div class="md-option-line">
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue