Merge pull request #353 from ibmibmibm/develop

add zh_TW translate
master
Andrew DeMaria 7 years ago committed by GitHub
commit b95c077c6f
  1. 406
      libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_zh_TW.properties

@ -13,7 +13,7 @@ common.play = \u64AD\u653E
common.add = \u65B0\u589E
common.download = \u4E0B\u8F09
common.close = \u95DC\u9589
common.refresh = \u91CD\u65B0\u6574\u7406
common.refresh = \u91CD\u65B0\u8F09\u5165
common.next = \u4E0B\u4E00\u9801
common.previous = \u4E0A\u4E00\u9801
common.more = \u66F4\u591A
@ -35,19 +35,19 @@ login.login = \u767B\u5165
login.remember = \u8A18\u5F97\u6211
login.logout = \u60A8\u5DF2\u7D93\u767B\u51FA\u3002
login.error = \u5E33\u865F\u6216\u662F\u5BC6\u78BC\u932F\u8AA4\u3002
login.insecure = {0} \u672A\u53D7\u4FDD\u8B77\u3002\u8ACB\u5148\u4EE5\u4F7F\u7528\u8005\u53CA\u5BC6\u78BC "admin"\u767B\u5165\uFF0C\u6216\u9EDE\u9078 <a href="login.view?user=admin&amp;password=admin">\u9019\u88E1</a>\uFF0C\u4E26\u4E14\u7ACB\u523B\u8B8A\u66F4\u60A8\u7684\u5BC6\u78BC\u3002
login.insecure = {0} \u4E26\u4E0D\u5B89\u5168\u3002\u8ACB\u5148\u4EE5\u5E33\u865F\u8207\u5BC6\u78BC\u300Cadmin\u300D\u767B\u5165\uFF0C\u4E26\u4E14\u7ACB\u523B\u66F4\u6539\u5BC6\u78BC\u3002
login.recover = \u5FD8\u8A18\u5BC6\u78BC\uFF1F
# recover.jsp
recover.title = \u5FD8\u8A18\u5BC6\u78BC\uFF1F
recover.text = \u8981\u91CD\u8A2D\u5BC6\u78BC\uFF0C\u8ACB\u5728\u4E0B\u65B9\u8F38\u5165\u60A8\u7684<b>\u5E33\u865F</b>\u6216\u662F<b>Email\u4F4D\u5740</b>\u3002
recover.username = \u5E33\u865F\u6216Email\u4F4D\u5740
recover.username = \u5E33\u865F\u6216\u96FB\u5B50\u90F5\u4EF6\u4F4D\u5740
recover.send = \u91CD\u8A2D\u5BC6\u78BC\u4E26\u5BC4\u7D66\u6211
recover.success = \u60A8\u7684\u5BC6\u78BC\u5DF2\u91CD\u8A2D\u4E26\u5BC4\u5230\u4E86 {0} \u3002
recover.error.usernotfound = \u62B1\u6B49\uFF0C\u672A\u627E\u5230\u4F7F\u7528\u8005\u3002
recover.error.noemail = \u62B1\u6B49\uFF0C\u8A72\u4F7F\u7528\u8005\u672A\u8A3B\u518A\u4FE1\u7BB1\u3002
recover.error.sendfailed = Email\u5BC4\u9001\u5931\u6557\uFF0C\u8ACB\u7A0D\u5F8C\u518D\u8A66\u3002
recover.error.invalidcaptcha = \u62B1\u6B49\uFF0C\u8F38\u5165\u7684CAPTCHA\u6587\u5B57\u6709\u8AA4\uFF0C\u8ACB\u518D\u8A66\u4E00\u6B21\u3002
recover.error.noemail = \u62B1\u6B49\uFF0C\u8A72\u4F7F\u7528\u8005\u672A\u8A3B\u518A\u96FB\u5B50\u90F5\u4EF6\u3002
recover.error.sendfailed = \u96FB\u5B50\u90F5\u4EF6\u5BC4\u9001\u5931\u6557\uFF0C\u8ACB\u7A0D\u5F8C\u518D\u8A66\u3002
recover.error.invalidcaptcha = \u62B1\u6B49\uFF0C\u8F38\u5165\u7684 CAPTCHA \u6587\u5B57\u6709\u8AA4\uFF0C\u8ACB\u518D\u8A66\u4E00\u6B21\u3002
# accessDenied.jsp
accessDenied.title = \u62D2\u7D55\u5B58\u53D6
@ -55,15 +55,15 @@ accessDenied.text = \u62B1\u6B49\uFF0C\u60A8\u7121\u6B0A\u57F7\u884C\u6240\u8ACB
# notFound.jsp
notFound.title = \u627E\u4E0D\u5230
notFound.text = <p>Sorry, we could not find what you were looking for.</p><p>Try reloading the web page. If that doesn't help, \
try scanning the media folders again.</p>
notFound.reload = \u91CD\u65B0\u6574\u7406\u9801\u9762
notFound.scan = Media folders settings
notFound.text = <p>\u62B1\u6B49\uFF0C\u6211\u5011\u627E\u4E0D\u5230\u60A8\u60F3\u8981\u7684\u6771\u897F\u3002</p><p>\u8ACB\u91CD\u65B0\u8F09\u5165\u7DB2\u9801\u3002\
\u5982\u679C\u6C92\u6709\u6539\u5584\uFF0C\u8ACB\u91CD\u65B0\u6383\u63CF\u5A92\u9AD4\u8CC7\u6599\u593E\u3002</p>
notFound.reload = \u91CD\u65B0\u8F09\u5165\u9801\u9762
notFound.scan = \u5A92\u9AD4\u8CC7\u6599\u593E\u8A2D\u5B9A
# top.jsp
top.home = \u9996\u9801
top.now_playing = \u64AD\u653E
top.starred = Starred
top.starred = \u661F\u865F\u6A19\u8A18
top.settings = \u8A2D\u5B9A
top.status = \u72C0\u614B
top.podcast = \u64AD\u5BA2
@ -73,11 +73,11 @@ top.search = \u641C\u5C0B
top.upgrade = \u6709\u65B0\u7248\u672C\u63D0\u4F9B. \u4E0B\u8F09 {0} {1} \
<a href\="\#" onclick\="window.open(''http\://libresonic.org/'')">\u9019\u88E1</a>\u3002
top.missing = \u627E\u4E0D\u5230\u97F3\u6A02\u8CC7\u6599\u593E\uFF0C\u8ACB\u91CD\u65B0\u8A2D\u5B9A\u3002
top.logout =\u767B\u51FA{0}
top.logout =\u767B\u51FA {0}
# left.jsp
left.scanning = \u6383\u63CF\u97F3\u6A02\u8CC7\u6599\u593E\u4E2D\u2026
left.statistics = {0}&nbsp;\u4F4D\u6B4C\u624B<br>\
left.statistics = {0}&nbsp;\u4F4D\u4F5C\u8005<br>\
{1}&nbsp;\u5F35\u5C08\u8F2F<br>\
{2}&nbsp;\u9996\u6B4C\u66F2<br>\
{3}<br>\
@ -93,22 +93,23 @@ left.importplaylist = \u532F\u5165\u64AD\u653E\u6E05\u55AE
# playQueue.jsp
playlist.stop = \u505C\u6B62
playlist.start = \u64AD\u653E
playlist.confirmclear = \u78BA\u5B9A\u522A\u9664\u64AD\u653E\u6E05\u55AE?
playlist.confirmclear = \u78BA\u5B9A\u522A\u9664\u64AD\u653E\u6E05\u55AE\uFF1F
playlist.clear = \u6E05\u9664
playlist.shuffle = \u96A8\u8208\u64AD\u653E
playlist.shuffle = \u96A8\u6A5F\u64AD\u653E
playlist.repeat_on = \u91CD\u64AD
playlist.repeat_off = \u4E0D\u91CD\u64AD
playlist.repeat_radio = \u505C\u6B62\u96A8\u6A5F\u64AD\u653E\u4E32\u6D41
playlist.undo = \u53D6\u6D88
playlist.settings = \u8A2D\u5B9A
playlist.more = \u5176\u4ED6\u2026
playlist.more.playlist = \u64AD\u653E\u6E05\u55AE
playlist.more.sortbytrack = \u97F3\u8ECC\u6392\u5E8F
playlist.more.sortbyartist = \u6B4C\u624B\u6392\u5E8F
playlist.more.sortbyartist = \u4F5C\u8005\u6392\u5E8F
playlist.more.sortbyalbum = \u5C08\u8F2F\u6392\u5E8F
playlist.more.selection = \u9078\u6B4C
playlist.more.selectall = \u5168\u9078
playlist.more.selectnone = \u5168\u4E0D\u9078
playlist.getflash = \u53D6\u5F97Flash\u64A5\u653E\u5668
playlist.getflash = \u53D6\u5F97Flash\u64AD\u653E\u5668
playlist.saveplayqueue = \u5132\u5B58\u64AD\u653E\u4F47\u5217
playlist.loadplayqueue = \u8F09\u5165\u64AD\u653E\u4F47\u5217
playlist.save = \u5132\u5B58
@ -136,13 +137,13 @@ playlist2.empty = \u64AD\u653E\u6E05\u55AE\u70BA\u7A7A
playlist2.export = \u532F\u51FA
# importPlaylist.jsp
importPlaylist.title = Import playlist
importPlaylist.text = Select playlist to import (m3u, pls, xspf)
importPlaylist.success = Successfully imported playlist "{0}".
importPlaylist.error = Failed to import playlist. {0}
importPlaylist.title = \u532F\u5165\u64AD\u653E\u6E05\u55AE
importPlaylist.text = \u9078\u64C7\u8981\u532F\u5165\u7684\u64AD\u653E\u6E05\u55AE (m3u\uFF0Cpls\uFF0Cxspf)
importPlaylist.success = \u5DF2\u6210\u529F\u532F\u5165\u64AD\u653E\u6E05\u55AE\u300C{0}\u300D\u3002
importPlaylist.error = \u64AD\u653E\u6E05\u55AE\u532F\u5165\u5931\u6557\u3002{0}
# videoPlayer.jsp
videoPlayer.getflash = Please install Flash Player
videoPlayer.getflash = \u8ACB\u5B89\u88DD Flash Player
# status.jsp
status.title = \u72C0\u614B
@ -150,11 +151,11 @@ status.type = \u5F62\u5F0F
status.stream = \u4E32\u6D41
status.download = \u4E0B\u8F09
status.upload = \u4E0A\u50B3
status.player = \u64A5\u653E\u5668
status.player = \u64AD\u653E\u5668
status.user = \u4F7F\u7528\u8005
status.current = \u76EE\u524D\u64AD\u653E
status.transmitted = \u50B3\u8F38
status.bitrate = Bitrate (Kbps)
status.bitrate = \u4F4D\u5143\u7387 (Kbps)
# starred.jsp
starred.title = My starred items
@ -162,12 +163,12 @@ starred.empty = Click the star icons to mark your favorite artist, albums and so
# search.jsp
search.title = \u641C\u5C0B
search.query = \u6B4C\u624B\u3001\u5C08\u8F2F\u6216\u6B4C\u66F2\u6A19\u984C\u3002
search.query = \u4F5C\u8005\u3001\u5C08\u8F2F\u6216\u6B4C\u66F2\u6A19\u984C\u3002
search.search = \u641C\u5C0B
search.index = \u6B63\u5728\u5EFA\u7ACB\u7D22\u5F15\uFF0C\u8ACB\u7A0D\u5F8C\u518D\u8A66\uFF01
search.hits.none = \u627E\u4E0D\u5230\u3002
search.hits.more = \u66F4\u591A
search.hits.artists = \u6B4C\u624B
search.hits.artists = \u4F5C\u8005
search.hits.albums = \u5C08\u8F2F
search.hits.songs = \u6B4C\u66F2
search.hits.videos = \u5F71\u50CF
@ -175,7 +176,7 @@ search.hits.videos = \u5F71\u50CF
# gettingStarted.jsp
gettingStarted.title = \u521D\u6B21\u4F7F\u7528
gettingStarted.text = <p>\u6B61\u8FCE\u4F7F\u7528Libresonic\uFF01<br>\u8ACB\u4F9D\u7167\u4E0B\u9762\u7684\u6B65\u9A5F\u8A2D\u5B9A\u3002<br> \
\u9EDE\u64CA\u5DE5\u5177\u5217\u4E0A\u7684"\u9996\u9801"\uFF0C\u5C31\u80FD\u96A8\u6642\u56DE\u4F86\u9019\u88E1\u3002</p> \
\u9EDE\u64CA\u5DE5\u5177\u5217\u4E0A\u7684\u300C\u9996\u9801\u300D\uFF0C\u5C31\u80FD\u96A8\u6642\u56DE\u4F86\u9019\u88E1\u3002</p> \
<p>\u9700\u8981\u66F4\u591A\u8A0A\u606F\u8ACB\u53C3\u8003<a href="http://libresonic.org/pages/getting-started.jsp" target="_blank"><b>\u5165\u9580\u6307\u5357</b></a></p>
gettingStarted.root = \u8B66\u544A\uFF01Libresonic\u7A0B\u5F0F\u6B63\u4EE5 root \u4F7F\u7528\u8005\u57F7\u884C\u3002\u8ACB\u8003\u616E \
<a href="http://libresonic.org/pages/installation.jsp" target="_blank">\u5225\u7684\u65B9\u5F0F</a>\u3002
@ -185,29 +186,32 @@ gettingStarted.step1.text = \u8ACB\u4FEE\u6539\u9810\u8A2D\u7684\u7BA1\u7406\u54
gettingStarted.step2.title = \u8A2D\u5B9A\u97F3\u6A02\u8CC7\u6599\u593E\u3002
gettingStarted.step2.text = \u8A2D\u5B9A\u60A8\u97F3\u6A02\u6240\u653E\u7F6E\u7684\u8CC7\u6599\u593E\u3002
gettingStarted.step3.title = \u914D\u7F6E\u7DB2\u8DEF\u8A2D\u5B9A\u3002
gettingStarted.step3.text = \u5982\u679C\u60A8\u60F3\u8981\u9060\u7AEF\u4EAB\u53D7 Libresonic\uFF0C\u60A8\u53EF\u80FD\u9700\u8981\u95B1\u8B80 \
<a href="https://github.com/Libresonic/libresonic/blob/develop/documentation/PROXY.md>\u4EE3\u7406\u4F3A\u670D\u5668\u6587\u4EF6</a> \
\u5176\u4E2D\u63D0\u4F9B\u4E86\u8A2D\u5B9A SSL\uFF0CURL \u91CD\u5BEB\u8207\u81EA\u8A02\u4F4D\u5740\u7684\u6559\u5B78\u3002\u53E6\u5916\uFF0C
gettingStarted.hide = \u4E0B\u6B21\u4E0D\u986F\u793A\u672C\u9801\uFF01
gettingStarted.hidealert = \u5982\u679C\u4E0B\u6B21\u9084\u9700\u8981\u986F\u793A\u63D0\u793A\uFF0C\u8ACB\u5F9E \u8A2D\u5B9A\u2192\u4E00\u822C \u4E2D\u52FE\u9078\u3002
gettingStarted.hidealert = \u5982\u679C\u4E0B\u6B21\u9084\u9700\u8981\u986F\u793A\u63D0\u793A\uFF0C\u8ACB\u5F9E\u300C\u8A2D\u5B9A\u300D\u2192\u300C\u4E00\u822C\u300D\u4E2D\u52FE\u9078\u3002
# home.jsp
home.random.title = \u96A8\u8208\u64AD\u653E
home.random.title = \u96A8\u6A5F\u64AD\u653E
home.alphabetical.title = \u5168\u90E8
home.newest.title = \u6700\u65B0\u97F3\u6A02
home.starred.title = \u661F\u865F\u6A19\u8A18
home.highest.title = \u559C\u597D\u7A0B\u5EA6
home.frequent.title = \u9EDE\u64AD\u7387
home.highest.title = \u6700\u9AD8\u8A55\u5206
home.frequent.title = \u6700\u5E38\u64AD\u653E
home.recent.title = \u6700\u8FD1\u64AD\u653E
home.decade.title = \u7531\u5E74\u4EFD
home.genre.title = \u7531\u66F2\u98A8
home.genre.title = \u7531\u985E\u578B
home.users.title = \u4F7F\u7528\u8005
home.random.text = \u96A8\u8208\u9078\u64AD\u5C08\u8F2F
home.random.text = \u96A8\u6A5F\u9078\u64C7\u5C08\u8F2F
home.alphabetical.text = \u6240\u6709\u5C08\u8F2F
home.newest.text = \u6700\u65B0\u5C08\u8F2F
home.starred.text = \u60A8\u6A19\u8A18\u661F\u865F\u7684\u5C08\u8F2F
home.highest.text = \u8A55\u50F9\u9AD8\u7684\u5C08\u8F2F
home.frequent.text = \u6700\u591A\u9EDE\u64AD\u5C08\u8F2F
home.recent.text =\u6700\u8FD1\u64AD\u653E\u5C08\u8F2F
home.starred.text = \u661F\u865F\u6A19\u8A18\u7684\u5C08\u8F2F
home.highest.text = \u6700\u9AD8\u8A55\u5206\u7684\u5C08\u8F2F
home.frequent.text = \u6700\u5E38\u64AD\u653E\u7684\u5C08\u8F2F
home.recent.text =\u6700\u8FD1\u64AD\u653E\u7684\u5C08\u8F2F
home.decade.text = \u5E74\u4EFD
home.genre.text = \u66F2\u98A8
home.genre.text = \u985E\u578B
home.users.text = \u4F7F\u7528\u8005\u7D71\u8A08
home.scan = \u6B63\u5728\u6383\u63CF\u97F3\u6A02\u8CC7\u6599\u593E\u3002\u90E8\u4EFD\u529F\u80FD\u5C07\u7121\u6CD5\u4F7F\u7528\u3002
home.albums = \u5C08\u8F2F {0} - {1}
@ -222,23 +226,64 @@ home.chart.upload = \u5DF2\u4E0A\u50B3 (MB)
# more.jsp
more.title = \u5176\u4ED6
more.random.title = \u96A8\u8208\u64AD\u653E
more.random.text = \u5EFA\u7ACB\u96A8\u8208\u6E05\u55AE
more.random.title = \u96A8\u6A5F\u64AD\u653E
more.random.text = \u5EFA\u7ACB\u96A8\u6A5F\u6E05\u55AE
more.random.songs = {0} \u9996
more.random.auto = \u7576\u64AD\u653E\u6E05\u55AE\u64AD\u653E\u5B8C\u7562\u6642\u7E7C\u7E8C\u96A8\u6A5F\u64AD\u653E\u6B4C\u66F2\u3002
more.random.ok = \u78BA\u5B9A
more.random.genre = \u66F2\u98A8
more.random.genre = \u985E\u578B
more.random.anygenre = \u4EFB\u610F
more.random.year = \u5E74\u4EFD
more.random.anyyear = \u4EFB\u610F
more.random.folder = \u97F3\u6A02\u8CC7\u6599\u593E
more.random.anyfolder = \u4EFB\u610F
more.random.year = \u5E74
more.random.anyyear = \u4EFB\u610F
more.random.folder = \u8CC7\u6599\u593E
more.random.anyfolder = \u4EFB\u610F
more.random.star = \u9846\u661F
more.random.stars = \u9846\u661F
more.random.starred = \u6709\u661F\u865F\u6A19\u8A18
more.random.unstarred = \u672A\u661F\u865F\u6A19\u8A18
more.random.songrating = \u6B4C\u66F2\u8A55\u5206
more.random.albumrating = \u5C08\u8F2F\u8A55\u5206
more.random.lastplayed = \u6700\u5F8C\u64AD\u653E
more.random.playcount = \u64AD\u653E\u6B21\u6578
more.random.1day = 1 \u5929\u524D
more.random.1week = 1 \u5468\u524D
more.random.1month = 1 \u500B\u6708\u524D
more.random.3months = 3 \u500B\u6708\u524D
more.random.6months = 6 \u500B\u6708\u524D
more.random.1year = 1 \u5E74\u524D
more.apps.title = Libresonic Apps
more.apps.text = <p>\u652F\u63F4 <b>iPhone</b>, \
<b>Android</b> \u548C <b>AIR</b>\u7684<a href="http://libresonic.org/pages/apps.jsp" target="_blank">Libresonic apps</a>\u3002</p>
more.apps.text = <p>\u770B\u770B\u7A69\u5B9A\u589E\u52A0\u7684 <a href="http://libresonic.org/pages/apps.jsp" target="_blank">Libresonic apps</a> \u6E05\u55AE\u3002 \
\u9019\u63D0\u4F9B\u4EAB\u53D7\u60A8\u7684\u5A92\u9AD4\u6536\u85CF\u7684\u66FF\u4EE3\u65B9\u5F0F - \u7121\u8AD6\u60A8\u5728\u54EA\u88E1\u3002 \
App \u53EF\u7528\u65BCAndroid\uFF0CiPhone\uFF0CWindows Phone\uFF0CBlackBerry\uFF0CRoku\u7B49\u7B49\u3002</p>
more.status.title = \u7DB2\u8DEF\u72C0\u614B
more.status.text = <a href="status.view">\u76E3\u63A7</a>\u6240\u6709\u7DB2\u8DEF\u4E32\u6D41\u7684\u5373\u6642\u72C0\u614B\u3002
more.mobile.title = \u79FB\u52D5\u8A2D\u5099
more.keyboard.title = \u9375\u76E4\u5FEB\u901F\u9375
more.keyboard.text = \u9375\u76E4\u5FEB\u901F\u9375\u53EF\u65BC<a href="personalSettings.view">\u500B\u4EBA\u5316\u8A2D\u5B9A</a>\u4E2D\u555F\u7528\u3002\u652F\u63F4\u7684\u5FEB\u901F\u9375\u5982\u4E0B\u3002
more.keyboard.playback = Playback
more.keyboard.navigation = \u700F\u89BD
more.keyboard.general = \u4E00\u822C
more.keyboard.playpause = \u64AD\u653E\u6216\u66AB\u505C\u97F3\u6A02
more.keyboard.previous = \u524D\u5F80\u4E0A\u4E00\u9996\u6B4C\u66F2
more.keyboard.next = \u524D\u5F80\u4E0B\u4E00\u9996\u6B4C\u66F2
more.keyboard.volumedown = \u964D\u4F4E\u64AD\u653E\u5668\u97F3\u91CF
more.keyboard.volumeup = \u589E\u5F37\u64AD\u653E\u5668\u97F3\u91CF
more.keyboard.home = \u524D\u5F80\u9996\u9801
more.keyboard.playlists = \u524D\u5F80\u64AD\u653E\u6E05\u55AE
more.keyboard.podcasts = \u524D\u5F80\u64AD\u5BA2
more.keyboard.settings = \u524D\u5F80\u8A2D\u5B9A
more.keyboard.starred = \u524D\u5F80\u661F\u865F\u6A19\u8A18
more.keyboard.more = \u524D\u5F80\u66F4\u591A
more.keyboard.about = \u524D\u5F80\u95DC\u65BC
more.keyboard.search = \u641C\u5C0B
more.keyboard.sidebar = \u5207\u63DB\u5DE6\u5074\u6B04
more.keyboard.playqueue = \u5207\u63DB\u64AD\u653E\u4F47\u5217
more.keyboard.shortcuts = \u986F\u793A\u9375\u76E4\u5FEB\u901F\u9375
more.keyboard.then = \u7136\u5F8C
more.mobile.title = \u884C\u52D5\u96FB\u8A71
more.mobile.text = <p>\u53EF\u4EE5\u7531 WAP \u96FB\u8A71\u6216 PDA \u4F7F\u7528 {0} \u3002<br> \
\u7D93\u7531\u624B\u6A5F\u8F38\u5165\u9019\u6A23\u7684\u7DB2\u5740 <b>http://yourhostname/wap</b></p> \
<p>\u9019\u9700\u8981\u60A8\u7684\u4F3A\u670D\u5668\u53EF\u4EE5\u900F\u904E\u7DB2\u969B\u7DB2\u8DEF\u5B58\u53D6\u3002</p>
@ -274,7 +319,7 @@ help.homepage.title = \u9996\u9801
help.forum.title = \u8AD6\u58C7
help.shop.title = \u5546\u54C1
help.contact.title = \u806F\u7E6B
help.contact.text = {0} \u7531 Sindre Mehus \u958B\u767C\u53CA\u7DAD\u8B77(<a href="mailto:sindre@activeobjects.no">sindre@activeobjects.no</a>)\u3002\u5982\u679C\u60A8\u6709\u4EFB\u4F55\u7591\u554F\uFF0C\u610F\u898B\u6216\u5EFA\u8B70\u6539\u5584\uFF0C\u8ACB\u5230<a href="https://www.reddit.com/r/libresonic" target="_blank">Libresonic\u8AD6\u58C7</a>\u3002
help.contact.text = Libresonic \u662F\u793E\u7FA4\u5C08\u6848\u3002 \u60A8\u53EF\u4EE5\u5728 <a href="irc://chat.freenode.net/libresonic">Freenode \u4E0A\u7684 #libresonic</a> \u627E\u5230\u6211\u5011\u3002\u6280\u8853\u554F\u984C\u53EF\u4EE5\u63D0\u4EA4\u5230 <a href="https://github.com/Libresonic/libresonic/issues">Github \u4E0A\u7684\u554F\u984C\u8FFD\u8E64\u5668</a>\u3002
help.log = \u8A18\u9304
help.logfile = \u5B8C\u6574\u7684\u7D00\u9304\u5B58\u653E\u5728 {0}\u3002
@ -295,6 +340,7 @@ settingsheader.user = \u4F7F\u7528\u8005
settingsheader.search = \u641C\u5C0B
settingsheader.coverArt = \u5C08\u8F2F\u5C01\u9762
settingsheader.password = \u5BC6\u78BC
settingsheader.database = \u8CC7\u6599\u5EAB
# generalSettings.jsp
generalsettings.playlistfolder = \u64AD\u653E\u6E05\u55AE\u8CC7\u6599\u593E
@ -302,7 +348,7 @@ generalsettings.musicmask = \u97F3\u6A02\u7684\u9644\u5C6C\u6A94\u540D:
generalsettings.videomask = \u8996\u8A0A\u7684\u9644\u5C6C\u6A94\u540D:
generalsettings.coverartmask = \u5C08\u8F2F\u5C01\u9762\u9644\u5C6C\u6A94\u540D
generalsettings.index = \u7D22\u5F15
generalsettings.ignoredarticles = \u5FFD\u7565\u7684\u6B4C\u624B\u540D\u7A31
generalsettings.ignoredarticles = \u5FFD\u7565\u7684\u4F5C\u8005\u540D\u7A31
generalsettings.shortcuts = \u6377\u5F91
generalsettings.sortalbumsbyyear = \u7531\u5E74\u4EFD\u6392\u5E8F\u5C08\u8F2F
generalsettings.showgettingstarted = \u5728\u9996\u9801\u986F\u793A "\u521D\u6B21\u4F7F\u7528"
@ -325,6 +371,7 @@ advancedsettings.ldapsearchfilter = LDAP \u641C\u5C0B\u904E\u6FFE
advancedsettings.ldapmanagerdn = LDAP \u7BA1\u7406\u8005 DN <br><div class="detail">(\u53EF\u9078\u64C7)</div>
advancedsettings.ldapmanagerpassword = \u5BC6\u78BC
advancedsettings.ldapautoshadowing = \u81EA\u52D5\u5728{0}\u5EFA\u7ACB\u4F7F\u7528\u8005
advancedsettings.ldapRequiresRestart = LDAP \u8A2D\u5B9A\u9700\u8981\u91CD\u65B0\u555F\u52D5\u624D\u80FD\u751F\u6548
advancedsettings.smtpPort = SMTP \u9023\u63A5\u57E0
advancedsettings.smtpServer = SMTP \u4F3A\u670D\u5668
advancedsettings.smtpEncryption = SMTP \u52A0\u5BC6
@ -336,7 +383,7 @@ advancedsettings.smtpEncryption.ssl = SSL/TLS
advancedsettings.smtpFrom = \u5BC4\u4EF6\u8005
# personalSettings.jsp
personalsettings.title = {0}\u7684\u500B\u4EBA\u5316\u8A2D\u5B9A
personalsettings.title = {0} \u7684\u500B\u4EBA\u5316\u8A2D\u5B9A
personalsettings.language = \u8A9E\u8A00
personalsettings.theme = \u4F48\u666F\u4E3B\u984C
personalsettings.albumlist = \u9810\u8A2D\u5C08\u8F2F\u6392\u5E8F\u65B9\u5F0F
@ -344,24 +391,27 @@ personalsettings.display = \u986F\u793A
personalsettings.browse = \u700F\u89BD
personalsettings.playlist = \u64AD\u653E\u6E05\u55AE
personalsettings.tracknumber = \u97F3\u8ECC #
personalsettings.artist = \u6B4C\u624B
personalsettings.artist = \u4F5C\u8005
personalsettings.album = \u5C08\u8F2F
personalsettings.genre = \u66F2\u98A8
personalsettings.year = \u767C\u884C
personalsettings.bitrate = Bit rate
personalsettings.duration = \u6642\u6548
personalsettings.genre = \u985E\u578B
personalsettings.year = \u5E74\u4EFD
personalsettings.bitrate = \u4F4D\u5143\u7387
personalsettings.duration = \u9577\u5EA6
personalsettings.format = \u683C\u5F0F
personalsettings.filesize = \u6587\u4EF6\u5927\u5C0F
personalsettings.partymode = \u5BB4\u6703\u6A21\u5F0F
personalsettings.queuefollowingsongs = Queue following songs on play
personalsettings.shownowplaying = \u5176\u4ED6\u4EBA\u5728\u807D\u4EC0\u9EBC
personalsettings.shownowplaying = \u986F\u793A\u5176\u4ED6\u4EBA\u5728\u807D\u4EC0\u9EBC
personalsettings.nowplayingallowed = \u8B93\u5225\u4EBA\u770B\u6211\u5728\u807D\u4EC0\u9EBC
personalsettings.showartistinfo = \u986F\u793A\u6B4C\u624B\u8CC7\u8A0A
personalsettings.showartistinfo = \u986F\u793A\u4F5C\u8005\u8CC7\u8A0A
personalsettings.autohideplayqueue = \u81EA\u52D5\u96B1\u85CF\u64AD\u653E\u4F47\u5217
personalsettings.finalversionnotification = \u63D0\u793A\u65B0\u7248\u672C
personalsettings.betaversionnotification = \u63D0\u793A\u65B0\u7684\u6E2C\u8A66\u7248
personalsettings.keyboardshortcutsenabled = \u555F\u7528\u9375\u76E4\u5FEB\u901F\u9375
personalsettings.finalversionnotification = \u63D0\u9192\u6211\u65B0\u7248\u672C
personalsettings.betaversionnotification = \u63D0\u9192\u6211\u65B0\u7684\u6E2C\u8A66\u7248
personalsettings.songnotification = \u958B\u59CB\u64AD\u653E\u65B0\u6B4C\u6642\u63D0\u9192\u6211 (\u4E0D\u662F\u6240\u6709\u700F\u89BD\u5668\u90FD\u652F\u63F4)
personalsettings.lastfmenabled = \u767B\u9304\u6211\u5728 <a href="http://last.fm/" target="_blank">Last.fm</a>\u7684\u5E33\u865F
personalsettings.listreloaddelay = \u5C08\u8F2F\u6E05\u55AE\u5237\u65B0\u6642\u9593 (\u55AE\u4F4D\u70BA\u79D2\uFF0C0 \u4EE3\u8868\u505C\u7528)
personalsettings.paginationsize = Number of initial related albums/directories to display (0 disables album pagination)
personalsettings.lastfmenabled = \u5728 <a href="http://last.fm/" target="_blank">Last.fm</a> \u767B\u9304\u6211\u7684\u64AD\u653E\u52D5\u614B
personalsettings.lastfmusername = Last.fm \u5E33\u865F
personalsettings.lastfmpassword = Last.fm \u5BC6\u78BC
personalsettings.avatar.title = \u500B\u4EBA\u5716\u793A
@ -400,13 +450,13 @@ musicfoldersettings.scannow = \u7ACB\u5373\u6383\u63CF\u97F3\u6A02\u8CC7\u6599\u
musicfoldersettings.access = \u7BA1\u7406\u4F7F\u7528\u8005\u5B58\u53D6\u6B0A\u9650
musicfoldersettings.access.description = \u8A2D\u5B9A\u54EA\u4E9B\u8CC7\u6599\u593E\u53EF\u4EE5\u88AB\u54EA\u4E9B\u4F7F\u7528\u8005\u5B58\u53D6\u3002
musicfoldersettings.fastcache = \u5FEB\u901F\u8B80\u53D6\u6A21\u5F0F
musicfoldersettings.fastcache.description = \u5982\u679C\u4F60\u7684\u5A92\u9AD4\u6A94\u6848\u5728\u7DB2\u8DEF\u4E0A\u7684\u78C1\u789F\uFF0C\u4F7F\u7528\u9019\u500B\u9078\u9805\u4F86\u6E1B\u5C11\u78C1\u789F\u5B58\u53D6\u3002 \
\u6CE8\u610F\uFF1A\u65B0\u589E\u6216\u66F4\u6539\u5BE6\u969B\u6A94\u6848\u5C07\u6703\u53EA\u6709\u5728\u6383\u63CF\u97F3\u6A02\u8CC7\u6599\u593E\u5F8C\u624D\u6703\u751F\u6548\u3002
musicfoldersettings.fastcache.description = \u4F7F\u7528\u9019\u500B\u9078\u9805\u4F86\u6E1B\u5C11\u78C1\u789F\u5B58\u53D6\u3002\u4F8B\u5982\uFF0C\u5982\u679C\u60A8\u7684\u5A92\u9AD4\u6A94\u6848\u4F4D\u65BC\u7DB2\u8DEF\u78C1\u789F\u3002 \
\u6CE8\u610F\uFF1A\u65B0\u589E\u6216\u66F4\u6539\u7684\u6A94\u6848\u53EA\u6709\u5728\u6383\u63CF\u97F3\u6A02\u8CC7\u6599\u593E\u5F8C\u624D\u6703\u51FA\u73FE\u3002
musicfoldersettings.expunge = \u6E05\u7406\u8CC7\u6599\u5EAB
musicfoldersettings.expunge.description = Libresonic \u5132\u5B58\u4E86\u6240\u6709\u5A92\u9AD4\u6A94\u6848\u7684\u8CC7\u8A0A\u3002 \
\u6E05\u7406\u8CC7\u6599\u5EAB\u5F8C\uFF0C\u4E0D\u5728\u60A8\u7684\u5A92\u9AD4\u8CC7\u6599\u5EAB\u5167\u7684\u6A94\u6848\uFF0C\u5176\u8CC7\u8A0A\u5C07\u6C38\u4E45\u522A\u9664\u3002
musicfoldersettings.organizebyfolderstructure = \u4EE5\u8CC7\u6599\u593E\u7D50\u69CB\u6574\u7406
musicfoldersettings.organizebyfolderstructure.description = \u958B\u555F\u9019\u500B\u9078\u9805\u4F7F\u60A8\u700F\u89BD\u5A92\u9AD4\u8CC7\u6599\u5EAB\u6642\u4F7F\u7528\u539F\u4F86\u7684\u8CC7\u6599\u593E\u7D50\u69CB\uFF0C\u800C\u4E0D\u662F\u4F9D\u7167 ID3 \u6A19\u7C64\u5167\u7684\u6B4C\u624B\u8207\u5C08\u8F2F\u8CC7\u8A0A\u3002
musicfoldersettings.organizebyfolderstructure.description = \u958B\u555F\u9019\u500B\u9078\u9805\u4F7F\u60A8\u700F\u89BD\u5A92\u9AD4\u8CC7\u6599\u5EAB\u6642\u4F7F\u7528\u539F\u4F86\u7684\u8CC7\u6599\u593E\u7D50\u69CB\uFF0C\u800C\u4E0D\u662F\u4F9D\u7167 ID3 \u6A19\u7C64\u5167\u7684\u4F5C\u8005\u8207\u5C08\u8F2F\u8CC7\u8A0A\u3002
# transcodingSettings.jsp
transcodingsettings.name = \u8F49\u6A94\u540D\u7A31
@ -417,24 +467,24 @@ transcodingsettings.step2 = \u6B65\u9A5F\u4E8C
transcodingsettings.step3 = \u6B65\u9A5F\u4E09
transcodingsettings.add = \u65B0\u589E\u8F49\u78BC\u5668
transcodingsettings.defaultactive = \u9810\u8A2D
transcodingsettings.recommended = Recommended configuration
transcodingsettings.recommended = \u5EFA\u8B70\u7684\u8A2D\u5B9A
transcodingsettings.noname = \u8ACB\u6307\u5B9A\u4E00\u500B\u540D\u7A31\u3002
transcodingsettings.nosourceformat = \u8ACB\u6307\u5B9A\u8F49\u63DB\u7684\u4F86\u6E90\u683C\u5F0F\u3002
transcodingsettings.notargetformat = \u8ACB\u6307\u5B9A\u8F49\u63DB\u7684\u76EE\u7684\u683C\u5F0F\u3002
transcodingsettings.nostep1 = \u8ACB\u81F3\u5C11\u6307\u5B9A\u4E00\u500B\u8F49\u63DB\u6B65\u9A5F\u3002
transcodingsettings.info = <p class="detail">(%s = \u6A94\u6848\u5C07\u88AB\u8F49\u63DB\uFF0C%b = \u64A5\u653E\u5668\u7684\u6700\u5927\u50B3\u8F38\u7387\uFF0C%t = \u6A19\u984C\uFF0C%a = \u6B4C\u624B\uFF0C%l = \u5C08\u8F2F)</p> \
<p>\u8F49\u6A94\u904E\u7A0B\u662F\u7531\u4E00\u500B\u97F3\u6A02\u683C\u5F0F\u8F49\u63DB\u6210\u53E6\u4E00\u7A2E\u683C\u5F0F\u3002{1}\u7684\u8F49\u6A94 \
\u5F15\u64CE\u5C07\u975E\u4E32\u6D41\u683C\u5F0F\u8F49\u63DB\u6210\u4E32\u6D41\u3002\u76F4\u63A5\u8F49\u6A94\u4E26\u4E14\u4E0D\u9700\u8981\u78C1\u789F\u904B\u4F5C<p/> \
transcodingsettings.info = <p class="detail">(%s = \u6A94\u6848\u5C07\u88AB\u8F49\u63DB\uFF0C%b = \u64AD\u653E\u5668\u7684\u6700\u5927\u50B3\u8F38\u7387\uFF0C%t = \u6A19\u984C\uFF0C%a = \u4F5C\u8005\uFF0C%l = \u5C08\u8F2F)</p> \
<p>\u8F49\u6A94\u904E\u7A0B\u662F\u7531\u4E00\u500B\u97F3\u6A02\u683C\u5F0F\u8F49\u63DB\u6210\u53E6\u4E00\u7A2E\u683C\u5F0F\u3002 \
{1}\u7684\u8F49\u6A94\u5F15\u64CE\u5C07\u975E\u4E32\u6D41\u683C\u5F0F\u8F49\u63DB\u6210\u4E32\u6D41\u3002 \
\u5373\u6642\u8F49\u6A94\u4E26\u4E14\u4E0D\u9700\u8981\u78C1\u789F\u7A7A\u9593\u3002<p/> \
<p>\u5BE6\u969B\u7684\u8F49\u63DB\u52D5\u4F5C\u901A\u5E38\u662F\u900F\u904E\u7B2C\u4E09\u65B9\u8EDF\u9AD4\u4EE5\u547D\u4EE4\u5217\u65B9\u5F0F\u8F49\u63DB\uFF0C\u7A0B\u5F0F\u5B89\u88DD\u5728 {0}\u3002</p>\
<p>\u800CWindows\u7CFB\u7D71\u7684\u8F49\u63DB\u7A0B\u5F0F\u53EF\u4EE5\u5728<a target="_blank" href="http://libresonic.org/pages/transcoding.jsp"><b>\u9019\u88E1\u627E\u5230</b></a>\u3002 \
\u60A8\u4E5F\u80FD\u4EE5\u81EA\u5B9A\u7684\u8F49\u63DB\uFF0C\u53EA\u8981\u6EFF\u8DB3\u4E0B\u9762\u8981\u6C42\uFF1A\
\u60A8\u4E5F\u80FD\u65B0\u589E\u81EA\u8A02\u7684\u8F49\u78BC\u5668\uFF0C\u53EA\u8981\u6EFF\u8DB3\u4E0B\u9762\u8981\u6C42\uFF1A\
<ul> \
<li>\u5FC5\u9808\u6709\u547D\u4EE4\u5217\u754C\u9762\u3002</li> \
<li>\u5FC5\u9808\u80FD\u5920\u5C07\u7D50\u679C\u9001\u5230\u6A19\u6E96\u8F38\u51FA(Stdout)\u3002</li> \
<li>\u5982\u679C\u5728\u6B65\u9A5F2\u4F7F\u7528\uFF0C\u5B83\u5FC5\u9808\u80FD\u5920\u5F9E\u6A19\u6E96\u8F38\u5165(Stdin)\u8B80\u53D6\u3002</li> \
<li>\u5FC5\u9808\u80FD\u5920\u5C07\u7D50\u679C\u9001\u5230\u6A19\u6E96\u8F38\u51FA(stdout)\u3002</li> \
<li>\u5982\u679C\u5728\u6B65\u9A5F2\u4F7F\u7528\uFF0C\u5B83\u5FC5\u9808\u80FD\u5920\u5F9E\u6A19\u6E96\u8F38\u5165(stdin)\u8B80\u53D6\u3002</li> \
</ul> \
</p> \
<p> \u8ACB\u6CE8\u610F\uFF0C\u8F49\u63DB\u7684\u7A0B\u5E8F\u7684\u7531\u64A5\u653E\u5668\u8A2D\u5B9A\u4E2D\u52FE\u9078\u3002\u5982\u679C"\u9810\u8A2D"\u662F\u5DF2\u52FE\u9078\u7684\uFF0C\u90A3\u9EBC\u8F49\u63DB\u6703\u81EA\u52D5\u5728\u65B0\u64AD\u653E\u5668\u4E2D\u4F7F\u7528\u3002</p>
<p> \u8ACB\u6CE8\u610F\uFF0C\u8F49\u63DB\u7684\u7A0B\u5E8F\u7684\u7531\u64AD\u653E\u5668\u8A2D\u5B9A\u4E2D\u52FE\u9078\u3002\u5982\u679C"\u9810\u8A2D"\u662F\u5DF2\u52FE\u9078\u7684\uFF0C\u90A3\u9EBC\u8F49\u63DB\u6703\u81EA\u52D5\u5728\u65B0\u64AD\u653E\u5668\u4E2D\u4F7F\u7528\u3002</p>
# internetRadioSettings.jsp
internetradiosettings.streamurl = \u4E32\u6D41\u7DB2\u5740
@ -454,7 +504,7 @@ podcastsettings.keep.many = \u6700\u8FD1 {0} \u7684\u6536\u85CF
podcastsettings.download = \u5982\u679C\u6709\u6700\u65B0\u7684\u6536\u85CF
podcastsettings.download.all = \u5168\u90E8\u4E0B\u8F09
podcastsettings.download.one = \u4E0B\u8F09\u6700\u65B0\u7684
podcastsettings.download.many = \u4E0B\u8F09\u6700\u8FD1{0}\u7684\u6536\u85CF
podcastsettings.download.many = \u4E0B\u8F09\u6700\u8FD1 {0} \u7684\u6536\u85CF
podcastsettings.download.none = \u4E0D\u505A
podcastsettings.interval.manually = \u624B\u52D5
podcastsettings.interval.hourly = \u6BCF\u5C0F\u6642
@ -463,35 +513,38 @@ podcastsettings.interval.weekly = \u6BCF\u9031
podcastsettings.folder = \u5132\u5B58\u64AD\u5BA2\u5728
# playerSettings.jsp
playersettings.noplayers = \u6C92\u6709\u64A5\u653E\u5668\u3002
playersettings.noplayers = \u6C92\u6709\u64AD\u653E\u5668\u3002
playersettings.type = \u5F62\u614B
playersettings.lastseen = \u4E0A\u6B21\u767B\u5165
playersettings.title = \u9078\u64C7\u64A5\u653E\u5668
playersettings.title = \u9078\u64C7\u64AD\u653E\u5668
playersettings.technology.web.title = \u7DB2\u9801\u64AD\u653E
playersettings.technology.external.title = \u76F4\u63A5\u7528\u5916\u90E8\u64AD\u653E\u5668\u64AD\u653E
playersettings.technology.external_with_playlist.title = \u4EE5\u64AD\u653E\u6E05\u55AE\u5728\u5916\u90E8\u64A5\u653E\u5668\u64AD\u653E
playersettings.technology.external_with_playlist.title = \u4EE5\u64AD\u653E\u6E05\u55AE\u5728\u5916\u90E8\u64AD\u653E\u5668\u64AD\u653E
playersettings.technology.jukebox.title = \u9EDE\u64AD\u6A5F\u6A21\u5F0F
playersettings.technology.web.text = \u76F4\u63A5\u5728\u7DB2\u9801\u4E2D\u7684Flash\u64AD\u653E\u5668\u64AD\u653E.
playersettings.technology.external.text = \u5728\u60A8\u5E38\u7528\u7684\u64A5\u653E\u5668\u4E2D\u64AD\u653E\uFF0C\u4F8B\u5982:WinAmp\u3001Windows Media Player\u3001iTunes.
playersettings.technology.web.text = \u76F4\u63A5\u5728\u7DB2\u9801\u4E2D\u7684 Flash \u64AD\u653E\u5668\u64AD\u653E\u3002
playersettings.technology.external.text = \u5728\u60A8\u5E38\u7528\u7684\u64AD\u653E\u5668\u4E2D\u64AD\u653E\uFF0C\u4F8B\u5982\uFF1AWinAmp\u3001Windows Media Player\u3001iTunes\u3002
playersettings.technology.external_with_playlist.text = \u5982\u540C\u4E0A\u9762\u7684\u9078\u9805\uFF0C\u4F46\u662F\u64AD\u653E\u6E05\u55AE\u7531\u5BA2\u6236\u7AEF\u7BA1\u7406\uFF0C\u800C\u4E0D\u662F\u4F3A\u670D\u5668\u3002 \
\u5728\u9019\u500B\u6A21\u5F0F\u4E2D\u53EF\u4EE5\u8DF3\u8457\u64AD\u653E\u3002
playersettings.technology.jukebox.text = \u76F4\u63A5\u5728Libresonic\u4F3A\u670D\u5668\u4E2D\u64AD\u653E\u3002(\u9650\u5DF2\u6388\u6B0A\u7684\u7528\u6236\u3002)
playersettings.name = \u64A5\u653E\u5668\u540D\u7A31
playersettings.name = \u64AD\u653E\u5668\u540D\u7A31
playersettings.maxbitrate = \u6700\u5927\u50B3\u8F38\u7387
playersettings.notranscoder = <em>\u6CE8\u610F:</em> \u8F49\u78BC\u5F15\u64CE\u5C1A\u672A\u5B89\u88DD\u3002<br>\u9EDE\u9078\u3010\u8AAA\u660E\u3011\u7372\u5F97\u66F4\u591A\u8CC7\u8A0A\u3002
playersettings.notranscoder = <em>\u6CE8\u610F:</em> \u8F49\u78BC\u5F15\u64CE\u5C1A\u672A\u5B89\u88DD\u3002<br>\u9EDE\u9078\u300C\u8AAA\u660E\u300D\u7372\u5F97\u66F4\u591A\u8CC7\u8A0A\u3002
playersettings.autocontrol = \u81EA\u52D5\u64AD\u653E
playersettings.m3ubom = \u70ba\u7522\u751f\u7684M3U\u6a94\u6848\u589e\u52a0BOM\u6a19\u8a18
playersettings.dynamicip = \u64A5\u653E\u5668\u4F7F\u7528\u52D5\u614BIP\u4F4D\u5740
playersettings.m3ubom = \u70BA\u7522\u751F\u7684 M3U \u6A94\u6848\u589E\u52A0 BOM \u6A19\u8A18
playersettings.dynamicip = \u64AD\u653E\u5668\u4F7F\u7528\u52D5\u614B IP \u4F4D\u5740
playersettings.transcodings = \u555F\u52D5\u7684\u8F49\u78BC\u7A0B\u5F0F
playersettings.ok = \u5132\u5B58
playersettings.forget = \u522A\u9664\u64A5\u653E\u5668
playersettings.clone = \u8907\u88FD\u64A5\u653E\u5668
playersettings.forget = \u522A\u9664\u64AD\u653E\u5668
playersettings.clone = \u8907\u88FD\u64AD\u653E\u5668
dlnasettings.enabled = Enable DLNA server
dlnasettings.enabled = \u555F\u7528 DLNA \u4F3A\u670D\u5668
dlnasettings.description = Use this option to turn on the DLNA/UPnP Media Server in Libresonic, \
and stream your media to compatible DLNA players.
and stream your media to compatible DLNA players. Requires restart.
dlnasettings.servername = Media Server name
dlnasettings.servername.description = The name of the Media Server as it will appear in DLNA players.
dlnasettings.baselanurl = LAN Server address
dlnasettings.lanurl.description = The base LAN address to be used for DLNA resources. \
An example is http://192.168.0.2/libresonic/
sonossettings.enabled = Enable Sonos music service
sonossettings.description = Use this option to turn on the Sonos music service in Libresonic, \
@ -503,19 +556,19 @@ sonossettings.servicename = Music service name
sonossettings.servicename.description = The name of the music service as it will appear in the Sonos controller.
# shareSettings.jsp
sharesettings.name = Name
sharesettings.owner = Shared by
sharesettings.description = Description
sharesettings.name = \u540D\u7A31
sharesettings.owner = \u5206\u4EAB\u8005
sharesettings.description = \u63CF\u8FF0
sharesettings.visits = Visits
sharesettings.lastvisited = Last visited
sharesettings.expires = Expires
sharesettings.expires = \u904E\u671F
sharesettings.files = Shared files
sharesettings.expirein = Expire in
sharesettings.expirein.week = 1w
sharesettings.expirein.month = 1m
sharesettings.expirein.year = 1y
sharesettings.expirein.never = never
sharesettings.deleteexpired = Delete all expired
sharesettings.expirein = \u904E\u671F\u65BC
sharesettings.expirein.week = 1\u5468
sharesettings.expirein.month = 1\u500B\u6708
sharesettings.expirein.year = 1\u5E74
sharesettings.expirein.never = \u6C38\u4E0D
sharesettings.deleteexpired = \u522A\u9664\u904E\u671F\u9805\u76EE
# userSettings.jsp
usersettings.title = \u9078\u64C7\u4F7F\u7528\u8005
@ -523,7 +576,7 @@ usersettings.newuser = \u65B0\u4F7F\u7528\u8005
usersettings.admin = \u7BA1\u7406\u54E1\u6B0A\u9650
usersettings.settings = \u53EF\u4EE5\u8B8A\u66F4\u8A2D\u5B9A\u53CA\u5BC6\u78BC
usersettings.stream = \u53EF\u4EE5\u64AD\u653E\u6A94\u6848
usersettings.jukebox = \u53EF\u4EE5\u7528\u9EDE\u64A5\u6A5F\u6A21\u5F0F
usersettings.jukebox = \u53EF\u4EE5\u7528\u9EDE\u64AD\u6A5F\u6A21\u5F0F
usersettings.download = \u53EF\u4EE5\u4E0B\u8F09\u6A94\u6848
usersettings.upload = \u53EF\u4EE5\u4E0A\u50B3\u6A94\u6848
usersettings.share = \u53EF\u4EE5\u8207\u4EFB\u4F55\u4EBA\u5206\u4EAB\u6A94\u6848
@ -531,16 +584,16 @@ usersettings.coverart = \u53EF\u4EE5\u66F4\u63DB\u5C08\u8F2F\u5C01\u9762\u53CA\u
usersettings.comment= \u53EF\u4EE5\u5EFA\u7ACB\u6216\u7DE8\u8F2F\u8A55\u8AD6\u53CA\u8A55\u5206
usersettings.podcast= \u53EF\u4EE5\u7BA1\u7406\u64AD\u5BA2
usersettings.folderaccess = \u53EF\u4EE5\u5B58\u53D6\u9019\u4E9B\u5A92\u9AD4\u8CC7\u6599\u593E
usersettings.username = \u4F7F\u7528\u8005
usersettings.email = Email
usersettings.username = \u5E33\u865F
usersettings.email = \u96FB\u5B50\u90F5\u4EF6
usersettings.changepassword = \u8B8A\u66F4\u5BC6\u78BC
usersettings.password = \u5BC6\u78BC
usersettings.newpassword = \u65B0\u5BC6\u78BC
usersettings.confirmpassword = \u518D\u6B21\u78BA\u8A8D\u5BC6\u78BC
usersettings.delete = \u522A\u9664\u4F7F\u7528\u8005
usersettings.ldap = \u5728LDAP\u9A57\u8B49\u7528\u6236
usersettings.nousername = \u7F3A\u5C11\u4F7F\u7528\u8005\u540D\u7A31\u3002
usersettings.noemail= \u4E0D\u5408\u6CD5\u7684 email \u4F4D\u5740\u3002
usersettings.ldap = \u5728 LDAP \u9A57\u8B49\u7528\u6236
usersettings.nousername = \u7F3A\u5C11\u5E33\u865F\u3002
usersettings.noemail= \u4E0D\u5408\u6CD5\u7684\u96FB\u5B50\u90F5\u4EF6\u4F4D\u5740\u3002
usersettings.useralreadyexists = \u5E33\u865F\u540D\u7A31\u5DF2\u7D93\u88AB\u4F7F\u7528\u4E86\u3002
usersettings.nopassword = \u5FC5\u9808\u8A2D\u5B9A\u5BC6\u78BC\u3002
usersettings.wrongpassword = \u5169\u6B21\u8F38\u5165\u5BC6\u78BC\u4E0D\u540C\u3002
@ -548,15 +601,31 @@ usersettings.ldapdisabled = LDAP\u9A57\u8B49\u6C92\u6709\u555F\u52D5\u3002\u8ACB
usersettings.passwordnotsupportedforldap = \u7121\u6CD5\u8A2D\u5B9A\u6216\u8B8A\u66F4 LDAP \u9A57\u8B49\u7528\u6236\u7684\u5BC6\u78BC\u3002
usersettings.ok = \u4F7F\u7528\u8005 {0} \u7684\u5BC6\u78BC\u5DF2\u7D93\u8B8A\u66F4\u3002
# databaseSettings.jsp
databasesettings.moreinfo = Additional information on database settings can be read at \
<a href="https://github.com/Libresonic/libresonic/blob/develop/documentation/DATABASE.md">DATABASE.md</a> on the \
Libresonic github page.
databasesettings.configtype = \u8CC7\u6599\u5EAB\u9023\u7DDA\u4F86\u6E90
databasesettings.mysqlvarcharmaxlength = MySQL Varchar Maximum Length
databasesettings.usertablequote = User table Quote
databasesettings.jndiname = Data Source JNDI Lookup Name
databasesettings.jdbclibrary = Please ensure that you have your database driver on your \
<a href="https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html">Java Classpath</a>
databasesettings.embeddriver = JDBC Driver Java classname
databasesettings.embedurl = JDBC URL
databasesettings.embedusername = JDBC \u5E33\u865F
databasesettings.embedpassword = JDBC \u5BC6\u78BC
databasettings.restartRequired = \u8CC7\u6599\u5EAB\u8A2D\u5B9A\u9700\u8981\u91CD\u65B0\u555F\u52D5\u624D\u80FD\u751F\u6548\u3002
# main.jsp
main.up = \u4E0A\u4E00\u9801
main.playall = \u5168\u90E8\u64AD\u653E
main.playrandom = \u96A8\u8208\u64AD\u653E
main.playrandom = \u96A8\u6A5F\u64AD\u653E
main.addall = \u5168\u90E8\u52A0\u5230\u64AD\u653E\u6E05\u55AE\u4E2D
main.downloadall = \u5168\u90E8\u4E0B\u8F09
main.tags = \u7DE8\u8F2F\u6A19\u7C64
main.playcount = \u64AD\u653E {0} \u6B21\u3002
main.lastplayed =\u4E0A\u6B21\u64AD\u653E\u5728 {0} \u3002
main.lastplayed =\u4E0A\u6B21\u64AD\u653E\u5728 {0}\u3002
main.comment = \u8A55\u8AD6
main.wiki = <table class="detail">\
<tr><td style="padding-right:1em">__text__</td><td>\u7C97\u9AD4 </td><td style="padding-left:3em;padding-right:1em">\\\\ </td><td>\u63DB\u884C</td></tr>\
@ -568,7 +637,7 @@ main.sharealbum = \u5206\u4EAB
main.more = \u66F4\u591A\u52D5\u4F5C\u2026
main.more.selection = \u9078\u64C7\u6B4C\u66F2\u2026
main.more.share = \u5206\u4EAB
main.nowplaying =\u76EE\u524D\u64A5\u653E
main.nowplaying =\u76EE\u524D\u64AD\u653E
main.lyrics = \u6B4C\u8A5E
main.minutesago = \u5206\u9418\u524D
main.chat = \u4EA4\u8AC7
@ -581,15 +650,15 @@ main.addnext = \u52A0\u5230\u4E0B\u4E00\u9996
main.addlast = \u52A0\u5230\u6700\u5F8C\u4E00\u9996
main.addnext.toast = \u6B64\u6B4C\u66F2\u5C07\u6703\u65BC\u4E0B\u4E00\u9996\u6642\u64AD\u653E
main.addlast.toast = \u6B64\u6B4C\u66F2\u5C07\u6703\u65BC\u6700\u5F8C\u4E00\u9996\u6642\u64AD\u653E
main.similarartists = \u76F8\u4F3C\u7684\u6B4C\u624B
main.startradio = Start radio
main.similarartists = \u76F8\u4F3C\u7684\u4F5C\u8005
main.startradio = \u958B\u59CB\u7DB2\u8DEF\u96FB\u53F0
main.playtopsongs = \u64AD\u653E\u6392\u884C\u699C\u6B4C\u66F2
main.showall = \u986F\u793A\u6240\u6709\u5C08\u8F2F
main.topsongs = \u6392\u884C\u699C\u6B4C\u66F2
# rating.jsp
rating.rating = \u7B49\u7D1A
rating.clearrating = \u6E05\u9664\u7B49\u7D1A
rating.rating = \u8A55\u5206
rating.clearrating = \u6E05\u9664\u8A55\u5206
# coverArt.jsp
coverart.change = \u8B8A\u66F4
@ -601,13 +670,14 @@ allmusic.text = \u5728 allmusic.com \u641C\u5C0B\u5C08\u8F2F <em>{0}</em> - \u8A
# changeCoverArt.jsp
changecoverart.title = \u8B8A\u66F4\u5C08\u8F2F\u5C01\u9762
changecoverart.address = \u6216\u662F\u8F38\u5165\u5716\u5F62\u7684\u4F4D\u5740
changecoverart.artist = \u6B4C\u624B
changecoverart.artist = \u4F5C\u8005
changecoverart.album = \u5C08\u8F2F
changecoverart.search = Google \u5716\u7247\u641C\u5C0B
changecoverart.wait = \u8ACB\u7A0D\u5019\u2026
changecoverart.success = \u5716\u7247\u4E0B\u8F09\u6210\u529F\u3002
changecoverart.error = \u7121\u6CD5\u4E0B\u8F09\u5716\u7247\u3002
changecoverart.noimagesfound = \u627E\u4E0D\u5230\u5716\u7247\u3002
changecoverart.courtesy = \u5716\u7247\u7531 Last.fm \u63D0\u4F9B
# changeCoverArtConfirm.jsp
changeCoverArtConfirm.failed = \u7121\u6CD5\u4FEE\u6539\u5C08\u8F2F\u5C01\u9762:<br><b>"{0}"</b>
@ -617,7 +687,7 @@ edittags.title = \u7DE8\u8F2F\u6A19\u7C64
edittags.file = \u6A94\u6848
edittags.track = \u97F3\u8ECC
edittags.songtitle = \u66F2\u540D
edittags.artist = \u6B4C\u624B
edittags.artist = \u4F5C\u8005
edittags.album = \u5C08\u8F2F
edittags.year = \u767C\u884C
edittags.genre = \u66F2\u98A8
@ -633,19 +703,19 @@ edittags.skipped = \u7565\u904E
edittags.error = \u932F\u8AA4
# share.jsp
share.title = Share
share.warning = <h2>IMPORTANT NOTICE!</h2><p>Play fair &ndash; Don't share copyrighted material in any manner that violates the law.</p>
share.title = \u5206\u4EAB
share.warning = <h2>\u91CD\u8981\u63D0\u9192\uFF01</h2><p>\u516C\u5E73\u7AF6\u722D &ndash; \u4E0D\u8981\u4EE5\u9055\u53CD\u6CD5\u5F8B\u7684\u65B9\u5F0F\u5206\u4EAB\u53D7\u7248\u6B0A\u4FDD\u8B77\u7684\u8CC7\u6599\u3002</p>
share.facebook = \u5206\u4EAB\u81F3 Facebook
share.twitter = \u5206\u4EAB\u81F3 Twitter
share.googleplus = \u5206\u4EAB\u81F3 Google+
share.link = Or share this with someone by sending them this link: <a href="{0}" target="_blank">{0}</a>
share.disabled = To share your music with someone you must first register your own <em>libresonic.org</em> address.<br> \
Please go to <a href="networkSettings.view"><b>Settings &gt; Network</b></a> (administrative rights required).
share.manage = Manage my shared media
share.link = \u6216\u662F\u900F\u904E\u6B64\u9023\u7D50\u5206\u4EAB\uFF1A<a href="{0}" target="_blank">{0}</a>
share.disabled = \u8981\u8207\u67D0\u4EBA\u5206\u4EAB\u97F3\u6A02\uFF0C\u60A8\u5FC5\u9808\u5148\u8A3B\u518A\u81EA\u5DF1\u7684 <em>libresonic.org</em> \u4F4D\u5740\u3002<br> \
\u8ACB\u5230<a href="networkSettings.view"><b>\u300C\u8A2D\u5B9A\u300D\u2192\u300C\u7DB2\u8DEF\u300D</b></a> (\u9700\u8981\u7BA1\u7406\u54E1\u6B0A\u9650)\u3002
share.manage = \u7BA1\u7406\u6211\u5206\u4EAB\u7684\u5A92\u9AD4
# podcastReceiver.jsp
podcastreceiver.title = \u64AD\u5BA2\u63A5\u6536\u5668
podcastreceiver.empty = You haven't subscribed to any podcasts yet.
podcastreceiver.empty = \u60A8\u5C1A\u672A\u8A02\u95B1\u4EFB\u4F55\u64AD\u5BA2\u3002
podcastreceiver.episodes = {0} \u7AE0\u7BC0
podcastreceiver.expandall = \u986F\u793A\u6536\u85CF\u96C6
podcastreceiver.collapseall = \u96B1\u85CF\u6536\u85CF\u96C6
@ -666,13 +736,13 @@ podcastreceiver.newestepisodes = \u6700\u65B0\u7AE0\u7BC0
# lyrics.jsp
lyrics.title = \u6B4C\u8A5E
lyrics.artist = \u6B4C\u624B
lyrics.artist = \u4F5C\u8005
lyrics.song = \u6B4C\u66F2
lyrics.search = \u641C\u5C0B
lyrics.wait = \u641C\u5C0B\u6B4C\u8A5E\u4E2D\uFF0C\u8ACB\u7A0D\u5019\u2026
lyrics.courtesy = (\u6B4C\u8A5E\u7531<a href="http://www.chartlyrics.com/" target="_blank">chartlyrics.com</a>\u63D0\u4F9B)
lyrics.nolyricsfound = \u627E\u4E0D\u5230\u6B4C\u8A5E\u3002
lyrics.trylater = Sorry, the lyrics search engine allows just one search every 20 seconds. Try again later.
lyrics.trylater = \u62B1\u6B49\uFF0C\u6B4C\u8A5E\u641C\u5C0B\u5F15\u64CE\u6BCF 20 \u79D2\u53EA\u5141\u8A31\u4E00\u6B21\u641C\u5C0B\u3002\u8ACB\u7A0D\u5F8C\u518D\u8A66\u3002
# helpPopup.jsp
helppopup.title = {0} \u5354\u52A9
@ -680,44 +750,60 @@ helppopup.transcode.title = \u6700\u5927\u50B3\u8F38\u7387
helppopup.transcode.text = <p>\u5982\u679C\u60A8\u7684\u64AD\u653E\u983B\u5BEC\u6709\u9650\uFF0C\u53EF\u4EE5\u904E\u8A2D\u5B9A\u6700\u5927\u50B3\u8F38\u7387\u4F86\u6539\u5584\u3002 \
\u4F8B\u5982\uFF0C\u5982\u679C\u60A8\u539F\u672C\u7684 mp3 \u6A94\u6848\u7684\u7DE8\u78BC\u7387\u70BA 256Kbps(\u6BCF\u79D2\u5343\u4F4D\u5143)\uFF0C\u5982\u679C\u8A2D\u5B9A\u6700\u5927\u50B3\u8F38\u7387\u70BA128\
\u6703\u4F7F {0} \u81EA\u52D5\u5C07\u539F\u672C 256Kbps \u7684\u97F3\u6A02\u7DE8\u78BC\u70BA\u6210 128 Kbps\u3002</p>
helppopup.databaseConfigType.title = Data Source Config Type
helppopup.databaseConfigType.text = <p>Legacy will default to an embed H2 database which is the backwards compatible \
option. Embedded JDBC will connect to a JDBC database with the provided settings. JNDI will lookup \
a DataSource connection already setup in your application container.</p>
helppopup.mysqlvarcharmaxlength.title = MySQL Varchar Max Length
helppopup.mysqlvarcharmaxlength.text = <p>MySQL has a maximum row length and as such needs varchar columns to be \
bounded. This value entered here will be the maximum column size.</p>
helppopup.usertablequote.title = User Table Quote
helppopup.usertablequote.text = <p>The Libresonic users table is named user. This may be a keyword conflict in some \
databases such as Postgres. So for postgres, you will want to use the double quote character (") here</p>
helppopup.jndiname.title = Data Source JNDI Lookup Name
helppopup.jndiname.text = A JNDI name to lookup a Data Source of type javax.sql.DataSource. This is something that is\
created in your application container (i.e. tomcat).
helppopup.embeddriver.title = JDBC Driver Class
helppopup.embeddriver.text = JDBC Driver dependent class name that implments java.sql.Driver. I.E. for postgres one \
would use org.postgresql.Driver. This class must be present on the classpath.
helppopup.playlistfolder.title = \u64AD\u653E\u6E05\u55AE\u8CC7\u6599\u593E
helppopup.playlistfolder.text = <p>\u5B58\u653E\u64AD\u653E\u6E05\u55AE\u7684\u8CC7\u6599\u593E\u3002</p>
helppopup.musicmask.title = \u97F3\u6A02\u7684\u9644\u5C6C\u6A94\u540D
helppopup.musicmask.text = <p>\u6307\u5B9A\u97F3\u6A02\u6A94\u6848\u7684\u9644\u5C6C\u6A94\u540D</p>
helppopup.videomask.title = \u8996\u8A0A\u6A94\u7684\u9644\u5C6C\u6A94\u540D
helppopup.videomask.text = <p>\u6307\u5B9A\u8996\u8A0A\u6A94\u6848\u7684\u8CA0\u6578\u6A94\u540D</p>
helppopup.coverartmask.title = \u5C08\u8F2F\u5C01\u9762\u9644\u5C6C\u6A94\u540D
helppopup.coverartmask.text = <p>\u8207\u97F3\u6A02\u8CC7\u6599\u593E\u653E\u5728\u4E00\u8D77\u7684\u5C08\u8F2F\u5C01\u9762\uFF0C\u5148\u6307\u5B9A\u5C08\u8F2F\u5C01\u9762\u6A94\u6848\u7684\u9644\u5C6C\u6A94\u540D\u3002</p>
helppopup.musicmask.title = \u97F3\u6A02\u7684\u9644\u6A94\u540D
helppopup.musicmask.text = <p>\u6307\u5B9A\u97F3\u6A02\u6A94\u6848\u7684\u9644\u6A94\u540D</p>
helppopup.videomask.title = \u8996\u8A0A\u6A94\u7684\u9644\u6A94\u540D
helppopup.videomask.text = <p>\u6307\u5B9A\u8996\u8A0A\u6A94\u6848\u7684\u9644\u6A94\u540D</p>
helppopup.coverartmask.title = \u5C08\u8F2F\u5C01\u9762\u9644\u6A94\u540D
helppopup.coverartmask.text = <p>\u8207\u97F3\u6A02\u8CC7\u6599\u593E\u653E\u5728\u4E00\u8D77\u7684\u5C08\u8F2F\u5C01\u9762\uFF0C\u5148\u6307\u5B9A\u5C08\u8F2F\u5C01\u9762\u6A94\u6848\u7684\u9644\u6A94\u540D\u3002</p>
helppopup.downsamplecommand.title = \u964D\u983B\u6307\u4EE4
helppopup.downsamplecommand.text = <p>\u8B93\u60A8\u8A2D\u5B9A\u8ABF\u964D\u64AD\u653E\u97F3\u6A02\u6642\u964D\u4F4E\u53D6\u6A23\u983B\u7387\u7684\u6307\u4EE4\u3002</p>\
<p>(%s = \u8981\u964D\u983B\u7684\u6A94\u6848\uFF0C%b = \u64A5\u653E\u5668\u7684\u6700\u5927\u50B3\u8F38\u7387\uFF0C%t = \u6A19\u984C\uFF0C%a = \u6B4C\u624B\uFF0C%l = \u5C08\u8F2F)</p>
<p>(%s = \u8981\u964D\u983B\u7684\u6A94\u6848\uFF0C%b = \u64AD\u653E\u5668\u7684\u6700\u5927\u50B3\u8F38\u7387\uFF0C%t = \u6A19\u984C\uFF0C%a = \u4F5C\u8005\uFF0C%l = \u5C08\u8F2F)</p>
helppopup.hlscommand.title = HTTP Live Streaming command
helppopup.hlscommand.text = <p>The command used to create video segments for Apple''s HLS (HTTP Live Streaming) protocol.</p>
helppopup.index.title = \u5206\u985E\u6AA2\u7D22
helppopup.index.text = <p>\u8A2D\u5B9A\u97F3\u6A02\u7D22\u5F15(\u5728\u87A2\u5E55\u5DE6\u65B9)\u6B78\u985E\u7684\u65B9\u5F0F\u3002\u5728\u97F3\u6A02\u8CC7\u6599\u593E\u88E1\u7684 \
\u6A94\u6848\u5F88\u5BB9\u6613\u900F\u904E\u7D22\u5F15\u5B58\u53D6\u3002</p> \
<p>\u5B9A\u7FA9\u65B9\u5F0F\u662F\u4EE5\u7A7A\u767D\u5206\u9694\u7684\u7D22\u5F15\u9805\u76EE\u3002\u4E00\u822C\u4F86\u8AAA\uFF0C\u9805\u76EE\u662F\u55AE\u4E00\u5B57\u6BCD\uFF0C \
\u4F46\u60A8\u4E5F\u53EF\u4EE5\u6307\u5B9A\u591A\u500B\u5B57\u6BCD\u3002\u4F8B\u5982\uFF1A\u9805\u76EE The \u6703\u9023\u7D50\u5230\u6240\u6709 \
\u958B\u982D\u70BA "The" \u7684\u8CC7\u6599\u593E\u8207\u6A94\u6848\u3002</p> \
helppopup.hlscommand.text = <p>\u7528\u4F86\u70BA Apple \u7684 HLS (HTTP Live Streaming) \u5354\u5B9A\u4F7F\u7528\u800C\u5EFA\u7ACB\u5F71\u7247\u7247\u6BB5\u7684\u6307\u4EE4\u3002</p>
helppopup.index.title = \u7D22\u5F15
helppopup.index.text = <p>\u6307\u5B9A\u97F3\u6A02\u7D22\u5F15 (\u5728\u87A2\u5E55\u5DE6\u65B9) \u7684\u986F\u793A\u65B9\u5F0F\u3002 \
\u5728\u6839\u97F3\u6A02\u8CC7\u6599\u593E\u88E1\u7684\u6A94\u6848\u8207\u8CC7\u6599\u593E\u80FD\u900F\u904E\u7D22\u5F15\u8F15\u9B06\u5B58\u53D6\u3002</p> \
<p>\u8A2D\u5B9A\u7684\u683C\u5F0F\u662F\u4EE5\u7A7A\u767D\u5206\u9694\u7684\u7D22\u5F15\u9805\u76EE\u7684\u6E05\u55AE\u3002 \
\u4E00\u822C\u4F86\u8AAA\uFF0C\u9805\u76EE\u662F\u55AE\u4E00\u5B57\u6BCD\uFF0C\u4F46\u60A8\u4E5F\u53EF\u4EE5\u6307\u5B9A\u591A\u500B\u5B57\u6BCD\u3002 \
\u4F8B\u5982\uFF1A\u9805\u76EE The \u6703\u9023\u7D50\u5230\u6240\u6709\u958B\u982D\u70BA\u300CThe\u300D\u7684\u8CC7\u6599\u593E\u8207\u6A94\u6848\u3002</p> \
<p>\u60A8\u4E5F\u53EF\u4EE5\u7528\u62EC\u5F27\u4F86\u5305\u542B\u591A\u500B\u7D22\u5F15\u5B57\u5143\u3002\u4F8B\u5982\uFF1A \
<em>A-E(ABCDE)</em> \u6703\u986F\u793A\u70BA <em>A-E</em> \u4E26\u9023\u7D50\u5230\u6240\u6709\u958B\u982D\u70BA \
A\u3001B\u3001C\u3001D\u6216E\u7684\u8CC7\u6599\u593E\u8207\u6A94\u6848\u3002\u9019\u5C0D\u65BC\u6536\u7D0D\u5C11\u898B\u7684\u5B57\u5143(\u50CF\u662FX\u3001Y\u8207Z)\u5F88\u6709\u5E6B\u52A9\uFF0C\u6216 \
\u6B78\u985E\u91CD\u97F3\u5B57\u5143(\u5982A\u3001\u00C0\u8207\u00C1)</p> \
<p>\u7121\u6CD5\u6B78\u985E\u7684\u8CC7\u6599\u593E\u8207\u6A94\u6848\uFF0C\u5C07\u5168\u90E8\u6B78\u65BC "#" \u9805\u76EE\u4E2D\u3002</p>
<p>\u7121\u6CD5\u6B78\u985E\u7684\u8CC7\u6599\u593E\u8207\u6A94\u6848\uFF0C\u5C07\u5168\u90E8\u6B78\u65BC \u300C#\u300D \u9805\u76EE\u4E2D\u3002</p>
helppopup.ignoredarticles.title = \u5FFD\u7565\u5B57\u9996
helppopup.ignoredarticles.text = <p>\u6709\u4E9B\u5B57\u9996(\u4F8B\u5982"The") \u901A\u5E38\u5728\u66F2\u76EE\u6B78\u985E\u4E2D\u61C9\u8A72\u5FFD\u7565\uFF0C\u8ACB\u5728\u6B64\u8655\u8A2D\u5B9A\u3002</p>
helppopup.ignoredarticles.text = <p>\u8B93\u60A8\u53EF\u4EE5\u6307\u5B9A\u5B57\u9996\u6E05\u55AE (\u4F8B\u5982\u300CThe\u300D) \uFF0C\u4F7F\u9019\u4E9B\u5B57\u9996\u5728\u5EFA\u7ACB\u76EE\u9304\u6642\u6703\u88AB\u5FFD\u7565\u3002</p>
helppopup.shortcuts.title = \u6377\u5F91
helppopup.shortcuts.text = <p>\u4EE5\u7A7A\u767D\u4F86\u5206\u9694\u5728\u6700\u4E0A\u5C64\u76EE\u9304\u4E2D\u5EFA\u7ACB\u6377\u5F91\u6AA2\u7D22\u3002\u7528\u5F15\u865F\u4F86\u5206\u7D44\u5B57\u5143\uFF0C\u4F8B\u5982\uFF1A</p> \
<p><em>New Incoming "Sound tracks"</em></p>
helppopup.language.title = \u8A9E\u8A00
helppopup.language.text = <p>\u5728\u9019\u88E1\u9078\u64C7\u6240\u63D0\u4F9B\u7684\u986F\u793A\u8A9E\u8A00\u3002</p>
helppopup.visibility.title = \u986F\u793A\u9805\u76EE
helppopup.visibility.text = <p>\u9078\u64C7\u5728\u700F\u89BD\u6216\u662F\u5728\u64AD\u653E\u6E05\u55AE\u4E2D\uFF0C\u986F\u793A\u97F3\u6A02\u7684\u5404\u7A2E\u8A73\u7D30\u8CC7\u8A0A</p>
helppopup.visibility.text = <p>\u9078\u64C7\u5728\u700F\u89BD\u6216\u662F\u5728\u64AD\u653E\u6E05\u55AE\u4E2D\uFF0C\u986F\u793A\u97F3\u6A02\u7684\u5404\u7A2E\u8A73\u7D30\u8CC7\u8A0A\u3002</p>
helppopup.partymode.title = \u5BB4\u6703\u6A21\u5F0F
helppopup.partymode.text = <p>\u4F7F\u7528\u5BB4\u6703\u6A21\u5F0F\u7C21\u5316\u4F7F\u7528\u8005\u754C\u9762\uFF0C\u63D0\u4F9B\u7D66\u7121\u7D93\u9A57\u7684\u4F7F\u7528\u8005\u64CD\u4F5C\
helppopup.partymode.text = <p>\u4F7F\u7528\u5BB4\u6703\u6A21\u5F0F\u7C21\u5316\u4F7F\u7528\u8005\u754C\u9762\uFF0C\u63D0\u4F9B\u7D66\u7121\u7D93\u9A57\u7684\u4F7F\u7528\u8005\u64CD\u4F5C\uFF0C \
\u4E5F\u53EF\u4EE5\u907F\u514D\u56E0\u70BA\u610F\u5916\u64CD\u4F5C\u800C\u5F04\u4E82\u4E86\u64AD\u653E\u6E05\u55AE\u3002</p>
helppopup.theme.title = \u4F48\u666F\u4E3B\u984C
helppopup.theme.text = <p>\u8B93\u60A8\u53EF\u4EE5\u9078\u64C7\u4E0D\u540C\u7684\u4F48\u666F\u4E3B\u984C\u3002\u4F48\u666F\u4E3B\u984C\u900F\u904E\u4E0D\u540C\u7684\u984F\u8272\u3001\u5B57\u9AD4\u3001\u5716\u50CF\u7B49\uFF0C\u5E36\u7D66\u60A8\u4E0D\u540C\u7684{0}\u611F\u53D7\u3002</p>
helppopup.theme.text = <p>\u8B93\u60A8\u53EF\u4EE5\u9078\u64C7\u4E0D\u540C\u7684\u4F48\u666F\u4E3B\u984C\u3002\u4F48\u666F\u4E3B\u984C\u900F\u904E\u4E0D\u540C\u7684\u984F\u8272\u3001\u5B57\u9AD4\u3001\u5716\u50CF\u7B49\uFF0C\u5E36\u7D66\u60A8\u4E0D\u540C\u7684 {0} \u611F\u53D7\u3002</p>
helppopup.welcomemessage.title = \u6B61\u8FCE\u6A19\u984C
helppopup.welcomemessage.text = <p>\u5728\u9996\u9801\u4E2D\u986F\u793A\u7684\u6A19\u984C\u3002</p>
helppopup.loginmessage.title = \u767B\u5165\u8A0A\u606F
@ -737,41 +823,43 @@ helppopup.ldap.text = <p>\u4F7F\u7528\u8005\u53EF\u4EE5\u7D93\u7531\u5916\u90E8\
\u7576\u8A2D\u5B9A\u4F7F\u7528LDAP\u4F7F\u7528\u8005\u767B\u5165 {0}\uFF0C\u5E33\u865F\u53CA\u5BC6\u78BC\u5C31\u7531\u5916\u90E8\u4F3A\u670D\u5668\u9A57\u8B49\uFF0C\u800C\u4E0D\u662F\u7531{0}\u4F86\u9A57\u8B49\u3002</p>
helppopup.ldapurl.title = LDAP \u4F4D\u5740
helppopup.ldapurl.text = <p>\u8A2D\u5B9A LDAP \u4F3A\u670D\u5668\u7684\u4F4D\u5740\u3002\u5354\u5B9A\u61C9\u8A72\u662F <em>ldap://</em> \u6216 <em>ldaps://</em> \
(\u7D93\u7531SSL\u7684LDAP\u5354\u5B9A)\u3002\u8ACB\u53C3\u8003<a href="http://java.sun.com/products/jndi/tutorial/ldap/misc/url.html" target="_blank">\u9019\u88E1</a> \
(\u7D93\u7531 SSL \u7684 LDAP \u5354\u5B9A)\u3002\u8ACB\u53C3\u8003<a href="http://java.sun.com/products/jndi/tutorial/ldap/misc/url.html" target="_blank">\u9019\u88E1</a> \
\u6709\u66F4\u591A\u8A73\u7D30\u8AAA\u660E\u3002</p>
helppopup.ldapsearchfilter.title = LDAP \u641C\u5C0B\u904E\u6FFE
helppopup.ldapsearchfilter.text = <p>\u8490\u5C0BLDAP\u7528\u6236\u6642\uFF0C\u5728\u9019\u88E1\u8A2D\u5B9A\u904E\u6FFE\u8868\u793A\u5F0F \
helppopup.ldapsearchfilter.text = <p>\u641C\u5C0B LDAP \u7528\u6236\u6642\uFF0C\u5728\u9019\u88E1\u8A2D\u5B9A\u904E\u6FFE\u8868\u793A\u5F0F \
(\u5B9A\u7FA9\u5728<a href="http://www.ietf.org/rfc/rfc2254.txt" target="_blank">RFC 2254</a>)\u3002 \
The pattern "'{0'}" is replaced by the username, \u4F8B\u5982: \
\u5176\u4E2D\u5B57\u4E32\u300C'{0'}\u300D\u6703\u88AB\u53D6\u4EE3\u70BA\u5E33\u865F\uFF0C\u4F8B\u5982\uFF1A \
<ul>\
<li>(uid='{0'}) - this would search for a username match on the uid attribute.</li> \
<li>(sAMAccountName='{0'}) - typically used for authentication in Microsoft Active Directory.</li> \
<li>(uid='{0'}) - \u9019\u6703\u641C\u5C0B\u7B26\u5408 uid \u5C6C\u6027\u7684\u4F7F\u7528\u8005\u3002</li> \
<li>(sAMAccountName='{0'}) - \u901A\u5E38\u7528\u65BC Microsoft Active Directory \u4E2D\u7684\u8EAB\u4EFD\u9A57\u8B49\u3002</li> \
</ul></p>
helppopup.ldapmanagerdn.title = LDAP \u7BA1\u7406\u8005 DN
helppopup.ldapmanagerdn.text = <p>\u5982\u679C LDAP \u4F3A\u670D\u5668\u4E0D\u652F\u63F4\u533F\u540D\u4F7F\u7528\u8005\u9023\u7DDA\uFF0C\u60A8\u5FC5\u9808\u6307\u5B9A DN \
(<em>Distinguished Name</em>)\u53CALDAP\u4F7F\u7528\u8005\u7684\u5BC6\u78BC\u3002</p>
helppopup.ldapmanagerdn.text = <p>\u5982\u679C LDAP \u4F3A\u670D\u5668\u4E0D\u652F\u63F4\u533F\u540D\u9023\u7DDA\uFF0C\u60A8\u5FC5\u9808\u6307\u5B9A LDAP \u5E33\u865F\u7684 DN \
(<em>Distinguished Name</em>)\u8207\u5BC6\u78BC\u3002</p>
helppopup.ldapautoshadowing.title = \u5728 {0} \u81EA\u52D5\u5EFA\u7ACB LDAP \u5E33\u865F
helppopup.ldapautoshadowing.text = <p>\u8A2D\u5B9A\u9019\u500B\u9078\u9805\uFF0C\u5247LDAP \u7528\u6236\u4E0D\u5FC5\u5728\u767B\u5165\u4E4B\u524D\u624B\u52D5\u5EFA\u7ACB{0}\u7684\u5E33\u865F\u3002</p> \
<p>\u6CE8\u610F\uFF01 \u9019\u8868\u793A\u6240\u6709\u5728LDAP\u4E0A\u7684\u4F7F\u7528\u8005\u90FD\u53EF\u4EE5\u767B\u5165\u60A8\u7684{0}\uFF0C\
helppopup.ldapautoshadowing.text = <p>\u8A2D\u5B9A\u9019\u500B\u9078\u9805\uFF0C\u5247 LDAP \u7528\u6236\u4E0D\u5FC5\u5728\u767B\u5165\u4E4B\u524D\u624B\u52D5\u5EFA\u7ACB {0} \u7684\u5E33\u865F\u3002</p> \
<p>\u6CE8\u610F\uFF01 \u9019\u8868\u793A\u6240\u6709\u5728 LDAP \u4E0A\u7684\u4F7F\u7528\u8005\u90FD\u53EF\u4EE5\u767B\u5165\u60A8\u7684 {0}\uFF0C\
\u4E5F\u8A31\u9019\u4E0D\u662F\u60A8\u60F3\u8981\u7684\u529F\u80FD\u3002</p>
helppopup.playername.title = \u64A5\u653E\u5668\u540D\u7A31
helppopup.playername.text = <p>\u8B93\u60A8\u5E6B\u64AD\u653E\u5668\u6307\u5B9A\u4E00\u500B\u5BB9\u6613\u8A18\u4F4F\u7684\u540D\u5B57\uFF0C\u5982\u201C\u5DE5\u4F5C\u5BA4\u201D\u6216\u201C\u5BA2\u5EF3\u201D</p>
helppopup.playername.title = \u64AD\u653E\u5668\u540D\u7A31
helppopup.playername.text = <p>\u8B93\u60A8\u5E6B\u64AD\u653E\u5668\u6307\u5B9A\u4E00\u500B\u5BB9\u6613\u8A18\u4F4F\u7684\u540D\u5B57\uFF0C\u5982\u300C\u5DE5\u4F5C\u5BA4\u300D\u6216\u300C\u5BA2\u5EF3\u300D\u3002</p>
helppopup.autocontrol.title = \u63A7\u5236\u64AD\u653E\u5668\u81EA\u52D5\u64AD\u653E
helppopup.autocontrol.text = <p>\u8A2D\u5B9A\u9019\u500B\u9078\u9805\uFF0C {0} \u5728\u60A8\u958B\u59CB\u64AD\u653E\u6642\uFF0C\u6703\u81EA\u52D5\u555F\u52D5\u64AD\u653E\u5668\
\u5426\u5247\u60A8\u5FC5\u9808\u81EA\u5DF1\u555F\u52D5\u4E26\u4E14\u9023\u63A5\u60A8\u7684\u64A5\u653E\u5668\u3002</p>
\u5426\u5247\u60A8\u5FC5\u9808\u81EA\u5DF1\u555F\u52D5\u4E26\u4E14\u9023\u63A5\u60A8\u7684\u64AD\u653E\u5668\u3002</p>
helppopup.m3ubom.title = \u61C9\u7528 BOM \u65BC M3U \u6A94\u6848
helppopup.m3ubom.text = <p>\u61C9\u7528 BOM \u6A19\u8A18\u65BC\u7522\u751F\u7684 M3U \u64AD\u653E\u6E05\u55AE\u4F86\u589E\u52A0 Unicode \u76F8\u5BB9\u6027\u3002</p>
helppopup.dynamicip.title = \u52D5\u614B IP \u4F4D\u5740
helppopup.dynamicip.text = <p>\u95DC\u9589\u6B64\u9078\u9805\uFF0C\u5982\u679C\u60A8\u4F7F\u7528\u975C\u614BIP\u4F4D\u5740\u3002</p>
helppopup.smtpServer.title = SMTP \u4F3A\u670D\u5668
helppopup.smtpServer.text = <p>The hostname of the SMTP server. This server will be used to send e-mails to users \
who have requested a password reset.</p>
helppopup.smtpPort.title = SMTP Port
helppopup.smtpPort.text = <p>The server's port that should be connected to for SMTP traffic.</p>
helppopup.smtpCredentials.title = SMTP Credentials
helppopup.smtpCredentials.text = <p>The credentials to be used to connect to the SMTP server. Leave empty to connect without authentication.</p>
helppopup.smtpEncryption.title = SMTP Encryption
helppopup.smtpEncryption.text = <p>The encryption method to be used to connect to the SMTP server. Choose "None" for no encryption.</p>
helppopup.smtpFrom.title = From address
helppopup.smtpFrom.text = <p>The sender address for mails originating from the Libresonic server. Must be a valid e-mail address.</p>
helppopup.smtpServer.text = <p>SMTP \u4F3A\u670D\u5668\u7684\u4E3B\u6A5F\u540D\u7A31\u3002 \
\u6B64\u4F3A\u670D\u5668\u662F\u7528\u4F86\u5C0D\u8ACB\u6C42\u91CD\u8A2D\u5BC6\u78BC\u7684\u4F7F\u7528\u8005\u767C\u9001\u96FB\u5B50\u90F5\u4EF6\u3002</p>
helppopup.smtpPort.title = SMTP \u9023\u63A5\u57E0
helppopup.smtpPort.text = <p>\u4F3A\u670D\u5668\u7528\u4F86\u8655\u7406 SMTP \u670D\u52D9\u7684\u9023\u63A5\u57E0\u3002</p>
helppopup.smtpCredentials.title = SMTP \u6191\u8B49
helppopup.smtpCredentials.text = <p>\u7528\u4F86\u9023\u63A5\u5230 SMTP \u4F3A\u670D\u5668\u7684\u6191\u8B49\u3002\u82E5\u7559\u767D\u6642\u9023\u7DDA\u6642\u5C07\u4E0D\u9A57\u8B49\u3002</p>
helppopup.smtpEncryption.title = SMTP \u52A0\u5BC6
helppopup.smtpEncryption.text = <p>\u9023\u63A5 SMTP \u4F3A\u670D\u5668\u6642\u4F7F\u7528\u7684\u52A0\u5BC6\u65B9\u5F0F\u3002\u9078\u64C7\u300CNone\u300D\u5C07\u4E0D\u52A0\u5BC6\u3002</p>
helppopup.smtpFrom.title = \u4F86\u6E90\u4F4D\u5740
helppopup.smtpFrom.text = <p>Libresonic \u4F3A\u670D\u5668\u5BC4\u9001\u6642\u4F7F\u7528\u7684\u4F86\u6E90\u4F4D\u5740\u3002\u5FC5\u9808\u662F\u5408\u6CD5\u7684\u96FB\u5B50\u90F5\u4EF6\u4F4D\u5740\u3002</p>
# wap/index.jsp
wap.index.missing = \u627E\u4E0D\u5230\u97F3\u6A02
@ -792,7 +880,7 @@ wap.playlist.title = \u64AD\u653E\u6E05\u55AE
wap.playlist.noplayer = \u9023\u63A5\u4E0D\u5230\u64AD\u653E\u5668
wap.playlist.clear = \u6E05\u9664
wap.playlist.load = \u8F09\u5165
wap.playlist.random = \u96A8\u8208
wap.playlist.random = \u96A8\u6A5F
wap.playlist.play = \u5728\u96FB\u8A71\u4E2D\u64AD\u9001
# wap/search.jsp

Loading…
Cancel
Save