diff --git a/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_zh_TW.properties b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_zh_TW.properties
index c0b9240d..207cfd65 100644
--- a/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_zh_TW.properties
+++ b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_zh_TW.properties
@@ -140,6 +140,15 @@ playlist2.confirmdelete = \u60A8\u78BA\u5B9A\u8981\u522A\u9664\u6B64\u64AD\u653E
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}
+
+# videoPlayer.jsp
+videoPlayer.getflash = Please install Flash Player
+videoPlayer.getpremium = Get Subsonic Premium to play on Chromecast.
# status.jsp
status.title = \u72C0\u614B
@@ -153,6 +162,10 @@ status.current = \u76EE\u524D\u64AD\u653E
status.transmitted = \u50B3\u8F38
status.bitrate = Bitrate (Kbps)
+# starred.jsp
+starred.title = My starred items
+starred.empty = Click the star icons to mark your favorite artist, albums and songs.
+
# search.jsp
search.title = \u641C\u5C0B
search.query = \u6B4C\u624B\u3001\u5C08\u8F2F\u6216\u6B4C\u66F2\u6A19\u984C\u3002
@@ -182,6 +195,7 @@ gettingStarted.step3.text = \u5982\u679C\u60A8\u8981\u900F\u904E\u7DB2\u969B\u7D
\u4E26\u53D6\u5F97\u60A8\u7684\u5C08\u5C6C\u7DB2\u5740\u50CF\u662Fyourname.libresonic.org\u3002
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 = To show this screen again, go to Settings > General.
# home.jsp
home.random.title = \u96A8\u8208\u64AD\u653E
@@ -271,16 +285,12 @@ help.version.title = \u7248\u672C
help.builddate.title = \u65E5\u671F
help.server.title = \u4F3A\u670D\u5668
help.license.title = \u6388\u6B0A
-help.license.text = {0} \u662F\u4EE5 GPL \u578B\u5F0F\u767C\u4F48\u6388\u6B0A\u7684\u81EA\u7531\u8EDF\u9AD4\u3002
\
- {0} \u4F7F\u7528 \u7B2C\u4E09\u65B9\u6388\u6B0A\u3002
+help.license.text = {0} \u662F\u4EE5 GPL \u578B\u5F0F\u767C\u4F48\u6388\u6B0A\u7684\u81EA\u7531\u8EDF\u9AD4\u3002
{0} \u4F7F\u7528 \u7B2C\u4E09\u65B9\u6388\u6B0A\u3002
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 \
- (sindre@activeobjects.no)\u3002 \
- \u5982\u679C\u60A8\u6709\u4EFB\u4F55\u7591\u554F\uFF0C\u610F\u898B\u6216\u5EFA\u8B70\u6539\u5584\uFF0C\u8ACB\u5230 \
- Libresonic\u8AD6\u58C7\u3002
+help.contact.text = {0} \u7531 Sindre Mehus \u958B\u767C\u53CA\u7DAD\u8B77(sindre@activeobjects.no)\u3002\u5982\u679C\u60A8\u6709\u4EFB\u4F55\u7591\u554F\uFF0C\u610F\u898B\u6216\u5EFA\u8B70\u6539\u5584\uFF0C\u8ACB\u5230Libresonic\u8AD6\u58C7\u3002
help.log = \u8A18\u9304
help.logfile = \u5B8C\u6574\u7684\u7D00\u9304\u5B58\u653E\u5728 {0}\u3002
@@ -333,6 +343,15 @@ advancedsettings.ldapsearchfilter = LDAP \u641C\u5C0B\u904E\u6FFE
advancedsettings.ldapmanagerdn = LDAP \u7BA1\u7406\u8005 DN
(\u53EF\u9078\u64C7)
advancedsettings.ldapmanagerpassword = \u5BC6\u78BC
advancedsettings.ldapautoshadowing = \u81EA\u52D5\u5728{0}\u5EFA\u7ACB\u4F7F\u7528\u8005
+advancedsettings.smtpPort = SMTP \u9023\u63A5\u57E0
+advancedsettings.smtpServer = SMTP \u4F3A\u670D\u5668
+advancedsettings.smtpEncryption = SMTP \u52A0\u5BC6
+advancedsettings.smtpUser = SMTP \u5E33\u865F
+advancedsettings.smtpPassword = \u5BC6\u78BC
+advancedsettings.smtpEncryption.none = \u7121
+advancedsettings.smtpEncryption.starttls = STARTTLS
+advancedsettings.smtpEncryption.ssl = SSL/TLS
+advancedsettings.smtpFrom = \u5BC4\u4EF6\u8005
# personalSettings.jsp
personalsettings.title = {0}\u7684\u500B\u4EBA\u5316\u8A2D\u5B9A
@@ -394,7 +413,8 @@ musicfoldersettings.interval.never = \u5F9E\u4E0D
musicfoldersettings.interval.one = \u6BCF\u5929
musicfoldersettings.interval.many = \u6BCF\u9694 {0} \u5929
musicfoldersettings.hour = \u5728 {0}:00
-musicfoldersettings.nowscanning = \u6B63\u5728\u6383\u63CF\u97F3\u6A02\u8CC7\u6599\u593E\u3002\u9019\u500B\u52D5\u4F5C\u5C07\u9700\u8981\u5E7E\u5206\u9418\uFF0C\u53D6\u6C7A\u65BC\u60A8\u7684\u5A92\u9AD4\u8CC7\u6599\u5EAB\u7684\u5927\u5C0F\u3002
+musicfoldersettings.nowscanning = \u6B63\u5728\u6383\u63CF\u97F3\u6A02\u8CC7\u6599\u593E\u3002 \
+ \u9019\u500B\u52D5\u4F5C\u5C07\u9700\u8981\u5E7E\u5206\u9418\uFF0C\u53D6\u6C7A\u65BC\u60A8\u7684\u5A92\u9AD4\u8CC7\u6599\u5EAB\u7684\u5927\u5C0F\u3002
musicfoldersettings.scannow = \u7ACB\u5373\u6383\u63CF\u97F3\u6A02\u8CC7\u6599\u593E
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
@@ -402,7 +422,8 @@ 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.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.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
@@ -417,6 +438,8 @@ networksettings.urlredirectionenabled = \u7528\u7C21\u55AE\u597D\u8A18\u7684\u7D
networksettings.status = \u72C0\u614B\uFF1A
networksettings.normalurl = Use
networksettings.customurl = Use custom URL (advanced)
+networksettings.urlRedirectDisabled = Feature not currently available
+
# transcodingSettings.jsp
transcodingsettings.name = \u8F49\u6A94\u540D\u7A31
@@ -483,8 +506,8 @@ playersettings.technology.external_with_playlist.title = \u4EE5\u64AD\u653E\u6E0
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.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
\uFF0C\u56E0\u6B64\u53EF\u4EE5\u8DF3\u8457\u64AD\u653E\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.maxbitrate = \u6700\u5927\u50B3\u8F38\u7387
@@ -535,11 +558,11 @@ usersettings.stream = \u53EF\u4EE5\u64AD\u653E\u6A94\u6848
usersettings.jukebox = \u53EF\u4EE5\u7528\u9EDE\u64A5\u6A5F\u6A21\u5F0F
usersettings.download = \u53EF\u4EE5\u4E0B\u8F09\u6A94\u6848
usersettings.upload = \u53EF\u4EE5\u4E0A\u50B3\u6A94\u6848
-usersettings.share = User is allowed to share files with anyone
+usersettings.share = \u53EF\u4EE5\u8207\u4EFB\u4F55\u4EBA\u5206\u4EAB\u6A94\u6848
usersettings.coverart = \u53EF\u4EE5\u66F4\u63DB\u5C08\u8F2F\u5C01\u9762\u53CA\u6A19\u7C64
usersettings.comment= \u53EF\u4EE5\u5EFA\u7ACB\u6216\u7DE8\u8F2F\u8A55\u8AD6\u53CA\u8A55\u5206
usersettings.podcast= \u53EF\u4EE5\u7BA1\u7406\u64AD\u5BA2
-usersettings.folderaccess = Allow access to these media folders
+usersettings.folderaccess = \u53EF\u4EE5\u5B58\u53D6\u9019\u4E9B\u5A92\u9AD4\u8CC7\u6599\u593E
usersettings.username = \u4F7F\u7528\u8005
usersettings.email = Email
usersettings.changepassword = \u8B8A\u66F4\u5BC6\u78BC
@@ -549,7 +572,7 @@ 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= Invalid email address.
+usersettings.noemail= \u4E0D\u5408\u6CD5\u7684 email \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
@@ -568,34 +591,34 @@ main.playcount = \u64AD\u653E {0} \u6B21\u3002
main.lastplayed =\u4E0A\u6B21\u64AD\u653E\u5728 {0} \u3002
main.comment = \u8A55\u8AD6
main.wiki = \
- __text__ | Bold text | \\\\ | Line break |
\
- ~~text~~ | Italic text | (empty line) | New paragraph |
\
- * text | List item | http://foo.com/ | Link |
\
- 1. text | Enumerated list item | {link:Foo|http://foo.com} | Named link |
\
+ __text__ | \u7C97\u9AD4 | \\\\ | \u63DB\u884C |
\
+ ~~text~~ | \u659C\u9AD4 | (empty line) | \u65B0\u6BB5\u843D |
\
+ * text | \u6E05\u55AE | http://foo.com/ | \u934A\u7D50 |
\
+ 1. text | \u5217\u8209\u6E05\u55AE | {link:Foo|http://foo.com} | \u5DF2\u547D\u540D\u934A\u7D50 |
\
-main.sharealbum = Share
-main.more = More actions...
-main.more.selection = Selected songs...
-main.more.share = Share
-main.premium = Get Subsonic Premium
(and remove this ad)
+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.premium = \u53D6\u5F97 Subsonic Premium
(\u4E26\u522A\u9664\u6B64\u5EE3\u544A)
main.nowplaying =\u76EE\u524D\u64A5\u653E
main.lyrics = \u6B4C\u8A5E
main.minutesago = \u5206\u9418\u524D
main.chat = \u4EA4\u8AC7
-main.scanning = Scanning files:
+main.scanning = \u6383\u63CF\u6A94\u6848\uFF1A
main.message = \u5BEB\u5728\u9019\u88E1
main.clearchat = \u6E05\u9664
-main.addtoplaylist.title = Add to playlist
-main.addtoplaylist.text = Add selected songs to this playlist:
-main.addnext = Play next
-main.addlast = Play last
-main.addnext.toast = Song will be played next
-main.addlast.toast = Song will be played last
-main.similarartists = Similar artists
+main.addtoplaylist.title = \u589E\u52A0\u81F3\u64AD\u653E\u6E05\u55AE
+main.addtoplaylist.text = \u589E\u52A0\u5DF2\u9078\u64C7\u7684\u6B4C\u66F2\u81F3\u6B64\u64AD\u653E\u6E05\u55AE\uFF1A
+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.playtopsongs = Play top songs
-main.showall = Show all albums
-main.topsongs = Top songs
+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
@@ -613,7 +636,7 @@ changecoverart.title = \u8B8A\u66F4\u5C08\u8F2F\u5C01\u9762
changecoverart.address = \u6216\u662F\u8F38\u5165\u5716\u5F62\u7684\u4F4D\u5740
changecoverart.artist = \u6B4C\u624B
changecoverart.album = \u5C08\u8F2F
-changecoverart.search = Google Image Search
+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
@@ -645,9 +668,9 @@ edittags.error = \u932F\u8AA4
# share.jsp
share.title = Share
share.warning = IMPORTANT NOTICE!
Play fair – Don't share copyrighted material in any manner that violates the law.
-share.facebook = Share on Facebook
-share.twitter = Share on Twitter
-share.googleplus = Share on Google+
+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: {0}
share.disabled = To share your music with someone you must first register your own libresonic.org address.
\
Please go to Settings > Network (administrative rights required).
@@ -669,7 +692,7 @@ premium.text = Upgrade to * Some apps must be purchased separately.
-premium.getpremium = Get Subsonic Premium
+premium.getpremium = \u53D6\u5F97 Subsonic Premium
premium.licensed = You have a valid Subsonic Premium license!
premium.licensedexpires = Your Subsonic Premium license is valid until {0}
premium.licensedexpired = Your Subsonic Premium license expired {0}
@@ -683,7 +706,7 @@ premium.register.license = License key
# podcastReceiver.jsp
podcastreceiver.title = \u64AD\u5BA2\u63A5\u6536\u5668
podcastreceiver.empty = You haven't subscribed to any podcasts yet.
-podcastreceiver.episodes = {0} episodes
+podcastreceiver.episodes = {0} \u7AE0\u7BC0
podcastreceiver.expandall = \u986F\u793A\u6536\u85CF\u96C6
podcastreceiver.collapseall = \u96B1\u85CF\u6536\u85CF\u96C6
podcastreceiver.status.new = \u65B0\u7684
@@ -699,7 +722,7 @@ podcastreceiver.check = \u6838\u5C0D\u65B0\u7684\u6536\u85CF\u96C6
podcastreceiver.refresh = \u5237\u65B0\u672C\u9801
podcastreceiver.settings = \u64AD\u5BA2\u8A2D\u5B9A
podcastreceiver.subscribe = \u8A02\u95B1\u64AD\u5BA2
-podcastreceiver.newestepisodes = Newest episodes
+podcastreceiver.newestepisodes = \u6700\u65B0\u7AE0\u7BC0
# lyrics.jsp
lyrics.title = \u6B4C\u8A5E
@@ -746,7 +769,7 @@ helppopup.ignoredarticles.text = \u6709\u4E9B\u5B57\u9996(\u4F8B\u5982"The")
helppopup.shortcuts.title = \u6377\u5F91
helppopup.shortcuts.text =
\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
\
New Incoming "Sound tracks"
-helppopup.language.title = Language
+helppopup.language.title = \u8A9E\u8A00
helppopup.language.text = \u5728\u9019\u88E1\u9078\u64C7\u6240\u63D0\u4F9B\u7684\u986F\u793A\u8A9E\u8A00\u3002
helppopup.visibility.title = \u986F\u793A\u9805\u76EE
helppopup.visibility.text = \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
@@ -798,6 +821,17 @@ helppopup.autocontrol.text = \u8A2D\u5B9A\u9019\u500B\u9078\u9805\uFF0C {0} \
\u5426\u5247\u60A8\u5FC5\u9808\u81EA\u5DF1\u555F\u52D5\u4E26\u4E14\u9023\u63A5\u60A8\u7684\u64A5\u653E\u5668\u3002
helppopup.dynamicip.title = \u52D5\u614B IP \u4F4D\u5740
helppopup.dynamicip.text = \u95DC\u9589\u6B64\u9078\u9805\uFF0C\u5982\u679C\u60A8\u4F7F\u7528\u975C\u614BIP\u4F4D\u5740\u3002
+helppopup.smtpServer.title = SMTP \u4F3A\u670D\u5668
+helppopup.smtpServer.text = The hostname of the SMTP server. This server will be used to send e-mails to users \
+ who have requested a password reset.
+helppopup.smtpPort.title = SMTP Port
+helppopup.smtpPort.text = The server's port that should be connected to for SMTP traffic.
+helppopup.smtpCredentials.title = SMTP Credentials
+helppopup.smtpCredentials.text = The credentials to be used to connect to the SMTP server. Leave empty to connect without authentication.
+helppopup.smtpEncryption.title = SMTP Encryption
+helppopup.smtpEncryption.text = The encryption method to be used to connect to the SMTP server. Choose "None" for no encryption.
+helppopup.smtpFrom.title = From address
+helppopup.smtpFrom.text = The sender address for mails originating from the Libresonic server. Must be a valid e-mail address.
# wap/index.jsp
wap.index.missing = \u627E\u4E0D\u5230\u97F3\u6A02