diff --git a/web-src/src/components/ControlSetting.vue b/web-src/src/components/ControlSetting.vue
index a6e48903..db84b3c8 100644
--- a/web-src/src/components/ControlSetting.vue
+++ b/web-src/src/components/ControlSetting.vue
@@ -13,9 +13,9 @@
size="16"
/>
-
+
-
+
diff --git a/web-src/src/components/ControlUrlField.vue b/web-src/src/components/ControlUrlField.vue
index 93d075c7..49824fc0 100644
--- a/web-src/src/components/ControlUrlField.vue
+++ b/web-src/src/components/ControlUrlField.vue
@@ -1,9 +1,9 @@
@@ -27,11 +27,11 @@ export default {
loading: { default: false, type: Boolean },
placeholder: { required: true, type: String }
},
- emits: ['url-changed'],
+ emits: ['input'],
data() {
return {
disabled: true,
- url: ''
+ value: ''
}
},
mounted() {
@@ -43,7 +43,7 @@ export default {
validate(event) {
const { validity } = event.target
this.disabled = validity.patternMismatch || validity.valueMissing
- this.$emit('url-changed', this.url, this.disabled)
+ this.$emit('input', this.value, this.disabled)
}
}
}
diff --git a/web-src/src/components/ModalDialogAddRss.vue b/web-src/src/components/ModalDialogAddRss.vue
index 49d7e019..05231b38 100644
--- a/web-src/src/components/ModalDialogAddRss.vue
+++ b/web-src/src/components/ModalDialogAddRss.vue
@@ -11,7 +11,7 @@
:help="$t('dialog.add.rss.help')"
:loading="loading"
:placeholder="$t('dialog.add.rss.placeholder')"
- @url-changed="onUrlChanged"
+ @input="onUrlChange"
/>
@@ -67,7 +67,7 @@ export default {
cancel() {
this.$emit('close')
},
- onUrlChanged(url, disabled) {
+ onUrlChange(url, disabled) {
this.url = url
this.disabled = disabled
}
diff --git a/web-src/src/components/ModalDialogAddStream.vue b/web-src/src/components/ModalDialogAddStream.vue
index 399a3165..0d225374 100644
--- a/web-src/src/components/ModalDialogAddStream.vue
+++ b/web-src/src/components/ModalDialogAddStream.vue
@@ -11,7 +11,7 @@
icon="web"
:loading="loading"
:placeholder="$t('dialog.add.stream.placeholder')"
- @url-changed="onUrlChanged"
+ @input="onUrlChange"
/>
@@ -73,7 +73,7 @@ export default {
cancel() {
this.$emit('close')
},
- onUrlChanged(url, disabled) {
+ onUrlChange(url, disabled) {
this.url = url
this.disabled = disabled
},
diff --git a/web-src/src/components/ModalDialogPlaylistSave.vue b/web-src/src/components/ModalDialogPlaylistSave.vue
index 1e4846f8..2adbd852 100644
--- a/web-src/src/components/ModalDialogPlaylistSave.vue
+++ b/web-src/src/components/ModalDialogPlaylistSave.vue
@@ -8,7 +8,7 @@
diff --git a/web-src/src/i18n/de.json b/web-src/src/i18n/de.json
index d4a10ede..1133f249 100644
--- a/web-src/src/i18n/de.json
+++ b/web-src/src/i18n/de.json
@@ -21,7 +21,8 @@
"send": "Senden",
"show-more": "Zeige mehr",
"shuffle": "Zufallswiedergabe",
- "update": "Neu einlesen"
+ "update": "Neu einlesen",
+ "verify": "Verifizieren"
},
"count": {
"albums": "{count} Album|{count} Album|{count} Alben",
@@ -268,8 +269,7 @@
"pairing": "Pairing Remote",
"speaker-pairing-info": "Wenn der Laufsprecher PIN-basiertes Pairing verlangt, aktiviere ihn hier und gib dann den hier PIN an, der am Lautsprecher angezeigt wird.",
"speaker-pairing": "Lautsprecher-Pairing und Geräteverifikation",
- "verification-code": "Verifikationscode",
- "verify": "Verifizieren"
+ "verification-code": "Verifikationscode"
},
"general": {
"audiobooks": "Hörbücher",
@@ -295,20 +295,19 @@
},
"services": {
"lastfm": {
- "grant-access": "Melde Dich mit Deinem Last.fm-Benutzernamen und Passwort an, um Scrobbeln zu aktivieren",
+ "grant-access": "Melde Dich mit Deinem Last.fm-Benutzernamen und Passwort an, um Scrobbeln zu aktivieren.",
"info": "OwnTone wird den Benutzernamen und das Passwort von last.fm nicht speichern, nur den Sitzungs-Schlüssel. Dieser läuft nicht ab.",
"title": "Last.fm",
"no-support": "OwnTone wurde ohne Unterstützung für Last.fm erstellt."
},
"spotify": {
+ "authorize": "Authorisiere API-Zugriff",
+ "grant-access": "Zugriff auf die Spotify API gestatten.",
"no-support": "OwnTone wurde entweder ohne Unterstützung für Spotify erstellt oder libspotify ist nicht installiert.",
- "logged-as": "Angemeldet als ",
- "requirements": "Spotify Premium Abo erforderlich. Zugriff auf die Spotify Web-Api ermöglicht scannen der Spotify-Blibliothek. Erforderliche scopes sind: ",
- "user": "Zugriff gestattet für ",
- "authorize": "Authorisiere Web-API-Zugriff",
- "grant-access": "Zugriff auf die Spotify Web-API gestatten",
- "reauthorize": "Bitte den Zugriff der Web-API durch setzen folgender Zugriffsrechte für OwnTone: ",
- "title": "Spotify"
+ "reauthorize": "Bitte den Zugriff der API durch setzen folgender Zugriffsrechte für OwnTone: {scopes}.",
+ "requirements": "Spotify Premium Abo erforderlich. Zugriff auf die Spotify API ermöglicht scannen der Spotify-Blibliothek. Erforderliche scopes sind: {scopes}.",
+ "title": "Spotify",
+ "user": "Zugriff gestattet für {user}."
},
"password": "Passwort",
"username": "Benutzername"
diff --git a/web-src/src/i18n/en.json b/web-src/src/i18n/en.json
index 3bb6c974..c23f0a16 100644
--- a/web-src/src/i18n/en.json
+++ b/web-src/src/i18n/en.json
@@ -21,7 +21,8 @@
"send": "Send",
"show-more": "Show more",
"shuffle": "Shuffle",
- "update": "Update"
+ "update": "Update",
+ "verify": "Verify"
},
"count": {
"albums": "{count} album|{count} album|{count} albums",
@@ -268,8 +269,7 @@
"pairing": "Remote Pairing",
"speaker-pairing-info": "If your speaker requires pairing then activate it below and enter the PIN that it displays.",
"speaker-pairing": "Speaker pairing and device verification",
- "verification-code": "Verification code",
- "verify": "Verify"
+ "verification-code": "Verification code"
},
"general": {
"audiobooks": "Audiobooks",
@@ -295,20 +295,19 @@
},
"services": {
"lastfm": {
- "grant-access": "Login with your Last.fm username and password to enable scrobbling",
+ "grant-access": "Login with your Last.fm username and password to enable scrobbling.",
"info": "OwnTone will not store your Last.fm username/password, only the session key. The session key does not expire.",
"title": "Last.fm",
"no-support": "OwnTone was built without support for Last.fm."
},
"spotify": {
+ "authorize": "Authorize API access",
+ "grant-access": "Grant access to the Spotify API.",
"no-support": "OwnTone was either built without support for Spotify or libspotify is not installed.",
- "logged-as": "Logged in as ",
- "requirements": "You must have a Spotify premium account. Access to the Spotify Web API enables scanning of your Spotify library. Required scopes are: ",
- "user": "Access granted for ",
- "authorize": "Authorize Web API access",
- "grant-access": "Grant access to the Spotify Web API",
- "reauthorize": "Please reauthorize Web API access to grant OwnTone the following additional access rights: ",
- "title": "Spotify"
+ "reauthorize": "Please reauthorize API access to grant OwnTone the following additional access rights: {scopes}.",
+ "requirements": "You must have a Spotify premium account. Access to the Spotify API enables scanning of your Spotify library. Required scopes are: {scopes}.",
+ "title": "Spotify",
+ "user": "Access granted for {user}"
},
"password": "Password",
"username": "Username"
diff --git a/web-src/src/i18n/fr.json b/web-src/src/i18n/fr.json
index 07cb4336..29577938 100644
--- a/web-src/src/i18n/fr.json
+++ b/web-src/src/i18n/fr.json
@@ -21,7 +21,8 @@
"send": "Envoyer",
"show-more": "Afficher plus",
"shuffle": "Lecture aléatoire",
- "update": "Actualiser"
+ "update": "Actualiser",
+ "verify": "Vérifier"
},
"count": {
"albums": "{count} album|{count} album|{count} albums",
@@ -268,8 +269,7 @@
"pairing": "Jumelage de télécommande",
"speaker-pairing-info": "Si votre enceinte nécessite un jumelage, activez-la ci-dessous et entrez le code PIN qu’elle affiche.",
"speaker-pairing": "Jumelage d’enceinte et vérification d’appareil",
- "verification-code": "Code de vérification",
- "verify": "Vérifier"
+ "verification-code": "Code de vérification"
},
"general": {
"audiobooks": "Livres audio",
@@ -301,14 +301,13 @@
"no-support": "L’option Last.fm n’est pas présente."
},
"spotify": {
- "no-support": "L’option Spotify n’est pas présente.",
- "logged-as": "Connecté en tant que ",
- "requirements": "Vous devez posséder un compte Spotify Premium. L’accès à l’API de Spotify permet l’analyse de votre bibliothèque Spotify. Les champs d’application requis sont les suivants :",
- "user": "Accès autorisé pour ",
"authorize": "Autoriser l’accès à l’API",
- "grant-access": "Accordez l’accès à l’API de Spotify",
- "reauthorize": "Veuillez autoriser à nouveau l’accès à l’API pour accorder à OwnTone les droits d’accès supplémentaires suivants :",
- "title": "Spotify"
+ "grant-access": "Accordez l’accès à l’API de Spotify.",
+ "no-support": "L’option Spotify n’est pas présente.",
+ "reauthorize": "Veuillez autoriser à nouveau l’accès à l’API pour accorder à OwnTone les droits d’accès supplémentaires suivants : {scopes}.",
+ "requirements": "Vous devez posséder un compte Spotify Premium. L’accès à l’API de Spotify permet l’analyse de votre bibliothèque Spotify. Les champs d’application requis sont les suivants : {scopes}.",
+ "title": "Spotify",
+ "user": "Accès autorisé pour {user}."
},
"password": "Mot de passe",
"username": "Nom d’utilisateur"
diff --git a/web-src/src/i18n/zh-CN.json b/web-src/src/i18n/zh-CN.json
index 8096655a..f4e4cc85 100644
--- a/web-src/src/i18n/zh-CN.json
+++ b/web-src/src/i18n/zh-CN.json
@@ -21,7 +21,8 @@
"send": "发送",
"show-more": "显示更多",
"shuffle": "随机播放",
- "update": "更新"
+ "update": "更新",
+ "verify": "验证"
},
"count": {
"albums": "{count} 张专辑|{count} 张专辑",
@@ -268,8 +269,7 @@
"pairing": "遥控配对",
"speaker-pairing-info": "如果您的扬声器需要配对,请在下面输入它显示的 PIN以激活",
"speaker-pairing": "扬声器配对和设备验证",
- "verification-code": "验证码",
- "verify": "验证"
+ "verification-code": "验证码"
},
"general": {
"audiobooks": "有声读物",
@@ -301,14 +301,13 @@
"no-support": "OwnTone的构建没有来自Last.fm的官方支持"
},
"spotify": {
+ "authorize": "授权 API 访问",
+ "grant-access": "授予对 Spotify API 的访问权限",
"no-support": "OwnTone的构建没有来自 Spotify 官方的支持,也未安装 libspotify",
- "logged-as": "登录为 ",
- "requirements": "您必须拥有 Spotify付费帐户。访问 Spotify Web API 可以扫描您的 Spotify库。所需范围是:",
- "user": "授予访问权限",
- "authorize": "授权 Web API 访问",
- "grant-access": "授予对 Spotify Web API 的访问权限",
- "reauthorize": "请重新授权 Web API 访问权限,以授予 OwnTone 以下附加访问权限:",
- "title": "Spotify"
+ "reauthorize": "请重新授权 API 访问权限,以授予 OwnTone 以下附加访问权限:{scopes}",
+ "requirements": "您必须拥有 Spotify付费帐户。访问 Spotify API 可以扫描您的 Spotify库。所需范围是:{scopes}",
+ "title": "Spotify",
+ "user": "授予访问权限 {user}"
},
"password": "密码",
"username": "用户名"
diff --git a/web-src/src/i18n/zh-TW.json b/web-src/src/i18n/zh-TW.json
index 971989ad..9618c139 100644
--- a/web-src/src/i18n/zh-TW.json
+++ b/web-src/src/i18n/zh-TW.json
@@ -21,7 +21,8 @@
"send": "發送",
"show-more": "顯示更多",
"shuffle": "隨機播放",
- "update": "更新"
+ "update": "更新",
+ "verify": "驗證"
},
"count": {
"albums": "{count} 張專輯|{count} 張專輯",
@@ -268,8 +269,7 @@
"pairing": "遙控配對",
"speaker-pairing-info": "如果您的揚聲器需要配對,請在下面輸入它顯示的 PIN以啓用",
"speaker-pairing": "揚聲器配對和設備驗證",
- "verification-code": "驗證碼",
- "verify": "驗證"
+ "verification-code": "驗證碼"
},
"general": {
"audiobooks": "有聲書",
@@ -301,14 +301,13 @@
"no-support": "OwnTone並無Last.fm的官方支持"
},
"spotify": {
+ "authorize": "授權 API 訪問",
+ "grant-access": "授予對 Spotify API 的訪問權限",
"no-support": "OwnTone並無 Spotify 官方的支持,也未安裝 libspotify",
- "logged-as": "登入為 ",
- "requirements": "您必須擁有 Spotify付費帳戶。訪問 Spotify Web API 可以掃描您的 Spotify庫。所需範圍是:",
- "user": "授予訪問權限",
- "authorize": "授權 Web API 訪問",
- "grant-access": "授予對 Spotify Web API 的訪問權限",
- "reauthorize": "請重新授權 Web API 訪問權限,以授予 OwnTone 以下附加訪問權限:",
- "title": "Spotify"
+ "reauthorize": "請重新授權 API 訪問權限,以授予 OwnTone 以下附加訪問權限:{scopes}",
+ "requirements": "您必須擁有 Spotify付費帳戶。訪問 Spotify API 可以掃描您的 Spotify庫。所需範圍是:{scopes}",
+ "title": "Spotify",
+ "user": "授予訪問權限 {user}"
},
"password": "密碼",
"username": "用戶名"
diff --git a/web-src/src/pages/PageSettingsRemotesOutputs.vue b/web-src/src/pages/PageSettingsRemotesOutputs.vue
index dfb014a6..e94c7558 100644
--- a/web-src/src/pages/PageSettingsRemotesOutputs.vue
+++ b/web-src/src/pages/PageSettingsRemotesOutputs.vue
@@ -34,9 +34,7 @@
-
+
@@ -46,7 +44,7 @@
/>
-
@@ -78,7 +76,7 @@
diff --git a/web-src/src/pages/PageSettingsWebinterface.vue b/web-src/src/pages/PageSettingsWebinterface.vue
index ff3d2cd5..d0734173 100644
--- a/web-src/src/pages/PageSettingsWebinterface.vue
+++ b/web-src/src/pages/PageSettingsWebinterface.vue
@@ -21,8 +21,8 @@
/>
-